欢迎入群共同学习交流
时间记录:2023/11/26
一、STM32资料的下载
1.Cortex-M3 技术参考手册
2.STM32F1x数据手册
3.STM32固件库使用手册
4.STM32F10x标准外设库,官网地址:标准外设库地址
三个手册都可以在网络上搜到,需要PDF的文档可私信本人领取,同样标准库需要的也可以私信领取,本人使用3.6.0版本
二、工程模板搭建
1.创建一个文件夹用来保存工程
2.打开MDK软件,选择Project,在子选项中点击New uVision Project选项
3.选择一下工程要保存的位置,我是在第一步新建的文件夹下又新建了一个User文件夹进行保存,然后输入一下文件名,点击保存
4.选择一下板子,这个硬件支持包是在安装MDK的时候安装的,默认只会有一个ARM的硬件支持包,可以点开下面的板子,一步步展开选择对应的板子,也可以在Search输入框中直接输入板子的名字进行查询,选择好板子后点击OK按钮
5.创建工程目录,点击下方图片红色框框出来的组件
6.弹出框的Groups框后面四个按钮分别对应,新建组、删除组、选中组上移,选中组下移,双击框中的组名,修改名字,在这里新建几个组,分别命名为User、CMSIS、FWLIB、MYAPP,创建完毕后点击OK
7.在项目保存文件夹中新建几个文件夹CMSIS、FWLIB、MYAPP和OBJ,然后MYAPP和FWLIB文件夹下分别新建文件夹inc和src用来保存标准库和自己编写的驱动文件的头文件和源文件
8.打开下载的标准库,将标准库下的Libraries/CMSIS/CM3/CoreSupport文件夹下的core_cm3.h和core_cm3.c文件,还有Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x文件夹下的stm32f10x.h、system_stm32f10x.h和system_stm32f10x.c文件,以及Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm文件夹下的startup_stm32f10x_md.s文件拷贝到项目目录的CMSIS文件夹下
9.打开之前创建的工程项目,在添加组的那个选项框中将.s文件和.c文件添加到CMSIS组中,先点击组名选择组,然后点击Add Files…按钮选择文件添加,添加完毕后点击OK按钮
10.在User文件夹下创建main.c文件,并将文件添加到User组中,双击添加到组中的main.c文件开始编辑,输入以下代码
#include "stm32f10x.h"
int main()
{
return 0;
}
11.添加头文件路径到项目工程中,点击小扳手 --> c/c++ --> Include Paths后面的…选择.h文件的路径进行添加
12.配置编译中间文件路径和输出hex文件,小扳手 --> Output --> Select Folder for Objects按钮点击然后选择编译中间文件输出目录,Create HEX File选项勾选上生成hex文件,然后点击OK
13.点击第二个编译按钮进行编译,查看输出0ERROR和0Waring,到这里便弄好了寄存器版本的开发模板
14.将下载的标准库Project/STM32F10x_StdPeriph_Template文件夹下的stm32f10x_it.c、stm32f10x_it.h和stm32f10x_conf.h文件复制到项目文件夹的CMSIS文件夹下,并将.c头文件添加到项目工程中
15.stm32f10x_h文件中的最下面有一个宏USE_STDPERIPH_DRIVER,将这个宏添加到魔术棒 --> c/c++ --> Define位置
16.将stm32f10x_it.c文件中的头文件引用处的main.h文件的引用删除或者注释掉
17.将stm32f10x_conf.h文件中对于标准库的引用全部注释掉,后续开发时使用到哪个标准库先拷贝标准库的头文件和源文件到FWLIB文件夹对应文件夹下,然后在stm32f10x_conf.h文件中将注释取消掉进行引用
18.到这里就完成了基于标准库的STM32开发模板
三、文件介绍
startup_stm32f10x_xx.s:启动文件,后缀hd:大容量设备,md:中容量设备,ld:低容量设备
stm32f10x.h:STM32外设寄存器描述文件,定义了寄存器和外设的映射地址
system_stm32f10x.c:配置系统时钟的文件
core_cm3.c:内核寄存器的映射地址定义
stm32f10x_conf.h:配置库函数头文件引用关系
stm32f10x_it.c:存放中断函数
四、配置到寄存器模板进行编译的时候可能会出现core_cm3.c文件的四个报错解决办法
办法1:将工程中添加的core_cm3.c文件remove掉,右键这个文件,出现选项,选择Remove File ‘core_cm3.c’,但是项目文件夹中的这个文件不要删除
办法2:降低编译器版本,点击魔术棒 -->Target --> ARM Compiler,将版本从6降到5