STM32入门系列-复位程序

2018年05月05日 15:46    发布者:xyd嵌入式
   已经对启动文有了大致了解,再来看看系统在复位过程中做了哪些工作。复位程序如下:
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler
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()函数。更多嵌入式学习,欢迎咨询余工Q2859780203

网友评论

xyd521 2018年07月08日
信盈达嵌入式系统班开班通知
2018信盈达&嵌入式卓越工程师就业班开班通知
一、开课时间:2018年7月15号 30号
二、开课地点:南京、上海
全国中心:深圳/上海/南京/北京/济南/南宁/郑州/广州等各中心
三、班级名额:每个班标准15-30人之间
四、时间:4个半月
五、核心课程:
第一阶段:C语言高级编程+项目;3周
第二阶段:ARM-Cortex-M4+项目;STM32F407;5-6周
第三阶段:Linux高级驱动+项目;Cortex-A9/72;8周
第四阶段:Python+人工智能或C++.QT+项目;赠送课程
第五阶段:就业指导
联系人:余老师Tel
全国各中心同步开班