我正在尝试为STM32F103C8T6微控制器的第一个固件编写链接描述文件。我有一个有效的示例脚本。我试图理解的是,为什么它的工作原理。链接器脚本我定义了两个内存位置:MEMORY{ FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 32K}官方STM32编程手册第2.2节规定“代码”存储器部分以地址开头0x00000000。下一节是RAM,0x20000000就像我的链接器脚本中所说的那样。FLASH原点值0x08000000来自哪里?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
0x00000000是初始堆栈指针的地址,其中4bytes是要执行的第一条指令的地址。
在stm32上,映射到0x00000000的区域根据引导引脚设置而更改,以允许执行用户加载的代码或运行内置的引导加载程序。
一周热门 更多>