新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32的啟動過程

        STM32的啟動過程

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

        本文引用地址:http://www.104case.com/article/201611/319694.htm

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


        MSP:SP_MAIN

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



        關鍵詞: STM32啟動過

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 灵宝市| 松滋市| 巴里| 探索| 崇信县| 廊坊市| 乌兰浩特市| 凉山| 曲麻莱县| 碌曲县| 四会市| 榆社县| 南皮县| 宁陵县| 广昌县| 麦盖提县| 河池市| 衢州市| 蓝山县| 灯塔市| 峡江县| 阜新市| 宁德市| 惠水县| 通海县| 河东区| 沂南县| 宜君县| 松潘县| 阿克苏市| 北京市| 巨鹿县| 中西区| 元朗区| 宾川县| 荔浦县| 通许县| 沂水县| 宁武县| 璧山县| 嘉荫县|