STM32启动过程

298 阅读1分钟

STM32启动过程

启动工程文件整体包含关系

image.png

start_up.s启动文件

  1. 规定了栈的大小,堆的大小,
  2. 留出了各个中断向量需存储的空间,建立了向量表
  3. 先调用SystemInit函数
    • 初始化系统时钟
    • 初始化向量表,重定位内部flash的矢量表位置
  4. 再调用main函数(可将main改名成你想的函数名,则先从你起的函数名执行)
    • main函数调用
    • 内核寄存器描述文件,外设寄存器描述文件
      • 汇编函数,对内部寄存器进行直接操作
    • 库函数
      • 对各个外设寄存器的操作进行函数封装
    • 库函数配置文件
      • 描述宏定义一些寄存器的基地址
      • 结构体参数
  5. 中断函数的入口地址向量表=>当有中断服务函数的函数名字与启动文件中的预留向量表的名字相同的弱函数被重写->则将重写的中断服务函数的入口地址存入向量表中
  6. 初始化了堆栈