微控制器的啟動過程(從上電到main)

2021-08-04 21:50:03 字數 455 閱讀 2656

理解這篇文章之前,我們需要配合了解兩個基礎知識。

乙個是載入檢視和執行試圖,乙個是微控制器的儲存空間。

這篇文章會涉及兩個新內容,而載入檢視又涉及啟動**和scatter檔案。

所以通過整合環境講解啟動**總顯得力不從心。

這裡我們從編譯器和鏈結器開始講起。

1、c語言的編譯都是按照檔案進行編譯的,編譯完成後,每乙個.c檔案會生成相應的.o檔案,這個過程是編譯器(armcc)做的。

2、因為各個.o的資訊是分散的,函式變數都是們沒有統一編址的,所以lds鏈結器需要將各個.o檔案的資訊彙總到一起,就是code+ro+rw的位置,這就形成了載入檢視。

3、啟動**starts.s 做一些基礎工作外,根據scatter檔案的資訊 ,對rw進行搬移,搬移到ram中,方便後期的訪問。

4、搬移完成後,我們就可以訪問全域性變數了(這個時候全域性變數都是在ram裡的,我們通過map檔案看到的)

微控制器的啟動過程

參考部落格 微控制器記憶體 ram flash 與資料儲存和啟動過程說明 強推這篇部落格 啟動 通常都燒寫在flash中,它是系統一上電就執行的一段程式,它執行在任何使用者c 之前。上電後,arm處理器處於arm態,執行於管理模式,同時系統所有中斷被禁止,pc到位址0處取指令執行。乙個可執行映像檔案...

微控制器的冷 熱啟動

微控制器的復位常稱為冷啟動或是熱啟動,根據啟動要因的不同區分。冷啟動 掉電後的啟動 熱啟動 微控制器復位等 如何去判斷?微控制器掉電以後,在重新啟動後,ram中的資料應該都會被初始化為特定狀態。如何判斷當前的啟動時冷 熱啟動,從而對系統進行初始化設定。冷啟動一般會初始化所有的ram值。熱啟動會初始化...

微控制器多功能電子琴課設 基於51微控制器的電子琴設計

電子琴電路原理圖 電子琴設計元件清單 1.8歐0.25w小喇叭 2.8050三極體 2 3.10k電阻 2 4.30歐姆電阻 5.40腳座 6.stc89c51 7.10uf電容 8.30pf電容 2 9.小按鍵 8 10.自鎖開關 11.dc電源座 12.12m晶振 13.7 9萬用板 14.導線...