完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我正在尝试为STM32F103C8T6微控制器的第一个固件编写链接描述文件。我有一个有效的示例脚本。我试图理解的是,为什么它的工作原理。 链接器脚本我定义了两个内存位置: MEMORY{ FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 32K}官方STM32编程手册第2.2节规定“代码”存储器部分以地址开头0x00000000。下一节是RAM,0x20000000就像我的链接器脚本中所说的那样。 FLASH原点值0x08000000来自哪里? |
|
相关推荐
4个回答
|
|
|
你有你的处理器的数据表和参考手册,数据表将有一个内存映射,显示闪存在0x08000000
|
|
|
|
|
|
嗯,实际上,数据表说0x00000000“根据引脚引脚别名闪存或系统内存”
|
|
|
|
|
|
链接编程手册显示了一个从0x00000000开始的代码区域,大小为0.5GB。该器件的数据表显示闪存为0x08000000以上。
0x00000000是初始堆栈指针的地址,其中4bytes是要执行的第一条指令的地址。 在stm32上,映射到0x00000000的区域根据引导引脚设置而更改,以允许执行用户加载的代码或运行内置的引导加载程序。 |
|
|
|
|
|
显然,该0x08000000值来自数据表第4节。内存区域从0x00000000“别名到闪存或系统内存,取决于引导引脚”,“闪存”开始0x08000000。
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:34 , Processed in 0.872915 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
464