一.复制模板文件
1.新建文件夹准备文件位置
首先我们先确定工程目录。这里,我以 HAL_Nucleo为文件名,在该目录下新建5个文件夹。
CORE 启动文件以及关键头文件
HALLIB 主要驱动文件
OBJ 编译文件目录
Pro MDK工程文件目录
USER 用户文件目录
2.复制启动文件
找到库文件目录,以F0为例,该板子使用STM32F042K6芯片,故需要该系列芯片启动文件。
在目录 \STM32Cube_FW_F0_V1.9.0\Drivers\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm 下,寻找需要的型号,也可为了方便移植全部复制。
接着复制关键头文件 cmsis_armcc.h core_cm0.h core_cmFunc.h core_cmInstr.h core_cmSimd.h 。注意F0使用M0内核所以使用cm0而不选择其他。
这些文件在目录 \STM32Cube_FW_F0_V1.9.0\Drivers\CMSIS\Include 下,该目录下还有很多其他文件,不太清楚具体功能根据探索者的教程复制以上文件即可。
3.复制驱动文件
驱动文件大体分三类:
1.HAL库资源
2.对应芯片型号头文件
3.板级支持包BSP
其中BSP非必须文件,仅仅因为该板子为官方板,该文件提供板上资源的支持,若自行设计板子或不使用板载资源可不复制。
(1)STM32F0xx_HAL_Driver目录:
\STM32Cube_FW_F0_V1.9.0\Drivers\STM32F0xx_HAL_Driver
复制该目录下的.h文件夹Inc和.c文件夹Src。
(2)对应芯片型号
该板子为f0系列,f042k6。故把相关文件复制即可。若为了方便移植也可全部复制。文件在一下目录:
\STM32Cube_FW_F0_V1.9.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
(3)BSP资源
\STM32Cube_FW_F0_V1.9.0\Drivers\BSP\STM32F0xx_Nucleo_32
3.复制用户文件
用户文件为用户自行编写的文件,但main文件、中断服务文件可以从官方模板中复制,减轻开发压力。
目录:\STM32Cube_FW_F0_V1.9.0\Projects\STM32F042K6-Nucleo\Templates
至此模板文件复制结束。
二.建立工程
使用MDK5新建工程,注意保存在Pro目录下。
1.新建工程
注意首先选择对应芯片。
之后环境配置直接跳过即可,我们自行配置。
2.管理文件
下面选择管理文件,如图所示:
之后将所有.c文件与启动文件包含进来。如图所示操作即可
注意:STM32F0xx_HAL_Driver目录下有些文件是不需要的,需要将其删除!
(1)所有ll文件
*ll为HAL库的一个简洁版的库,这里我们不讨论,有关ll都删除即可
(2)有关template文件:
3.工程配置
点开魔法棒工具:
(1)时钟设置(貌似没什么用),选择8M
(2)输出文件配置,将输出文件全部放入OBJ目录下
(3)头文件配置
包括编译预处理和头文件。
Define下填写:
STM32F042x6,USE_STM32F0XX_NUCLEO_32,USE_HAL_DRIVER
以此确定使用哪些函数,对应芯片型号
其次将所有的.h目录全部包含,注意\HALLIB\STM32F0xx_HAL_Driver\Inc\Legacy目录不要落下!
(4)下载配置
配置为ST-Link下载,并注意F0Flash(一般默认即可)
选择Setting
*Reset and Run 方便调试
最后,编译、下载即可。