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

相关推荐
星夜夏空997 小时前
STM32单片机学习(32) —— ADC
stm32·单片机·学习
EllinY7 小时前
CF2217E Definitely Larger 题解
c++·笔记·算法·构造
nnsix8 小时前
JIT(即时编译)、 AOT(预先编译)、虚拟机CLR 笔记
笔记
NULL指向我8 小时前
Simplis仿真笔记1:Simplis_V8.4_x64安装过程
笔记
芯岭技术郦9 小时前
批量不到1元,芯岭技术集成 2.4G 射频32 位 MCU 与 USB2.0的超低功耗 SoC XL2417U
单片机·嵌入式硬件·射频工程
ouliten10 小时前
[Triton笔记6]层标准化
笔记
少年、潜行11 小时前
【开源】基于STM32的无线姿态检测仪设计
stm32·嵌入式硬件·开源·姿态检测仪
玄米乌龙茶12311 小时前
思维导图笔记:Prompt工程
笔记·prompt
zhangrelay12 小时前
ROS 2 Lyrical Luth启程-Ubuntu26.04-
linux·笔记·学习·ubuntu
Undergoer_TW12 小时前
SLAM实战避坑笔记:基础矩阵退化场景分析与解决方案
笔记·线性代数·矩阵