新聞中心

STM32的啟動(dòng)過(guò)程

作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
由于微控制器上電之后沒(méi)有辦法定位Main函數(shù)的位置,因?yàn)樽兞亢秃瘮?shù)的地址都是由編譯器在編譯的時(shí)候自行分配的,所以Main函數(shù)的在微控制器內(nèi)部的位置是可變的,所以每個(gè)微控制器都有一個(gè)復(fù)位后到跳轉(zhuǎn)的到Main函數(shù)的過(guò)程,這個(gè)過(guò)程都是由啟動(dòng)文件來(lái)完成的,不管是51、AVR都有,有些時(shí)候是由開發(fā)環(huán)境自己提供了這樣的一個(gè)啟動(dòng)文件。我們只需管從Main函數(shù)開始的應(yīng)用程序即可,簡(jiǎn)化了我們的工作。

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

STM32微控制器中ST公司已經(jīng)幫我們完成了這樣一個(gè)啟動(dòng)文件的工作,不管是MTK環(huán)境還是IAR環(huán)境都已經(jīng)集成好了。新一代的Cortex的微控制器在啟動(dòng)方式上較ARM7/9都有較大的變化,ARM7/9中復(fù)位后從固定的地址(0x0)取出第一條指令并執(zhí)行復(fù)位中斷服務(wù)程序,但是中斷向量表的位置不是固定的。CortexM3則正好相反??梢酝ㄟ^(guò)配置boot引腳來(lái)選擇將中斷向量表置于Flash區(qū)還是Sram區(qū)。


MSP:SP_MAIN

注:PC的初始值是0x00000004指向的地址,程序是在ResetVector地址處開始執(zhí)行的。



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

評(píng)論


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

關(guān)閉