STM32 工程创建-- 使用Keil uVision5 软件
晓理紫
1 准备库函数库
STM32F10x_StdPeriph_Lib_V3.5.0
VX 搜索"晓丽紫"关注回复STM32F10x即可下载
2、创建一个目录用来存放工程
STM32Study
STM32Study/study1 存放本次工程目录
3、打开Keil uVision5 创建工程
4、选择型号(根据板子型号选择)
5、在工程中添加必要文件
5.1 、启动文件
启动文件位于库函数
STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
在工程文件目录中创建文件目录Start把启动文件中的文件考到工程文件中
5.2 拷外设寄存器描述文件和时钟文件
位于STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
也拷入到Start中
5.3 拷贝内存寄存器文件
位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
5.4 把必要文件加载到工程中
6、添加头文件路径
7、测试工程可用性
7.1 在工程中创建User存储main文件
创建组并改名为User
7.2 添加main文件
8、编写测试代码
#include "stm32f10x.h" // Device header
int main(void)
{
while(1)
{
}
}
9、错误处理
9.1 错误1
Build target 'Target 1'
Start/core_cm3.c(445): error: non-ASM statement in naked function is not supported
uint32_t result=0;
原因: 使用的编译版本太新
9.2 错误2
.\Objects\study2_1.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
原因:启动文件都加载进来了
当现实如图时工程可以使用了
10 debug,烧录调试
10.1 选择下降方式并设置下载复位执行
11、 使用库函数进行编程
11.1 拷贝库函数
创建Library目录并把\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver中src以及inc中的文件拷入
11.2 像上面一样添加Library组
11.3 添加库函数头文件包含关系的文件以及中断函数
位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 复制到User文件目录中