作为一个小白,在看原子和野火1的教程的时候,在新建工程这里总是有些不明白,到底要把哪些文件从官方库中放到自己的工程文件夹下,这些文件又有什么作用。经过多次实践,我找到了最简单的方法,直接拷贝官方的文件夹,让keil根据代码中的头文件自己去寻找对应的文件。只需三大步骤创建工程。
一、在硬盘中创建工程文件
1.创建自己的工程文件夹 NewPro,NewPro
下继续新建文件夹 Project
(一会keil5新建工程保存在这里),User
(放用户代码main.c啥的)
2.下载ST官方的HAL库函数,我这里用的是 STM32Cube_FW_F4_V1.23.0
,版本不同原理相同。 将
路径: STM32Cube_FW_F4_V1.23.0\Drivers
Drivers 文件夹整个复制到NewPro ,然后将
路径: STM32Cube_FW_F4_V1.23.0\Projects\STM32F429I-Discovery\Templates\Src
路径: STM32Cube_FW_F4_V1.23.0\Projects\STM32F429I-Discovery\Templates\Inc
Src文件夹内所有.c文件和 Inc文件夹内所有的.h文件都复制到NewPro\User 中
你的NewPro文件夹看起来应该是这个样子:
NewPro
├─Drivers
│ ├─BSP
│ │ └─ (略)
│ ├─CMSIS
│ │ └─ (略)
│ └─STM32F4xx_HAL_Driver
│ └─ (略)
├─Project
│ ├─DebugConfig
│ ├─Listings
│ └─Objects
│ └─ (略)
└─User
├─main.c
├─main.h
├─stm32f4xx_hal_conf.h
├─stm32f4xx_hal_msp.c
├─stm32f4xx_it.c
├─stm32f4xx_it.h
└─system_stm32f4xx.c
二、在keil工程中添加文件
1.安装好Keil.STM32F4xx_DFP.2.13.0.pack
,没有这个东西就没有芯片选型,然后在keil5中新建工程,工程保存到 NewPro\Project ,点击“小锤子”图标旁的“品”字型图标,管理工程文件。首先建立 CMSIS Library User
三个目录(不明白直接看图)。
-
CMSIS 中添加(keil中添加文件的时候,要把文件类型改为
All Files(.),否则看不到.s文件)
- startup_stm32f429xx.s
路径: ..\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\startup_stm32f429xx.s
-
Library 中添加
- stm32f4xx_hal.c
- stm32f4xx_hal_cortex.c
- stm32f4xx_hal_rcc.c
- stm32f4xx_hal_pwr_ex.c
- stm32f4xx_hal_gpio.c
路径: ..\Device\STM32F4xx_HAL_Driver
-
User 中添加
- main.c
- stm32f4xx_hal_msp.c
- stm32f4xx_it.c
- system_stm32f4xx.c
路径: ..\User
三、在keil中添加头文件
1.点击“小锤子”图标,切换到C/C++标签。
Define 中添加全局定义:USE_HAL_DRIVER,STM32F429xx
Include Paths 中添加头文件路径
..\Drivers\CMSIS\Device\ST\STM32F4xx\Include
..\Drivers\CMSIS\Include
..\Drivers\STM32F4xx_HAL_Driver\Inc
..\User
全部添加完了可以点击编译看看,不出意外应该 0 Error(s), 0 Warning(s) 😜
总结
这种方法的缺点就是创建出来的工程文件夹文件比较多,体积比较大,后期看懂了文件夹的结构和文件夹的功能可以自己删改。
野火STM32F429教程
STM32 HAL 库开发实战指南 —基于野火 40挑战者 V2 开发板 ↩︎