工程模板的选择:手动搭建
开始接触H7系列单片机是入手的某原子的H7开发板,在学习的过成中发现程序会出现很多意想不到的问题,
经过调试发现,历程提供的工程模板版本太旧,很很多库文件都还没有未完成。基础的学习可以轻松使用,
但是深度的开发就会暴露很多的问题,最好还是自己手动搭建模板。
获取最新版本的HAL库的最好方法是通过STM32CubeMX导出程序文件在根据自己的使用风格进行工程模板的搭建。以MDK为例。
- 软件新建一个工程——选择H7系列对应的单片机型号:本模板使用H743IITx
- 建立工程目录:习惯使用某原子的风格
- 添加文件,使用ST官方的最新固件库,如果没有资源可以通过STM32CubeMX生成。
在CORE文件夹中我们添加如下文件:
实际的工程文件夹中添加如下文件;文件可以在ST提供的固件库Drivers文件夹下的CMSIS文件夹中找到。
SYSTEM文件夹可以直接使用某原子的原文件,简单方便。
HALLIB文件就一定要使用最新的固件库,具体路径为:Drivers\STM32H7xx_HAL_Driver\Src;将文件夹下的C文件添加,可根据自己的工程应用需求添加(亲身经历,发现老的文件内容不全,导致功能无法实现)
USER文件中添加
工程文件添加
HARDWARE文件用于存放自己的编写的外设内容及配置文件,另做描述。
工程编译前还需要进行参数配置!
使用ARMV5 编译 (V6版本更快,还在探索中) 勾选微库;调整内存大小
C/C++选项卡中如下配置:
宏定义:USE_HAL_DRIVER, STM32H743xx
main.c文件中添加
#include "sys.h"
int main(void)
{
}
编译工程!
第一次编译会可能会很慢 需要几分钟!这是ARM V5编写器的缺点,后续开发使用VScode 进行开发需要使用此工程模板。
如果在添加HALLIB文件夹时选择了全部的文件,编译会出现报错!结局办法如下:
1,HAL库的文件都是stm32h7xx_hal_xxx.c命名,移除所有stm32h7xx_hal_XXX_template.c的特殊文件
2.只保留部分LL库文件stm32h7xx_ll_fmc.c;stm32h7xx_ll_sdmmc.c;stm32h7xx_ll_usb.c;stm32h7xx_ll_delayblock.c
如果编译还是报错 请根据提示修改。