[其他ST产品] 复位程序

[复制链接]
677|0
 楼主| grfqq325 发表于 2024-3-31 17:43 | 显示全部楼层 |阅读模式
已经对启动文有了大致了解,再来看看系统在复位过程中做了哪些工作。复位程序如下:

; Reset handler

Reset_Handler PROC

EXPORT Reset_Handler [WEAK]

IMPORT SystemInit

IMPORT __main

LDR R0, =SystemInit

BLX R0

LDR R0, =__main

BX R0

ENDP

在复位程序内,声明了外部文件标号SystemInit和__main(__main 是一个标准的C语言库函数,用于初始化用户堆栈,最终还是进入main),因此需要在外部文件中按照这个标号名写出对应的函数,否则编译器将报错。在库文件system_stm32f10x.c内就写了SystemInit()函数;在main.c 文件内也写了一个main()函数。所以主函数是main这个名字。

系统复位后进入复位函数,首先调用SystemInit()函数,初始化STM32系统时钟,然后再进入我们熟悉的main()函数。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

687

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部