打印

求助能否在STM32的flash空间构建用户自己的引导程序

[复制链接]
2420|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ssgg2003|  楼主 | 2010-10-25 11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用STM32F103读两套外设器件,每套对应一个MDK工程且均已调通。现在因为硬件改版,两套外设将会合并到一块板子上。考虑过将相应的两个MDK工程合并,但发现任务量不小,而且两套器件所用的STM32接口存在资源冲突,无法同时工作,所以想请教一下能否将两个工程的目标文件下载到不同的flash空间。之后再在flash起始处放一个用户级别的引导程序,根据上电时的跳线设置来决定系统跳转到哪块目标文件。不知道这样行不行的通?如果在跳转之前只需要修改PC指针和中断向量表,感觉任务量明显比在代码级别融合两个工程小得多。多谢指教!
沙发
香水城| | 2010-10-25 11:11 | 只看该作者
可以。

使用特权

评论回复
板凳
ssgg2003|  楼主 | 2010-10-25 12:10 | 只看该作者
比如第一个工程放在0x8001000到0x8005fff。第二工程放在0x8006000到0x800afff。之后再整个bootloader放在0x8000000到0x8000fff。(之前尝试的结果都不会占满。)现在问题是不清楚目标文件在flash空间中是如何组织的。比如第一个工程的堆栈指针SP和起始PC指针值是多少呢?还有中断向量表放在何处?查了下ST的文档,貌似没有找到相关信息。之前尝试过在引导程序中强制跳到0x8001000,希望能执行第一个工程,结果应该是跑飞了。望指教!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

21

帖子

1

粉丝