目录
以STM32f401作为例子进行环境搭建
1、移植固件库&标准库
①桌面创建工程文件夹并且提取内核文件
用户文件:用户自己编写的程序文件 .c .h文件
.c文件:具体函数功能源代码
.h文件:宏定义、函数声明
内核文件:官方给的芯片的内核文件,没有这些文件程序跑不起来
删除多余文件,节省内存
删除多余文件,节省内存
②移植固件库
移植所需要的文件 Libraries\CMSIS\Device\ST\STM32F4xx\Include
把Include文件夹内两个文件(系统文件和芯片支持文件)移植到CMSIS里面
添加对应系统文件 Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates
添加对应启动文件 Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm
添加核心文件 STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS(已在本文件夹中)
③移植标准库
添加标准外设库的头文件(用于连接标准外设库与用户的代码)
STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\project\STM32F4xx_StdPeriph_Templates
移植完后删除文件,节省内存
最后,Libraries 和 CMSIS 文件夹存放东西如下:
2、新建工程
①进入Keil5
②新建工程
③进行芯片选型
④配置虚拟设备树
注意要删除
删除原因:查看数据手册发现不支持FSMC,不删除编译就会报错
⑤包含头文件路径
⑥尝试进行编译,定义启动文件
解决办法:宏定义STM32F401xx.USE_STDPERIPH_DRIVER
⑦再次尝试编译
解决方法:补充main函数
⑧再次编译
总结:
环境搭建步骤:
移植固件库所需文件
芯片支持文件: stm32f4xx.h
核心文件:include
系统文件:system.stm32f4xx.h system.stm32f4xx.c
启动文件:startup_stm32f40_41xxx.s
移植标准库所需文件
标准外设库的头文件:stm32f4xx_conf.h
创建虚拟树
CMSIS: system.stm32f4xx.c startup.xxxxxx.s
STM32F4xx_StdPeriph_Driver:STM32F4xx_StdPeriph_Driver->src中所有文件(除fmc和fsmc)
包含头文件路径
.\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Include
.\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS
.\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver\inc
.\user\inc