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

[复制链接]
3265|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

粉丝
快速回复 在线客服 返回列表 返回顶部