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

相关推荐
weixin_448119941 分钟前
Datawhale 大模型算法全栈基础篇 202602第1次笔记
笔记
柳鲲鹏3 分钟前
股市赚钱学概论:自序
笔记
烟花落o8 分钟前
算法的时间复杂度和空间复杂度
开发语言·数据结构·笔记·算法
麦德泽特35 分钟前
STM32与Linux的无缝协作:通过USB CDC/VCP实现高效数据交互
linux·stm32·单片机·嵌入式硬件·安全
良许Linux1 小时前
FPGA原理和应用
stm32·单片机·fpga开发·程序员·嵌入式·编程
清风6666661 小时前
基于单片机的夹具压力控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
Blue16°2 小时前
Day28:英语翻译 + 单词打卡
笔记
xian_wwq3 小时前
【学习笔记】OAuth 2.0 安全攻防:从 Portswigger 六大实验看认证漏洞挖掘
笔记·学习·安全
山野万里_3 小时前
B站DR_CAN【Advanced控制理论】课程笔记
笔记
2501_901147833 小时前
粉刷房子问题:从DP基础到空间极致优化学习笔记
笔记·学习·动态规划