新聞中心

STM32的啟動過程

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

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

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


MSP:SP_MAIN

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



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

評論


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

關(guān)閉