Cotrex-m3运行FLASH内的代码流程问题

2019-07-25 12:25发布

所有问题都以STM32F103位例:
第一个问题:当STM32上电之后,内核的PC指针指向的地址是0X00000000,还是FLASH的主存储区地址0X800000
第二个问题:如果PC指针处于0X00000000,而程序的存储区在0X8000000,是不是内核在0X00000000~0X8000000什么都没干,一直等到PC指针执行到FLASH主存储区?
第三个问题:ST把FLASH映射到以0X8000000为起始的存储地址存储代码,如果同样的内核,不同厂商FLASH映射到内核上的地址不一样,程序的执行地址是不是也会不一样?
第四个问题:又或者是0X00000000存放的是MSP栈顶地址,0X00000004之后存放的中断向量表地址,内核得到地址之后,又跳转到FLASH的中断服务函数中执行程序,再执行主程序。

最近搞bootloader,所以想把程序的执行流程理清楚,希望讨论一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
taizonglai
1楼-- · 2019-07-25 13:10
 精彩回答 2  元偷偷看……
天空淡云
2楼-- · 2019-07-25 16:31
谢谢大佬,通过你的回答,很多问题都一下子清楚了,真心感谢了
DongInker
3楼-- · 2019-07-25 19:07
ARM可以说是开放ARM核的公司,芯片厂家要ARM公司授权试验arm核;
芯片厂家就是在ARM核4G(32位)的地址配置各个外设,并生成.S文件进行启动描述。

一周热门 更多>