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

相关推荐
集芯微电科技有限公司20 分钟前
替代HT1621B液晶驱动显示模块芯片程序演示
stm32·单片机·嵌入式硬件
Cathy Bryant1 小时前
线性代数直觉(四):找到特征向量
笔记·神经网络·考研·机器学习·数学建模
taxunjishu2 小时前
欧姆龙 NX1P2 借助 Ethernet/ip 转 Modbus RTU,与德马泰克设备共创仓库精准货位管理方案
人工智能·嵌入式硬件·物联网·工业物联网·工业自动化
012925202 小时前
1.1 笔记 html 基础 初认识
前端·笔记·html
DKPT2 小时前
JVM直接内存和堆内存比例如何设置?
java·jvm·笔记·学习·spring
sulikey3 小时前
Qt 入门简洁笔记:信号与槽
前端·c++·笔记·qt·前端框架·1024程序员节·qt框架
许商4 小时前
【stm32】【Freertos】config详解(1)
stm32·单片机·嵌入式硬件
报错小能手4 小时前
项目——基于C/S架构的预约系统平台(2)
linux·c语言·笔记·学习·架构
普中科技4 小时前
【普中DSP28335开发攻略】-- 第 7 章 F28335时钟及控制系统
单片机·嵌入式硬件·时钟·dsp28335·普中科技
9ilk4 小时前
【同步/异步 日志系统】 --- 前置技术
笔记·后端·其他·中间件