STM32啟動檔案深度解析

2022-06-18 17:06:13 字數 956 閱讀 7425

stack_size      equ     0x00000400

;定義棧空間大小為0x00000400,此語句等價於c:#define stack_size 0x00000400

area    stack, noinit, readwrite, align=3

;定義棧,,可讀寫,8位元組對齊

stack_mem       space   stack_size

;開闢一段大小為stack_size的記憶體空間作為棧

__initial_sp ;標號__initial_sp,表示棧空間頂位址

; heap configuration

;   heap size (in bytes) <0x0-0xffffffff:8>

; heap_size       equ     0x00000200

;定義堆空間大小為0x00000200個位元組

area    heap, noinit, readwrite, align=3

;定義堆,,可讀寫,8位元組對齊

__heap_base        

;標號__heap_base,表示堆空間起始位址

heap_mem        space   heap_size

;開闢一段大小為heap_size的記憶體空間作為堆。

__heap_limit        

;標號__heap_limit,表示堆空間結束位址

preserve8

;告訴編譯器以8位元組對齊

thumb

;定義唯讀資料段,實際上是在code區(假設stm32從flash啟動,則此中斷向量表起始位址即為

0x8000000)

export  __vectors

用 dcd 分配的字儲存單元是字對齊的,而用 dcdu 分配的字儲存單元並不嚴格字對齊。

以上內容源於網路資料以及個人理解的整理。

STM32啟動檔案深度解析

stack size equ 0x00000400 定義棧空間大小為0x00000400,此語句等價於c define stack size 0x00000400 area stack,noinit,readwrite,align 3 定義棧,可讀寫,8位元組對齊 stack mem space s...

STM32啟動檔案說明 解析

stm32f4處理器啟動檔案 bootloader 啟動檔案採用arm彙編程式設計。主要完成堆疊初始化 復位事件處理初始化 異常向量表的初始化等工作,並呼叫c庫 main函式進入基於c語言的主檔案中。在復位後,cortex m4處理器進入了執行緒模式 特權級,且使用主堆疊指標 msp 啟動檔案中輸入...

STM32 啟動檔案

先來看看啟動 中的偽操作和偽指令 equ 用於定義常量,相當於c中的巨集定義 如stack size equ 0x00000400 define stack size 0x00000400 align 位元組對齊方式 align 3 export 相當於宣告了乙個全域性變數 export vecto...