野火霸天虎STM32F407笔记(三)——认识固件库、新建工程(固件库版)
一、认识STM32固件库
- 一堆函数的集合,固件能固化到EEPROM或者是芯片的FLASH中,操作的是最底层的设备。
- 固件库文件分析
二 、新建工程——固件库版
- 在工程文件夹下新建以下文件夹
- Libraries——存放固件库最主要的源码
- Listing——存放Keil编译的时候产生的中间文件,比如说加载文件
- Output——存放串口可以下载的文件,编译器、仿真器可以下载的.hif文件
- User——存放用户自己写的程序
- Project
- 从下载好的官方固件库里面把Libraries文件夹下的两个文件夹拷贝到新建的Libraries文件夹中
留下CMSIS
文件夹下的Device和Include文件夹,其他的都用不到,可以删除
留下`Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates`路径下的arm文件夹和system_stm32f4xx.c文件
- 将官方固件库路径
Project->STM32F4xx_StdPeriph_Templates
下的四个文件(下图选中的四个文件)拷贝到新建的User中
-
修改刚才复制的文件
- 修改
stm32f4xx_it.c
:将#include "main.h"
去掉
- 去掉
SysTick_Handler
函数的函数体
- 将
main.c
里面的代码都删除,写上基本代码,如下图,并保存
- 修改
-
在Project文件夹下新建一个
RVMDK(uv5)
文件夹,打开Keil,project->New Project,书写工程名字,将工程放到RVMDK(uv5)
文件夹下。确定后在弹出的界面选择芯片
- 之后弹出的框为添加本地固件库,之前的操作已经添加过了,直接叉掉
- 添加组
改完添加后组的名字后继续添加(必须先改名字才能添加上)
- 往组里面添加文件
- STARTUP 里面添加的是启动文件,双击添加
Libraries->CMSIS->Device->ST->STM32F4xx->Source->Templates->arm
- CMSIS里添加
Libraries->CMSIS->Device->ST->STM32F4xx->Source->Templates
下的.c文件
-
STM32F4xx_StdPeriph_Driver里添加
Libraries->STM32F4xx_StdPeriph_Driver->src
下的所有文件 -
USER里面添加
user
文件夹下的如图所示两个文件:
- 指定头文件目录
10.添加宏USE_STDPERIPH_DRIVER,STM32F40_41xxx,(注意逗号)
11.屏蔽文件,因为博主用的STM32F407,而导入的是通用的STM32F4xx,有的外设是没有的,需要屏蔽
- 编译,编译前请插好对应型号的板子,连接好仿真器
恭喜你,创建成功,若出现错误提示,不要慌,再看一遍教程,看看是哪个地方漏了,也可以根据提示找一下原因。