日期:2023-05-26 14:01:01 來源:面包芯語
前面寫了一篇 STM32的完整啟動(dòng)流程分析,但是感覺有些地方?jīng)]有完全理明白,因此對(duì)不清楚的地方又做了一些總結(jié)。
CPU上電啟動(dòng)后被設(shè)計(jì)為去地址0x00000000位置處讀取代碼;首先會(huì)連續(xù)讀取兩個(gè)字,分別是棧指針初始值和復(fù)位異常處理函數(shù)的地址;然后跳去執(zhí)行復(fù)位異常處理函數(shù)。
當(dāng)然在一些早期的ARM處理器設(shè)計(jì)中,如Arm7TDMI,復(fù)位后會(huì)直接讀取0地址處的代碼進(jìn)行執(zhí)行,由軟件初始化棧指針,0地址處存放的直接就是中斷處理函數(shù),而不是函數(shù)地址。所以我們可以有理由推測(cè)出,第一個(gè)字是棧地址是因?yàn)榻酉聛淼膹?fù)位中斷處理函數(shù)涉及函數(shù)跳轉(zhuǎn),可能已經(jīng)需要存放內(nèi)容在棧里了。
【資料圖】
答案是都可以。這其實(shí)取決于用戶的代碼是存放在哪里的。
比如說對(duì)于一些性能強(qiáng)的MCU(如Cortex-A系列)來說,代碼本身體積比較大,存放在SD卡里或者QSPI/SPI Flash里都有可能,這些MCU啟動(dòng)一定是先去bootROM執(zhí)行代碼,因?yàn)镾D卡、SPI Flash的儲(chǔ)存不在MCU的統(tǒng)一編址空間里,沒初始化這些外設(shè)前根本無法訪問,bootROM這塊Nor Flash就一定是可以被MCU直接通過總線地址訪問的,0地址的代碼位于bootROM中。代碼從bootROM中起來后,通過啟動(dòng)引腳判斷從哪個(gè)外設(shè)中搬用戶程序,并去初始化相應(yīng)外設(shè),將外設(shè)中存儲(chǔ)的用戶代碼搬到內(nèi)部SRAM中執(zhí)行。后續(xù)的啟動(dòng)流程不贅述。
對(duì)于一些小容量的MCU來說,比如Cortex-M3/M4,他們的芯片里有內(nèi)置Flash,這個(gè)Flash的特點(diǎn)跟上面說的bootROM很像,是MCU可以直接通過地址總線去訪問到的,不需要進(jìn)行外設(shè)初始化的。當(dāng)然,這些MCU內(nèi)部也是有bootROM的,因此這些MCU一上電可以選擇從bootROM中啟動(dòng),也可以選擇從內(nèi)置Flash中啟動(dòng),是通過外部引腳進(jìn)行選擇的,選擇了誰,就把誰的起始地址映射到0地址處。
這一點(diǎn)實(shí)際是通過編譯的鏈接文件制定的。比如說如下是我截取的IAR的鏈接文件.icf。
M7內(nèi)核芯片比較靈活了,改變了固定從0x0000 0000地址讀取中斷向量表的問題,以STM32H7為例,可以從 0x0000 0000 到 0x3FFF 0000 所有地址進(jìn)行啟動(dòng)。專門安排了個(gè)選項(xiàng)字節(jié)來配置。
定期以通俗易懂的方式分享嵌入式知識(shí),關(guān)注公眾號(hào),加星標(biāo),每天進(jìn)步一點(diǎn)點(diǎn)。
聲明:
本號(hào)原創(chuàng)、轉(zhuǎn)載的文章、圖片等版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除。
?
標(biāo)簽:
深入理解MCU啟動(dòng)原理-視點(diǎn)
英菲克i9八核線刷教程_英菲克i9八核刷機(jī)教程 動(dòng)態(tài)
怎么判斷雞蛋和黃瓜可以一起吃
強(qiáng)勁正青春!在寧波舟山港聆聽中國經(jīng)濟(jì)心跳聲|高質(zhì)量發(fā)展調(diào)研行·浙江站
這一次,“晚節(jié)不?!钡奶茋鴱?qiáng),怕要為33年前的選擇買單了
相交線與平行線_相交線 天天速讀
美聯(lián)儲(chǔ)6月加息與否概率如同“拋硬幣”
新資訊:聯(lián)想拯救者_(dá)聯(lián)想G460ALITHA
環(huán)球看熱訊:飛機(jī)駕駛室有監(jiān)控嗎_飛機(jī)駕駛室
【報(bào)資訊】許嵩睡粉后續(xù)?王一博的瓜?王鶴棣虞書欣二搭?吳宣儀掙了一個(gè)億?邢昭林帶新人?
每日信息:發(fā)油和發(fā)泥的區(qū)別(發(fā)油)
與神同行3最終審判上映時(shí)間_與神同行3什么時(shí)候上映|世界時(shí)訊
交易員再次完全消化了美聯(lián)儲(chǔ)將再次加息的預(yù)期 環(huán)球熱頭條
焦點(diǎn)滾動(dòng):超級(jí)臺(tái)風(fēng)“瑪娃”登陸美國關(guān)島北部 造成大面積停電;
有什么半成品加工項(xiàng)目適合做 (幾個(gè)農(nóng)村常見的半成品加工項(xiàng)目)
塘筆畫_堂筆畫|世界快訊
今日黃金期貨價(jià)格實(shí)時(shí)行情(2023年5月25日)
環(huán)球觀速訊丨安陽市舉行2023年防汛會(huì)商研判桌面推演
思哲睿6月1日上交所首發(fā)上會(huì) 擬募資20.3億元
熱搜第一!專家:“二陽”不要帶病上班!網(wǎng)友:不是我不想……
世界觀熱點(diǎn):泰嘉股份05月25日漲停分析
快訊鴻日達(dá)漲停 報(bào)于15.84元
“拜物名媛”章小蕙復(fù)制董潔“慢直播”模式 小紅書首秀熱度達(dá)6億-環(huán)球要聞
中國田徑協(xié)會(huì)D級(jí)教練員 中國田徑協(xié)會(huì)|環(huán)球速看
廣物控股集團(tuán)10億元超短期融資券將于6月1日兌付 利率2.3%-環(huán)球速訊