基于标准库的STM32开发模板

时间记录:2023/11/26

一、STM32资料的下载

    1.Cortex-M3 技术参考手册
    2.STM32F1x数据手册
    3.STM32固件库使用手册
    4.STM32F10x标准外设库,官网地址:标准外设库地址
    三个手册都可以在网络上搜到,需要PDF的文档可私信本人领取,同样标准库需要的也可以私信领取,本人使用3.6.0版本

二、工程模板搭建

1.创建一个文件夹用来保存工程
2.打开MDK软件,选择Project,在子选项中点击New uVision Project选项
基于标准库的STM32开发模板_第1张图片
3.选择一下工程要保存的位置,我是在第一步新建的文件夹下又新建了一个User文件夹进行保存,然后输入一下文件名,点击保存
基于标准库的STM32开发模板_第2张图片
4.选择一下板子,这个硬件支持包是在安装MDK的时候安装的,默认只会有一个ARM的硬件支持包,可以点开下面的板子,一步步展开选择对应的板子,也可以在Search输入框中直接输入板子的名字进行查询,选择好板子后点击OK按钮
基于标准库的STM32开发模板_第3张图片
5.创建工程目录,点击下方图片红色框框出来的组件基于标准库的STM32开发模板_第4张图片
6.弹出框的Groups框后面四个按钮分别对应,新建组、删除组、选中组上移,选中组下移,双击框中的组名,修改名字,在这里新建几个组,分别命名为User、CMSIS、FWLIB、MYAPP,创建完毕后点击OK
基于标准库的STM32开发模板_第5张图片
7.在项目保存文件夹中新建几个文件夹CMSIS、FWLIB、MYAPP和OBJ,然后MYAPP和FWLIB文件夹下分别新建文件夹inc和src用来保存标准库和自己编写的驱动文件的头文件和源文件
基于标准库的STM32开发模板_第6张图片
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文件夹下
基于标准库的STM32开发模板_第7张图片
9.打开之前创建的工程项目,在添加组的那个选项框中将.s文件和.c文件添加到CMSIS组中,先点击组名选择组,然后点击Add Files…按钮选择文件添加,添加完毕后点击OK按钮
基于标准库的STM32开发模板_第8张图片
10.在User文件夹下创建main.c文件,并将文件添加到User组中,双击添加到组中的main.c文件开始编辑,输入以下代码

#include "stm32f10x.h"

int main()
{
	return 0;
}

11.添加头文件路径到项目工程中,点击小扳手 --> c/c++ --> Include Paths后面的…选择.h文件的路径进行添加
基于标准库的STM32开发模板_第9张图片
12.配置编译中间文件路径和输出hex文件,小扳手 --> Output --> Select Folder for Objects按钮点击然后选择编译中间文件输出目录,Create HEX File选项勾选上生成hex文件,然后点击OK
基于标准库的STM32开发模板_第10张图片
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位置
基于标准库的STM32开发模板_第11张图片
16.将stm32f10x_it.c文件中的头文件引用处的main.h文件的引用删除或者注释掉
基于标准库的STM32开发模板_第12张图片
17.将stm32f10x_conf.h文件中对于标准库的引用全部注释掉,后续开发时使用到哪个标准库先拷贝标准库的头文件和源文件到FWLIB文件夹对应文件夹下,然后在stm32f10x_conf.h文件中将注释取消掉进行引用
基于标准库的STM32开发模板_第13张图片
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’,但是项目文件夹中的这个文件不要删除
基于标准库的STM32开发模板_第14张图片
办法2:降低编译器版本,点击魔术棒 -->Target --> ARM Compiler,将版本从6降到5
基于标准库的STM32开发模板_第15张图片

你可能感兴趣的:(STM32,stm32,嵌入式硬件)