Appearance
使用固件库
相关文件
- 初始化汇编文件, startup_stm32f10x_hg.h
设置堆栈指针, 设置PC指针, 初始化中断向量表, 配置系统时钟, 调用C库函数_main最后进入C语言环境
- 时钟配置文件
stm32f10x.c: 把外部时钟HSE经过PLL倍频设置为72MHz
- 外射相关
stm32f10x.h实现了外射寄存器映射
stm32f10x_xx.c:外设的驱动库函数
stm32f10x_xx.h:外设的初始化结构体, 初始化结构体的成员参数列表, 驱动外设库函数声明
- 内核相关
CMSIS-Cortex 微控制器接口标准
core_cm3.h实现内核寄存器映射
core_cm3.c
控制NVIC(嵌套向量中断控制器), SysTick(系统滴答定时器)
misc.h
misc.c
- 头文件配置文件
stm32f10x_config.h头文件的头文件
一般包含在stm32f10x.h的最后面
在编译器的宏里面进行定义
- 存放中断服务的文件
stm32f10x_it.h
stm32f10x_it.c
中断服务函数可以放在其他地方, 不一定放在这个文件
文件夹分析
第一个是logo
project是工程文件
第四个是评估板例程
Project
- Template工程模板
- Example使用例程
Libraries库文件
- CMSIS: Cortex-M处理器使用的硬件抽象层,它不依赖于任何特定的厂商。它提供了一个标准化的接口,用于访问Cortex-M微控制器上的硬件外设和功能。
- CM3
- CoreSupport: 实现内核外设寄存器
- DeviceSupport/ST/STM32F10x: 实现相关寄存器映射
- startup: 初始化文件
- Documentation: 相关的文档
- STM32F10x_StdPeriph_Driver标准库函数
- inc外设相关的头文件
- src对应的c文件
移植
创建文件夹, 之后在Project文件夹下面添加项目
添加下面几个组
- 开始复制库文件
多余文件删除
剪切到根目录
之后删除原来的文件夹, 核心文件相同
删除CM3, 把startup中不需要的文件删除, 其他复制到根目录下面
在User目录下面创建mian.c
这时候没有存放中断的文件stm32f10x_it.h以及stm32f10x_config.h
从例程中复制过来\Project\STM32F10x_StdPeriph_Template
- 回到工程目录
添加c文件
- 添加头文件
启用头文件中宏定义
使用C语言的库