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

相关推荐
2301_800256119 分钟前
第七章 空间存储与索引 知识点梳理3(空间填充曲线)
数据库·笔记·sql·postgresql
2401_8534482311 分钟前
ESP8266蓝牙模块
stm32·蓝牙模块·esp8266
许商1 小时前
【stm32】【printf】
java·前端·stm32
LaoZhangGong1231 小时前
以太网HTTP数据包格式分析
c语言·stm32·网络协议·http·tcp·arp
凉凉的知识库1 小时前
书海拾遗:《枪炮、病菌与钢铁》
笔记·电子书
im_AMBER2 小时前
算法笔记 16 二分搜索算法
c++·笔记·学习·算法
摇滚侠2 小时前
2025最新 SpringCloud 教程,Nacos-总结,笔记19
java·笔记·spring cloud
在逃热干面2 小时前
(笔记)获取终端输出保存到文件
java·笔记·spring
leoufung2 小时前
逆波兰表达式 LeetCode 题解及相关思路笔记
linux·笔记·leetcode
云山工作室2 小时前
用于电动汽车的永磁同步电机调速系统建模与仿真(论文+)
stm32·单片机·嵌入式硬件·毕业设计·毕设