新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 解析STM32的啟動(dòng)過程

解析STM32的啟動(dòng)過程

作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
當(dāng)前的嵌入式應(yīng)用程序開發(fā)過程里,并且C語言成為了絕大部分場(chǎng)合的最佳選擇。如此一來main函數(shù)似乎成為了理所當(dāng)然的起點(diǎn)——因?yàn)镃程序往往從main函數(shù)開始執(zhí)行。但一個(gè)經(jīng)常會(huì)被忽略的問題是:微控制器單片機(jī))上電后,是如何尋找到并執(zhí)行main函數(shù)的呢?很顯然微控制器無法從硬件上定位main函數(shù)的入口地址,因?yàn)槭褂肅語言作為開發(fā)語言后,變量/函數(shù)的地址便由編譯器在編譯時(shí)自行分配,這樣一來main函數(shù)的入口地址在微控制器的內(nèi)部存儲(chǔ)空間中不再是絕對(duì)不變的。相信讀者都可以回答這個(gè)問題,答案也許大同小異,但肯定都有個(gè)關(guān)鍵詞,叫“啟動(dòng)文件”,用英文單詞來描述是“Bootloader”。

無論性能高下,結(jié)構(gòu)簡繁,價(jià)格貴賤,每一種微控制器(處理器)都必須有啟動(dòng)文件,啟動(dòng)文件的作用便是負(fù)責(zé)執(zhí)行微控制器從“復(fù)位”到“開始執(zhí)行main函數(shù)”中間這段時(shí)間(稱為啟動(dòng)過程)所必須進(jìn)行的工作。最為常見的51,AVR或MSP430等微控制器當(dāng)然也有對(duì)應(yīng)啟動(dòng)文件,但開發(fā)環(huán)境往往自動(dòng)完整地提供了這個(gè)啟動(dòng)文件,不需要開發(fā)人員再行干預(yù)啟動(dòng)過程,只需要從main函數(shù)開始進(jìn)行應(yīng)用程序的設(shè)計(jì)即可。

本文引用地址:http://butianyuan.cn/article/201611/316283.htm

話題轉(zhuǎn)到STM32微控制器,無論是keil
uvision4還是IAR EWARM開發(fā)環(huán)境,ST公司都提供了現(xiàn)成的直接可用的啟動(dòng)文件,程序開發(fā)人員可以直接引用啟動(dòng)文件后直接進(jìn)行C應(yīng)用程序的開發(fā)。這樣能大大減小開發(fā)人員從其它微控制器平臺(tái)跳轉(zhuǎn)至STM32平臺(tái),也降低了適應(yīng)STM32微控制器的難度(對(duì)于上一代ARM的當(dāng)家花旦ARM9,啟動(dòng)文件往往是第一道難啃卻又無法逾越的坎)。



關(guān)鍵詞: STM32啟動(dòng)過

評(píng)論


技術(shù)專區(qū)

關(guān)閉