資料介紹
單片機(jī)在上電的時候會經(jīng)歷一個啟動的流程,不管是你從手冊描述上看得見的,還是看不見的,亦或者你不知道還有這種操作的,這個啟動都是客觀事實(shí)存在的,今天我們就用白話文來嘮一嘮 Cortex-Mx 系列的啟動流程(此文章知識廣泛適用于 CPU 為 Cortex-Mx 系列的 MCU)

如上圖為 STM32F0 系列單片機(jī)系統(tǒng)存儲器的映射圖(其他系列型號,映射圖會有區(qū)別,但流程還是一樣的),通常,當(dāng)處理器從復(fù)位中啟動時,它首先會訪問位于 0x0000 0000 地址處的向量表,這個向量表是什么?從哪里來?跟程序員又有什么關(guān)系?明確的講這幾個問題跟我們的啟動文件是緊密相關(guān)的。啟動文件就是對啟動流程的“展現(xiàn)”,啟動文件中包含了向量表(向量表中包含了堆棧指針地址、復(fù)位向量程序地址、以及系統(tǒng)中各類中斷函數(shù)的入口地址,簡單點(diǎn)講就是單片機(jī)啟動的時候得經(jīng)過這個向量表,執(zhí)行復(fù)位程序得經(jīng)過這個向量表,執(zhí)行中斷還得經(jīng)過向量表,從向量表中找中斷函數(shù)的入口地址)。當(dāng)然啟動文件也是由程序員寫的(只不過大多數(shù)由廠家的 Coder 代勞了)。下面我們一起來弄清楚 吧!

上圖為廠家參考手冊上給出的向量表的部分截圖,啟動文件中程序員編寫的向量表就是根據(jù)這個表格來編寫的,每一行為向量表的一個組成成員,第一行為表示堆棧指針初始值,第二個字為復(fù)位向量地址,后面的行是各種類型的中斷向量地址,也就是中斷函數(shù)的入口地址(在圖中第一個字被描述為保留,第二個字描述為復(fù)位,這兩行內(nèi)容非常重要?。?/span>
前面我們說了一個關(guān)鍵點(diǎn),當(dāng)處理器從復(fù)位中啟動時,它首先會訪問 0x00000000 地址處的向量表,并讀取向量表的前 2 個字,第一個字為堆棧指針 MSP 初始值(堆棧是一個臨時的空間,用來臨時存儲一些信息,就像電影里面的“龍門客?!币粯樱┻^往客人臨時歇腳。);第二個字為復(fù)位向量,它表示程序執(zhí)行的起始地址。當(dāng)讀取到該地址之后,會自動跳到復(fù)位向量處開始執(zhí)行程序(圖 2紅框處,最右邊的一列地址欄,第一行地址空間從 0x0000 0000 開始 - 0x00000003 結(jié)束,第二行從 0x0000 0004 開始-0x0000 0007 結(jié)束,后面以此類推,每行占 4 個字節(jié),即 1 個字)
但是比較暈的是:圖 1 中大家可以看到,地址 0x0000 0000 處已經(jīng)存在內(nèi)容了,是系統(tǒng) BOOT 的配置,這段內(nèi)容是廠家固化的一段代碼,我們寫的代碼是存儲在從 0x0800 0000 開始往后的地方,即 Main Flash Memory 存儲區(qū)(見圖 1)
那大家想我們寫的代碼(啟動文件也算寫的代碼的一部分),是放在 FLASH存儲區(qū)的,而單片機(jī)上電的時候是從 0x0000 0000 處開始執(zhí)行,那么系統(tǒng)是怎么訪問到我們自己寫的這個向量表呢?
完整版技術(shù)文檔請點(diǎn)擊文章開頭普通下載
- LLC的死區(qū)時間對DS波形的影響(可下載)
- VCC啟動電路(可下載)
- TI汽車設(shè)計套裝火熱申請開始啦!
- STM32芯片的命名規(guī)則
- 基于PM4020A驅(qū)動模塊的1200W開關(guān)電源 25次下載
- 通信工程師注意啦,57個LTE常見面試問答請收好資料下載
- 關(guān)于Cortex-M3的中斷優(yōu)先級描述資料下載
- 70種電子元器件及芯片封裝類型資源下載 102次下載
- 示波器眼圖怎么看,搞清楚這4點(diǎn)就容易啦!資料下載
- Cortex-M3(M0)匯編-啟動代碼分析資料下載
- Cortex-M3 NVIC與中斷控制資料下載
- Cortex-M3里GPIO幾個概念必須搞清楚資料下載
- 模擬工程師口袋參考書分享下載 15次下載
- 關(guān)于Cortex-M3內(nèi)核芯片LPC1754開發(fā)的工程文件和程序免費(fèi)下載 6次下載
- Cortex M3權(quán)威指南(中文) 6次下載
- 恩智浦i.MX RT1170 uSDHC eMMC啟動時間 788次閱讀
- 有沒有比Xshell更牛逼的工具? 735次閱讀
- i.MX RT1xxx從SD/eMMC啟動 1441次閱讀
- 分析ARM Cortex-M內(nèi)核復(fù)位啟動過程 2676次閱讀
- 美信cortex-m3內(nèi)核芯片的啟動過程及連接文件介紹 1755次閱讀
- i.MX RT10xx系列外部晶振相關(guān)引腳的作用 1597次閱讀
- 詳解MCU的SD/eMMC卡啟動 6646次閱讀
- 基于無線調(diào)制解調(diào)芯片MX919芯片實(shí)現(xiàn)高速無線MODEM的方案設(shè)計 2774次閱讀
- 米爾科技改內(nèi)核調(diào)整GPIO在內(nèi)核啟動階段方案 2939次閱讀
- 米爾科技恩智浦i.MX8M與i.MX8M Mini的區(qū)別 6969次閱讀
- 慶科信息技術(shù)MX1290/MX1290V2 3565次閱讀
- USB接口為i.MX6處理器下載固件無法啟動的解決方法 1528次閱讀
- 你還在為擠地鐵、公交而煩惱嗎?這里有你想象的 2909次閱讀
- 舊手機(jī)寧可放在家里不用,也千萬不要亂丟,可能會泄露信息 1.1w次閱讀
- i.MX RT1052芯片的核心板,性能和代碼詳細(xì)資料概述 2.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論