STM32F103闪存起始地址

2019-07-14 17:36发布




我正在尝试为STM32F103C8T6微控制器的第一个固件编写链接描述文件。我有一个有效的示例脚本。我试图理解的是,为什么它的工作原理。链接器脚本我定义了两个内存位置:MEMORY{    FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K    RAM (rwx)  : ORIGIN = 0x20000000, LENGTH = 32K}官方STM32编程手册第2.2节规定“代码”存储器部分以地址开头0x00000000。下一节是RAM,0x20000000就像我的链接器脚本中所说的那样。FLASH原点值0x08000000来自哪里?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
sjjs001
2019-07-15 00:32
链接编程手册显示了一个从0x00000000开始的代码区域,大小为0.5GB。该器件的数据表显示闪存为0x08000000以上。

0x00000000是初始堆栈指针的地址,其中4bytes是要执行的第一条指令的地址。

在stm32上,映射到0x00000000的区域根据引导引脚设置而更改,以允许执行用户加载的代码或运行内置的引导加载程序。

一周热门 更多>