|
我用的是正点的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下载
|