首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

STM32启动文件详细解析(3)

STM32启动文件详细解析(3)

;*******************************************************************************
; User Stack and Heap initialization
;*******************************************************************************
                 IF      EF:__MICROLIB ;如果勾选了
               
                 EXPORT  __initial_sp
                 EXPORT  __heap_base
                 EXPORT  __heap_limit
               
                 ELSE
               
                 IMPORT  __use_two_region_memory  ; 两区堆栈空间,堆和栈有各自的空间地址
                 EXPORT  __user_initial_stackheap
                 
__user_initial_stackheap
; 此处是初始化两区的堆栈空间,堆是从由低到高的增长,栈是由高向低生长的,两个是互相独立的数据段,并不能交叉使用。
                 LDR     R0, =  Heap_Mem
                 LDR     R1, = (Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
                 LDR     R3, = Stack_Mem
                 BX      LR
                 ALIGN
                 ENDIF
                 END  ; END 命令指示汇编器,已到达一个源文件的末尾。
;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE*****
继承事业,薪火相传
返回列表