本文基于st官方提供的标准库搭建应用软件工程(即非cube方式、非寄存器方式),采用标准库搭建的工程具有软件可移植性高、可读性好、符合软件设计人员思维方式。本文描述官方下载标准库及标准库的移植过程,具体流程如下所述:
1.首先在st官方下载stm32f4系列最新的标准库压缩包(STSW-STM32065的标准库)。
https://www.st.com/en/embedded-software/stsw-stm32065.html
2.拷贝stm32f4系列的标准库(V1.9版本)到工作目录并解压。
3.新建应用软件工程目录project_m4,并在project_m4的目录下新建5个子目录(分别新建cmsis、include、source、fwlib、user等5个文件夹)。
4.将标准固件库目录/Libraries/CMSIS/Include文件夹,以及固件库文件目录/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO文件夹,全部拷贝移植到project_m4/cmsis文件夹下,移植后cmsis文件夹目录如下图所示:
5.将标准固件库文件目录/Libraries/STM32F4xx_StdPeriph_Driver文件夹下的inc和src文件夹全部拷贝移植到fwlib文件夹下,移植后fwlib文件夹目录如下图所示:
6.将标准固件库文件目录/Libraries/CMSIS/Device/ST/STM32F4xx/Include文件夹目录下的stm32f4xx.h、system_stm32f4xx.h文件拷贝到project_m4/include文件夹下。
7.将标准固件文件目录Project/STM32F4xx_StdPeriph_Templates目录下的main.c、stm32f4xx_conf.h、stm32f4xx_it.h、stm32f4xx_it.c、system_stm32f4xx.c拷贝移植到project_m4/user文件夹下,其中main.c文件是STM32工程文件的主函数程序,移植后user文件夹目录如下图所示:
8.将标准固件库文件目录Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM32F40_41xxx文件夹下的STM32F417IG_FLASH.ld拷贝到projec_m4的应用软件工程目录下,并重命名为stm32_flash.ld。
9.至此完成了应用软件工程的搭建,下节将介绍应用软件修改、Makefile及编译脚本编写。