内部Flash读写——STM32F103RCT6

运行添加Flash读写前的程序,通过.map文件查看程序占用了Flash多少空间。

=========================================================
Memory Map of the image //存储分布映像

Image Entry point : 0x08000131
/*程序ROM加载空间*/
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000017a8, Max: 0x00080000, ABSOLUTE)
/*程序ROM执行空间*/
Execution Region ER_IROM1 (Base: 0x08000000, Size: 0x0000177c, Max: 0x00080000, ABSOLUTE)
/*地址分布列表*/
Base Addr    Size         Type   Attr      Idx    E Section Name        Object

0x08000000   0x00000130   Data   RO            3    RESET               startup_stm32f10x_hd.o
0x08000130   0x00000000   Code   RO          479  * .ARM.Collect$$$$00000000  mc_w.l(entry.o)
0x08000130   0x00000004   Code   RO          742    .ARM.Collect$$$$00000001  mc_w.l(entry2.o)
/*...此处省略大部分内容*/
0x0800173a   0x00000022   Code   RO          490    i._printf_core      mc_w.l(printfb.o)
0x0800175c   0x00000020   Data   RO          782    Region$$Table       anon$$obj.o

加载空间:CODE + RO(const变量或字符串常量)+ RW-data已初始化的数据
执行空间:CODE + RO
因为上电后,RW-data已初始化的数据被从Flash搬运到了RAM,所以执行空间会略小

以加载空间为依据,Size: 0x000017a8 = 6056B < 6KB ,查阅《STM32F10xxx闪存编程参考手册》可知,F103RCT6的Flash为256KB,属于大容量产品,其Flash的一页大小为2K,所以仅使用前3页,页0~页2,便可以存储程序,剩余的部分,即页3~页127,可以用于其他用途。

参考
野火:48. 读写内部FLASH

posted @   中庭之园  阅读(3111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
点击右上角即可分享
微信分享提示