我用的是正点的STM32F767 来进行学习。之后的这个系列笔记开头未标明的话,用的也是这个板子。
六、新建HAL库工程模板
1、找到STM32CubeFX 固件包(X 为板子的型号)
将固件包解压  
2、新建工程目录,复制需要的文件到工程目录
-
新建一个文件夹,在文件夹中新建一个USER 文件夹、HALLIB 文件夹(外设库文件夹,放置HAL 库)、CORE 文件夹(启动文件夹,放置内核)、OBJ 文件夹(放置编译中介文件)  -
在固件包中找到图片中的文件  -
将Inc (外设程序头文件)、Src (外设程序源文件)文件夹放到HALLIB 文件夹中。  -
将startup_stm32f767xx.s (启动文件)放到CORE 文件夹中,  -
将内核头文件 文件放到CORE 文件夹中。  -
将顶层头文件 、主头文件 、源文件 放到USER 文件夹中。   
3、新建工程
-
在USER 文件夹里新建一个工程   -
按照自己板子的型号来选择创建类型  -
环境选项中选择Cancel  -
会发现文件夹中出现了一些文件,其中uvprojx 是打开文件 
4、在MDK中设置头文件存放路径
- 打开文件管理器,并将
启动文件 (startup_stm32f767xx.s )导入 
 
-
如果文件头像上有钥匙,就将启动文件 (startup_stm32f767xx.s )的只读属性取消勾选。    -
将其余几个文件夹和其中的.h 、.c 文件导入,文件类型选择All files 。  其中有几个.c 文件不需要,删除即可。  -
把带钥匙的文件取消只读 选项。    -
将头文件文件夹导入  
注:软件不会沿着目录向下寻找,所以所有头文件必须精确到根目录)
5、配置MDK:全局宏定义等
- 根据不同的板子、不同的工程将不同的
预编译全局宏定义标识符 输入  - 根据不同板子规格修改
外部晶振  - 勾选
生成HEX工程文件 选项  - 设置
编译中间文件 的存放目录 
6、编写用户函数
-
将main.h 中#include "stm32f7xx_nucleo_144.h" 删除  -
将main.c 函数中的内容删掉即可开始编程  -
程序需注意的地方 (1)程序末尾必须要有回车
7、修改修改相关文件参数适配开发板
- 在
HALLIB 文件夹中打开stm32f7xx_hal.h 下的stm32f7xx_hal_conf.h 找到#define HSE_VALUE ,将后面的晶振改成板子的晶振,我是用的板子晶振是25MHz ,所以把8000000U 改成25000000U   - 在
HALLIB 文件夹中打开stm32f7xx_hal.h 找到HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); ,将优先级分组从4 改为2 ,即HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_2); 
8、添加ALIENTEK 系统文件夹SYSTEM
- 在目标文件夹找到
SYSTEM 文件夹,将其拷到USER 和HEADER 所在的文件夹。  - 将其内的c文件依次导入
 - 将三个c文件的头文件坐在目录导入
 - 编译–成功
9、导入到开发板
详情参考另一篇笔记(STM32笔记)三、ST-LINK下载
|