PLUG1:工程文件架构

一、基本工程文件结构

1. 寄存器开发

image-20251116143520122

  1. startup_stm32f10x_md.s:F1系列中容量产品对应的启动文件
  2. core_cm3.c和core_cm3.h:ARM Cortex-M3内核寄存器描述文件
  3. stm32f10x.h:外设寄存器描述文件
  4. system_stm32f10x.c和system_stm32f10x.h:系统配置文件

2. 标准库开发

image-20251116144306633

  1. .\Library:标准库函数文件

  2. stm32f10x_conf.h:用来配置库函数头文件的包含关系,其内包含了所有库函数头文件

    在stm32f10x.h内有包含stm32f10x_conf.h的条件编译语句。因此,在使用库函数时,只需要包含stm32f10x.h即可

  3. stm32f10x_it.c和stm32f10x_it.h文件:用来存放中断函数

三、STM32启动流程

Step1. STM32上电复位/按键复位

此时内核处于已知状态:

  • PC = 0x0000 0000
  • 所有寄存器为默认值,Flash 等待周期按出厂设定

1. 硬件复位序列(芯片自动完成)

Step2. 取第一个字:主堆栈顶(MSP)

内核从 0x0000 0000 读出 32 位数值(也就是4个字节),装入 MSP(该值实际存放在 Flash 0x0800 0000,通过地址别名映射到 0x0000 0000。)

Step3. 取第二个字:复位向量

从 0x0000 0004 读出 Reset_Handler (程序的入口)地址,跳转到该地址,开始执行用户代码

2. 运行启动文件

Step4. 调用SystemInit:初始化闪存接口、锁相环、更新系统内核的时钟变量

Step5. 调用main

image-20250802140122897

其它中断在达到触发条件后就会自动执行

posted @ 2025-11-16 15:01  LI,Yi-han  阅读(16)  评论(0)    收藏  举报