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

相关推荐
QiZhang | UESTC几秒前
InstructGPT_论文精读笔记
人工智能·笔记·深度学习
yu8593958几秒前
STM32 控制 W5500 以太网传输程序
stm32·单片机·嵌入式硬件
念一不念二1 分钟前
【SSD】三维闪存 异步时序 同步时序
嵌入式硬件
xian_wwq4 分钟前
【学习笔记】探讨大模型应用安全建设系列7——安全评测与红队测试
笔记·学习·安全
LCG元7 分钟前
STM32实战:基于STM32F103的车内防窒息系统(红外检测+GSM报警)
stm32·单片机·嵌入式硬件
_李小白12 分钟前
【Android车载学习笔记】第四天:AAOS系统架构
android·笔记·学习
XTIOT66613 分钟前
俄罗斯诚信标签Chestny ZNAK技术约束分析与智能化应对思路
大数据·人工智能·嵌入式硬件·物联网
Upsy-Daisy14 分钟前
AI Agent 项目学习笔记(十):文件操作、终端执行与 PDF 生成工具
笔记·学习·pdf
一只大袋鼠16 分钟前
SpringBoot 初学阶段知识点汇总(一)
spring boot·笔记·后端
ゆづき17 分钟前
AI能否替代小说作家?
人工智能·笔记·学习·其他·生活