STM32堆栈大小及位置

来源:互联网 发布:怎么自学javascript 编辑:程序博客网 时间:2024/06/05 08:36

STM32的地址空间映射:


首先STM32的堆栈是存放在片上静态SRAM中的,地址分配可以见Keil的编译map文件:

HEAP  0x200106f8  Section  512  startup_stm32f2xx.o(HEAP) 
STACK  0x200108f8  Section  1024  startup_stm32f2xx.o(STACK)

__heap_base  0x200106f8  Data  0  startup_stm32f2xx.o(HEAP) 
__heap_limit  0x200108f8  Data  0  startup_stm32f2xx.o(HEAP) 
__initial_sp  0x20010cf8  Data  0  startup_stm32f2xx.o(STACK)


上面节选中, __heap_base 是堆的基地址,__initial_sp  是栈指针 。示意图如下:



堆和栈的大小在启动文件startup_stm32f2xx.s中设置:

Stack_Size  EQU  0x00000400


AREA  STACK, NOINIT, READWRITE, ALIGN=3 
Stack_Mem  SPACE  Stack_Size 
__initial_sp


; Heap Configuration 
;  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> 


Heap_Size  EQU  0x00000200


AREA  HEAP, NOINIT, READWRITE, ALIGN=3 
__heap_base


注意:

堆和栈,一般堆是由低地址往上增长,栈是由往下减少。都是连续的,C语言不提供内存保护机制类似的功能,如果一直堆一直增长,栈一直申请,然后就会导致栈溢出,程序崩溃。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 乔家栅 乔家大院原馆长被查 乔家大院在哪 乔家孕事限荷包 乔家大院简介 神曲乔家小桥 乔家大院重开 乔家大院旅游 乔家孕事限全文阅读 乔家小桥作品 乔家大院门票 乔家孕事by一只繁缕 乔家真实历史简介 乔家后人现状 山西乔家大院 乔家大院全集 破戒乔家小桥 王家大院和乔家大院哪个好 乔家孕事全文阅读 乔家孕事全文免费阅读5 乔家大院全集免费观看 乔家大院门票多少钱 乔家大院被摘牌 乔家孕事popo未和谐 乔家大院为什么被摘牌 乔家大院演员表 乔家大院商业街图片 乔家大院为什么摘牌 乔家大院景区 乔家大院怎么被取消 乔家大院图片 山西乔家大院被摘牌 乔家金街旅游 乔家大院被降级 乔家大院被取消景区 乔家大院被拆 孙茂才被赶出乔家大院 乔山 乔山什么字 乔山墓园 乔山椭圆机