stm32内存分配博客笔记

原文:
stm32内存分配

笔记:

1、向量表与代码段;根据Cortex-M3权威指南描述,系统复位后,在向量表异常0处保存的是堆栈起始地址,而后紧跟中断向量表

2、可以从链接脚本.ld文件中看到终端向量表第一个被链接进FLASH里,其后紧跟代码段.text;

3、FLASH和RAM的内存分配

4、在STM32中堆和栈没有明显的界限,他们共用._user_heap_stack段起始地址到RAM最大地址这个范围内的所有空间,但是堆是从最小地址开始使用的,每次申请地址累加,栈是从最大地址开始使用的,每次地址累减,但是只要他们的地址没有重叠,程序永远也跑不飞,可是一旦两者所占用地址重叠,会导致不可预料的后果。栈占用堆,会导致堆内所存数据被破坏,堆占用栈会导致代码异常;

5、未初始化的全局变量被分配在.bss段,因为它们没有初始值,所以它们在FLASH里不占空间 ,但是他们在程序运行后,在.data被加载进RAM后同样也被加载进RAM里,加载方式就是把.bss段大小的RAM空间清0

相关推荐
avocado_green6 分钟前
【考驾照】科目一备考笔记(个人手工整理,非AI生成)
笔记
见行AGV机器人12 分钟前
AGV中工控机有什么用?
单片机·嵌入式硬件·非标定制agv·agv控制器
KWTXX26 分钟前
TouchGFX 4.21.2 Designer与keil的联合使用【图形化】
单片机·嵌入式硬件
雾岛听蓝1 小时前
Qt操作指南:状态栏、浮动窗口与对话框使用
开发语言·经验分享·笔记·qt
sweetone1 小时前
迷你电吹风速修
经验分享·嵌入式硬件
APIshop1 小时前
小红书笔记视频详情接口深度解析:smallredbook.item_get_video_pro
数据库·笔记·音视频
y = xⁿ1 小时前
MySQL学习笔记:乐观锁VS悲观锁/八股总结
笔记·学习·mysql
d111111111d1 小时前
STM32-UART抽象层封装
笔记·stm32·单片机·嵌入式硬件·学习
chushiyunen1 小时前
notion(模块化数字工作台)笔记
笔记·notion
沃虎Chinty-031 小时前
工程师笔记:三大磁性元器件(共模电感/一体成型电感/CHIP LAN)选型要点与实战避坑
单片机·嵌入式硬件