3.stm32啟動流程
4.最小啟動配置(加個雞腿)
可執行程式 -> cpu執行第一條使用者**
這個流程中著重講述的是hex檔案如何被燒寫到stm32內部的指定位址處。(燒寫到stm32中的可執行檔案不僅只有hex格式,還有axf、bin。針對不同格式的可執行檔案,用不同的工具進行燒寫)。
cpu執行第一條使用者** -> 呼叫__main函式
這裡需要注意一下,__main是c庫中的乙個函式,和main函式是有區別的!!!
上圖中的彙編關鍵字最好記住,因為比較常用。
關於stm32啟動檔案的描述,可以去看下我之前寫過的一篇部落格。
stm32之啟動檔案的詳解
在此基礎上,我們繼續深入一點。
stm32啟動檔案中使用dcd指令的目的是:達到4gb全範圍跳轉
ldr 指令只能跳到當前pc 4kb 範圍內,而b指令能跳轉到32mb範圍。
stm32啟動檔案中使用b . 語句的作用就是:防止程式跑飛
***:觸發了乙個未知中斷的時候會卡死在中斷服務函式中,以至於你幾乎都找不到!!!
注意:中斷服務函式全部都是在啟動檔案中已經定義好了,如果在外部檔案中定義中斷服務函式,名稱要和事先已經定義好的中斷服務函式的名稱一樣,函式名稱的不同代表著位址的不同,因為函式名稱本質就是位址!!!stm32啟動檔案大致描述
注意:當程式編譯完成之後,sp棧頂指標就已經確定了。
stm32–code、ro-data、rw-data和zi-data
stm32啟動流程
注意:設定好sp,就可以執行使用者程式
最小啟動配置
STM32啟動流程
先闡述乙個問題,嵌入式應用程式以c語言為主,因此main函式成為程式執行的起點,但是我們忽略了乙個問題 mcu 微控制器 微控制器 上電之後,是如何尋找並執行main函式的呢?stm32晶元自帶的啟動方式有3種,通過設定boot1 boot0的引腳的高低電平即可選擇。系統儲存器啟動是將程式寫入到一塊...
linux開機啟動詳細流程
一 bios 加電自檢 當你按電源開關開機時,電腦會首先去啟動bios 基本輸入輸出系統 bios一般是整合在主機板上的.bios 的工作 1.檢測連線硬體,比如顯示卡,記憶體,磁碟等等,檢測的目的是以後把這些裝置資訊提供給作業系統 2.尋找啟動磁碟,每一種bios都會有開機啟動選單,可以在選單裡設...
stm32如何執行軟復位 STM32啟動檔案
我們日常使用的嵌入式應用程式開發中都是編寫c c 語言,我們平時編輯乙個工程的話,只用從main函式開始編輯,微控制器程式也是從這個函式開始進行執行的。但是微控制器上電後是如何尋找到並執行main函式的呢?我們其實都會在心裡有乙個答案 啟動檔案 還記得我們當初配置第乙個stm32工程的時候在工程中新...