STM32F103C8T6_CMSIS-DAP_SWO 项目教程
1. 项目的目录结构及介绍
目录结构
STM32F103C8T6_CMSIS-DAP_SWO/
├── Core/
│ ├── Inc/
│ └── Src/
├── Drivers/
│ ├── CMSIS/
│ └── STM32F1xx_HAL_Driver/
├── .gitignore
├── LICENSE
├── Makefile
├── README.md
├── STM32F103C8T6_CMSIS-DAP_SWO.ioc
└── startup_stm32f103xb.s
目录介绍
- Core/: 包含项目的核心代码,分为头文件(Inc)和源文件(Src)。
- Inc/: 包含项目的头文件,如配置和接口定义。
- Src/: 包含项目的源代码文件,如主程序和功能实现。
- Drivers/: 包含硬件驱动相关的代码。
- CMSIS/: 包含ARM Cortex-M 内核和外设的接口。
- STM32F1xx_HAL_Driver/: 包含STM32F1系列HAL库的驱动代码。
- .gitignore: 指定Git版本控制系统忽略的文件和目录。
- LICENSE: 项目的开源许可证。
- Makefile: 用于编译项目的Makefile文件。
- README.md: 项目说明文档。
- STM32F103C8T6_CMSIS-DAP_SWO.ioc: STM32CubeMX项目配置文件。
- startup_stm32f103xb.s: 项目的启动文件。
2. 项目的启动文件介绍
启动文件
- startup_stm32f103xb.s: 这是一个汇编语言编写的启动文件,负责初始化堆栈、设置向量表、调用系统初始化函数和跳转到主程序。
主要功能
- 堆栈初始化: 设置堆栈指针。
- 向量表设置: 定义中断向量表,包括复位向量、NMI向量、硬故障向量等。
- 系统初始化: 调用
SystemInit
函数初始化系统时钟。 - 跳转到主程序: 调用
__main
函数,最终跳转到C语言编写的主程序。
3. 项目的配置文件介绍
配置文件
- STM32F103C8T6_CMSIS-DAP_SWO.ioc: 这是一个STM32CubeMX生成的项目配置文件,包含了项目的硬件配置和外设配置。
主要内容
- 时钟配置: 设置系统时钟、外设时钟等。
- 外设配置: 配置GPIO、UART、SPI等外设的工作模式和参数。
- 中断配置: 配置中断优先级和中断服务程序。
- 生成代码: 根据配置生成初始化代码和项目结构。
通过这个配置文件,开发者可以直观地配置硬件资源,简化开发流程。