新聞中心

        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啟動過

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 富民县| 盘山县| 邛崃市| 潞城市| 定边县| 桐乡市| 英山县| 上思县| 绥宁县| 临桂县| 东源县| 瑞昌市| 南汇区| 天祝| 汶川县| 东兰县| 济宁市| 丽水市| 枣强县| 福贡县| 石城县| 西藏| 中牟县| 昌黎县| 中宁县| 都昌县| 敦煌市| 北票市| 大渡口区| 通州市| 通江县| 沙湾县| 南开区| 如东县| 阜南县| 进贤县| 广东省| 平果县| 梅州市| 漯河市| 沙洋县|