STM32啟動檔案分析

2021-10-02 08:14:31 字數 489 閱讀 2135

1.  啟動檔案主要作用:

a.初始化指標大小

b.初始化堆指標大小

c.初始化中斷向量表

d.初始化系統時鐘

e.呼叫__main,實現堆疊的初始化,最終跳轉到c的main當中

2.  棧主要儲存程式的變數,當程式變數較多時,可以將棧分配的更大,但不能超過內部sram的大小

mdk中,全域性變數和區域性變數都儲存在sram中,但是區域性變數儲存在程式在sram上劃分的棧內,

全域性變數直接儲存在sram中,所以當區域性變數過大時,可以改為全域性變數,或者啟動檔案的棧改大

在**執行**現硬體錯誤,記憶體溢位等,常為棧錯誤,或者flash溢位

3.   注意定義的中斷服務函式一定要跟中斷向量表的函式一致,否則會出錯,進入死迴圈

stm32啟動檔案分析

這篇文章主要是分析stm32啟動檔案,啟動檔案是由彙編編寫的,檔名為startup stm32f40 41 s。啟動檔案最主要的功能就是初始化堆疊指標sp,執行復位程式進入c語言main函式 1.初始化堆疊空間大小,定義棧頂位置 堆起始位置等等 2.定義中斷向量表,初始化sp指標 3.reset h...

STM32 啟動檔案

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

stm32啟動檔案

這是st提供的3個啟動檔案,分別適用於不同容量的stm32晶元。這三個檔案為 startup stm32f10x ld.s startup stm32f10x md.s startup stm32f10x hd.s 其中,ld.s適用於小容量 產品 md.s適用於中等容量產品 hd適用於大容量產品 ...