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条回答
hgimtk
1楼-- · 2019-07-14 23:27
嗯,实际上,数据表说0x00000000“根据引脚引脚别名闪存或系统内存”
sjjs001
2楼-- · 2019-07-15 00:32
链接编程手册显示了一个从0x00000000开始的代码区域,大小为0.5GB。该器件的数据表显示闪存为0x08000000以上。

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

在stm32上,映射到0x00000000的区域根据引导引脚设置而更改,以允许执行用户加载的代码或运行内置的引导加载程序。
hgimtk
3楼-- · 2019-07-15 03:08
 精彩回答 2  元偷偷看……

一周热门 更多>