吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GD32 MCU啟動后如何運行到main函數

聚沃科技 ? 2024-01-15 10:00 ? 次閱讀

GD32 MCU啟動后如何運行到main函數入口?你是否也有這樣的疑慮。在執行到main函數之前MCU干了哪些事情呢?下面為大家解答。

MCMCU上電后,首先會根據BOOT0和BOOT1的狀態判斷從主Flash/SRAM/ISP中啟動,如果BOOT0為低電平,MCU將會從主Flash中啟動,即主Flash中的數據會被映射到0x0000 0000地址,ARM處理器將會從0x0000 0000地址獲取棧頂指針,再從0x0000 0004獲取復位中斷入口地址(引導代碼基地址),如下圖所示,我們隨便打開一個bin文件,前4個字節為MSP堆棧指針,之后四個字節為復位中斷入口地址,之后為中斷向量表。

wKgZomWkkZ-AXdcaAADF2Kcmzuc258.png

MCU找到堆棧指針和復位中斷入口地址之后,將會加載執行復位中斷,復位中斷函數定義在.s啟動文件中,具體定義如下所示,進入到復位中斷函數中之后,首先執行SystemInit系統初始化函數,該函數主要為系統時鐘配置函數,之后跳轉到main函數進行執行,也就是說在執行到main函數之前,已經進行了系統時鐘配置。執行完復位中斷函數之后,MCU將會進入到main函數進行執行。

;/* reset Handler */ Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT SystemInit IMPORT __main LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0 ENDP

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44622

    瀏覽量

    638533
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17317

    瀏覽量

    352640
  • GD32
    +關注

    關注

    7

    文章

    413

    瀏覽量

    24469
