STM32工程模板创建(基于HAL库手把手教程)
目录
1.工程环境
2.工程模板的创建
1)首先在桌面新建一个文件夹,命名建议用英文命名
2)在建立的文件夹当中创建以下文件
3.在官网上下载固件包,解压打开提供的固件包
1)配置我们的CMSIS文件
(1)打开Drivers文件夹
(2)双击点开CMSIS文件
(3)找到include文件
2)配置我们的Core文件
(1)返回到CMSIS文件下找到Device文件
(2)双击点开include文件
(3)双击点开Source文件
(4)再点开arm文件夹
这里介绍一下x6,xb,xe,xg的区别:
3)配置我们的Drivers
(1)返回到固件库当中的Drivers目录下
(2) 双击点开STM32F1xx_HAL_Driver文件
(3)复制Inc和Src文件
4.keil5创建工程
1)在CMSIS文件当中
2)在Core文件当中
3)在Drivers文件当中
4)配置环境
5)在下方添加文件名称
5.解决报错
1)首先点击编译
2)在USER文件下
自此工程模板创建完成
1.工程环境
1)芯片名称:STM32F103C8T6
2)编译器:keil5
2.工程模板的创建
固件库下载(官网链接):STMCU中文官网
1)首先在桌面新建一个文件夹,命名建议用英文命名
2)在建立的文件夹当中创建以下文件
1.CMSIS
2.Core
3.Drivers
4.USER
5.MDK-ARM
注:文件文件名称可以改变
3.在官网上下载固件包,解压打开提供的固件包
这里就不介绍各个文件的用途,可以自己去了解一下。
1)配置我们的CMSIS文件
(1)打开Drivers文件夹
(2)双击点开CMSIS文件
(3)找到include文件
(这里为了防止我们少添加某个文件我建议全部复制)把这些文件复制到我们的CMSS文件当中
2)配置我们的Core文件
(1)返回到CMSIS文件下找到Device文件
一直双击打开直到STM32F1xx文件下
(2)双击点开include文件
复制这三个文件到我们的Core文件当中
(3)双击点开Source文件
一直点击到下面这个文件
复制system_stm32f1xx.c文件到Core当中
(4)再点开arm文件夹
把这个文件复制到我们的Core当中
这里介绍一下x6,xb,xe,xg的区别:
x6.s适用于小容量 产品;xb.s适用于中等容量产品;xe适用于大容量产品;xg适用于超大容量产品
这里的容量是指FLASH的大小.判断方法如下:
小容量:16K<=FLASH≤32K
中容量:64K≤FLASH≤128K
大容量:256K≤FLASH<=512k
超大容量:768K≤FLASH<=1024K
请大家根据不同芯片容量大小确定自己的文件(这里以STM32F103C8T6为例)
3)配置我们的Drivers
(1)返回到固件库当中的Drivers目录下
(2) 双击点开STM32F1xx_HAL_Driver文件
(3)复制Inc和Src文件
将这两个文件复制到Drivers文件下
这样固件库里面的文件就复制完成了,接下来创建keil5
4.keil5创建工程
点开这个图标
点击这里新建
创建这三个名称(建议与前面文件名称一致)
1)在CMSIS文件当中
把之前复制过来的文件全部添加进来
2)在Core文件当中
在Core文件当中添加刚刚在Core文件复制的五个文件添加进来
(操作方法与上述相同)
3)在Drivers文件当中
在这个文件当中添加自己需要的.c.h文件,但是stm32f1xx_hal_conf.h和stm32f1xx_hal_cortex.h文件必须添加
添加后的文件图片如下
点击OK
4)配置环境
点击魔术棒
点开c/c++(AC6)框
输入USE_HAL_DRIVER,STM32F103xB(注意中间是英文格式下的逗号)
5)在下方添加文件名称
这里一定要添加到每个文件的具体文件夹下
点击OK
5.解决报错
1)首先点击编译
可以看到4个报错,70个警告
个人的解决办法是:
修改这三个,可以解决70个警告
2)在USER文件下
新建一个main.c文件
这四个报错,就是前面忘记添加stm32f1xx_hal_cortex.c文件,添加进来之后少了三个报错
另外一个报错,是因为没有main函数入口
添加之后,报错全部消失
自此工程模板创建完成
作者:2301_81076941