GD32 MCU启动后如何运行到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堆栈指针,之后四个字节为复位中断入口地址,之后为中断向量表。
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

PLC编程语言有哪些特点和形式
口香糖手电筒diy制作图解
边缘计算的"军备竞赛"阶段 网宿科技当如何异军突起?
通过功能隔离断开接地环路减少数据传输错误
JANTX1N5770 Diode Array 60V 0.3A 10-Pin CFPAK Tube
GD32 MCU启动后如何运行到main函数
太龙照明:提升照明产品的创新科技属性,深化高科技领域的产业布局
认识FXGP与PLC
美光MX500系列SSD:64层3D TLC NAND闪存,性价比高
中国联通获批重耕900MHz
OSPF的四种接口网络类型
无人机运送人体器官飞行数公里,并且不会造成器官损坏
在工业化和信息化深度融合过程中,云计算将助力工业企业获得利益
疫情对于以后的网络带来了什么影响
台积电预计2021年资本支出为275亿美元
女性权利倒数:机器人索菲娅为何在沙特获公民身份
CE、RE测试问题排查以及解决方案的分享
美国正计划为芯片制造商提供约250亿美元补贴
华为首款基于AMD平台的台式机上线
奥迪量产车中选用Altera SoC FPGA,实现“导航驾驶”功能