收藏 人收藏

    評論

    相關推薦

    GD32E230F6燒錄無法運行main函數,為什么?怎么解決?

    GD32E230F6燒錄無法運行main函數,裝了官網下載的keil pack插件,燒錄算法只有64k和128k選擇,是否因為沒有32k燒
    發表于 11-15 06:41

    GD32 MCU入門教程】GD32 MCU GPIO 結構與使用注意事項

    本文是專門為基于GD32 MCU開發的工程設計人員提供,主要介紹了GPIO的功能配置、內部結構以及在不同場景使用時的注意事項,旨在幫助GD32 MCU開發者優化對通用型輸入輸出端口(G
    的頭像 發表于 09-07 10:34 ?913次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> GPIO 結構與使用注意事項

    GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發表于 08-25 09:24 ?740次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> FPU 使用方法

    GD32如何替換STM32

    GD32替換Stm32注意事項
    發表于 08-23 11:31 ?4次下載

    GD32 MCU 入門教程】GD32 MCU 常見外設介紹(14)RTC 模塊介紹

    GD32 MCU內部提供了一個RTC(實時時鐘)模塊,通過RTC可以實現日歷時鐘、鬧鐘等功能。RTC也可以用于深度睡眠或待機模式的低功耗喚醒。不同系列的GD32 MCU在RTC設計和功
    的頭像 發表于 08-23 09:18 ?581次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設介紹(14)RTC 模塊介紹

    GD32 MCU 入門教程】GD32 MCU 常見外設介紹(12)FMC 模塊介紹

    閃存控制器(FMC),提供了片上閃存需要的所有功能。FMC 也提供了頁擦除,整片擦除,以及32 位整字或 16 位半字編程閃存等操作。 GD32 MCU 支持不同類型編程的具體說明如下表 GD32
    的頭像 發表于 08-21 09:56 ?1303次閱讀
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常見外設介紹(12)FMC 模塊介紹

    GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(3)脫機燒錄

    大部分主流的燒錄器廠商均支持GD32 MCU的燒錄,如ELNEC、致遠電子、貸鋪科技、希爾特、邁斯威志、軒微、天津威磊、Segger、芯園電子、北極星電子等燒錄器廠商。燒錄方式分別有SWD和ISP
    的頭像 發表于 08-08 17:44 ?1343次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】二、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 燒錄說明(3)脫機燒錄

    GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載

    GD32系列MCU支持SWD和JTAG(部分型號不支持)接口進行下載調試,這些功能通過ARM CoreSight組件的標準配置和鏈狀連接的TAP控制器來實現的。調試和跟蹤功能集成在ARM
    的頭像 發表于 08-08 17:34 ?807次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】二、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 燒錄說明 (2)SWD/JTAG在線下載

    GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(1)ISP 燒錄

    ISP:In System Programing,在系統編程,通過MCU片內的引導程序進行Flash編程。 GD32片內有一個只讀信息塊,用于存放引導裝載程序,引導程序在MCU出廠前就會提前燒錄好
    的頭像 發表于 08-08 16:20 ?1151次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】二、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 燒錄說明(1)ISP 燒錄

    GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(3)使用 Embedded Builder 開發 GD32

    GD32系列為通用型MCU,所以開發環境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據個人喜好來選擇相應的開發環境。
    的頭像 發表于 08-08 16:03 ?1132次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 開發環境搭建(3)使用 Embedded Builder 開發 <b class='flag-5'>GD32</b>

    GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(2)使用 IAR 開發 GD32

    GD32系列為通用型MCU,所以開發環境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據個人喜好來選擇相應的開發環境。
    的頭像 發表于 08-08 15:40 ?813次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 開發環境搭建(2)使用 IAR 開發 <b class='flag-5'>GD32</b>

    GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(1)使用Keil開發GD32

    GD32系列為通用型MCU,所以開發環境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據個人喜好來選擇相應的開發環境。
    的頭像 發表于 08-08 15:01 ?1432次閱讀
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入門教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 開發環境搭建(1)使用Keil開發<b class='flag-5'>GD32</b>

    GD32F427 bootloader添加rt-thread系統,跳轉到app沒有執行main()函數是怎么回事?

    MCU:GD32F427 bootloader是自己寫的 裸機使用沒問題,可以正常轉跳到APP上,執行main() 在APP上移植了rt-thread操作系統 啟動的時候可以打印出l
    發表于 07-11 06:31

    GD32 ADC轉換時間如何計算?

    GD32 MCU當前產品的ADC都是SAR ADC,它有著轉換速度快,精度高的優點,剛好適合在一些需要快速ADC轉換的場合使用,比如電機應用。那么小伙伴們知道如何計算GD32 ADC的轉換時間嗎?
    的頭像 發表于 03-04 09:33 ?2508次閱讀
    <b class='flag-5'>GD32</b> ADC轉換時間如何計算?

    GD32 MCU ISP失敗的原因

    玩過GD32的小伙伴們都知道,GD32 MCU支持ISP,即在系統編程,前面的常見問題也給大家講過什么是ISP,什么是IAP?那有沒有小伙伴遇到過ISP失敗的情況,失敗的原因是什么呢?
    的頭像 發表于 02-28 09:23 ?1575次閱讀
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> ISP失敗的原因
    百家乐门户网站| 路劲太阳城业主论坛| 金沙网上娱乐城| 信誉百家乐官网博彩网| 百家乐有哪几种| 澳门百家乐战法| 大发888赌博违法吗| 百家乐官网闲和庄| 赌百家乐澳门| 网上合法赌博网站| 逍遥坊百家乐官网的玩法技巧和规则 | 百家乐官网赌机玩法| 怎么看百家乐路单| 百家乐官网有哪几种| 百家乐官网在线赌场娱乐网规则 | 海盐县| 做生意养猫风水| 大发888真钱娱乐场| 镶黄旗| 百家乐正网包杀| 新葡京官网| 百家乐中的概率| 五湖四海娱乐| 百家乐最长的缆| 美高梅娱乐| 百家乐如何玩法| 8大胜| 678百家乐官网博彩赌场娱乐网规则 | CEO百家乐现金网| 新皇冠娱乐城| 百家乐有赢钱公式吗| 汶川县| 百家乐赌场详解| 百家乐官网太阳城开户| 百家乐网上最好网站| 太子娱乐城官网| 百家乐程序软件| 博彩百家乐官网龙虎| 全讯网353788| 好望角百家乐官网的玩法技巧和规则| 尊爵|