娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

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

發布者:tau29最新更新時間:2024-10-31 來源: elecfans關鍵字:GD32  main函數 手機看文章 掃描二維碼
隨時隨地手機看文章

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


關鍵字:GD32  main函數 引用地址:GD32 MCU啟動后如何運行到main函數

上一篇:【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載
下一篇:如何對GD32 MCU進行加密?

推薦閱讀最新更新時間:2025-06-07 23:47

C語言main函數的標準定義
學過C語言的人都知道,main函數是程序啟動的入口函數,每一個C語言程序里有一個main函數,在程序里它是唯獨一個不能被其他函數調用的特殊函數。在眾多的 單片機 C語言編譯器里對main函數的寫法都沒有明確的要求,寫法非常自由,可以寫成帶形參的函數,也可以寫成無形參的函數,還可以寫成返回值為任意數據類型的函數。通用的寫法都是:void main () {…}。而根據C99標準的要求,main函數是一個有返回值的函數,而且返回值類型必須為int。下面這段英文描述是從C99標準的PDF文檔上復制下來的: 5.1.2.2.1 Program startup The cal LED at program startup is
[單片機]
DSP編程技巧之21---在main函數運行之前,你需要知道的
  在一個 C/C++ 程序能正常運行之前,相關的 C/C++ 運行時(run-time)環境首先要正確建立。在CCS軟件編程的情況下, C/C++ 的實時運行庫RTS的源程序庫rts.src中包含了名為boot.c或者boot.asm的啟動程序(在一些TI的例子里,則使用了CodeStartBranch.asm來完成啟動工作,它會自動調用庫文件中的boot.asm),用于在系統啟動后調用c_int00函數,并通過其中的操作來完成運行時環境的建立。通常情況下,c_int00函數位于rts2800.lib庫函數中的boot.obj(即TI官方編譯boot.c或者boot.asm生成的目標文件)下,這也就是為什么我們在C2
[嵌入式]
DSP編程技巧之21---在<font color='red'>main</font><font color='red'>函數</font>運行之前,你需要知道的
PIC單片機的PWM波的簡單調制+proteus仿真實現直流電機的啟動
前言:該篇文章主要是給剛入門的新人看的,自己也是昨天通過PIC 16F877A調出的一的PWM波。關于什么是PWM波我就不在贅述,這個需要小伙伴自己去查資料了。 主要內容:在這里主要是講利用PIC單片機自身集成的硬件模塊去調PWM波,而不是通過I/O口的模擬。 需要的一些工具:MPLAB X IDE(編程軟件) proteus(仿真軟件) 芯片手冊。 1.我們需要了解的下圖的意思。 從圖可以看出,在TMR2與CCPRxH比較時,是用來復位的,意思是在計數值等于CCPxH時復位,(用來確定脈沖的寬度)。 在TMR2與PR2比較時,是用來置位,意思是在計數等于PR2時置位,也是將TMR2計數寄存器清零,并且反轉CC
[單片機]
PIC<font color='red'>單片機</font>的PWM波的簡單調制+proteus仿真實現直流電機的<font color='red'>啟動</font>
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 白朗县| 新泰市| 白山市| 灵丘县| 盐池县| 宁城县| 武鸣县| 南开区| 新野县| 璧山县| 深水埗区| 枞阳县| 喜德县| 唐海县| 邳州市| 无棣县| 梅州市| 吴江市| 休宁县| 密云县| 安图县| 南安市| 东至县| 永泰县| 高雄县| 阿瓦提县| 健康| 龙胜| 武强县| 孟村| 富川| 固始县| 连平县| 华安县| 合水县| 夹江县| 远安县| 英吉沙县| 西平县| 牡丹江市| 威宁|