基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植

本文基于st官方提供的标准库搭建应用软件工程(即非cube方式、非寄存器方式),采用标准库搭建的工程具有软件可移植性高、可读性好、符合软件设计人员思维方式。本文描述官方下载标准库及标准库的移植过程,具体流程如下所述:

1.首先在st官方下载stm32f4系列最新的标准库压缩包(STSW-STM32065的标准库)。

https://www.st.com/en/embedded-software/stsw-stm32065.html

基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植_第1张图片 图1 下载最新版本的标准库压缩包

2.拷贝stm32f4系列的标准库(V1.9版本)到工作目录并解压。

基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植_第2张图片 图2 拷贝并解压标准库压缩包到工作目录

3.新建应用软件工程目录project_m4,并在project_m4的目录下新建5个子目录(分别新建cmsis、include、source、fwlib、user等5个文件夹)。

基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植_第3张图片 图3 新建应用工程目录及子目录

4.将标准固件库目录/Libraries/CMSIS/Include文件夹,以及固件库文件目录/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/TrueSTUDIO文件夹,全部拷贝移植到project_m4/cmsis文件夹下,移植后cmsis文件夹目录如下图所示:

图4 cmsis目录文件移植

5.将标准固件库文件目录/Libraries/STM32F4xx_StdPeriph_Driver文件夹下的inc和src文件夹全部拷贝移植到fwlib文件夹下,移植后fwlib文件夹目录如下图所示:

图5 fwlib目录文件移植

6.将标准固件库文件目录/Libraries/CMSIS/Device/ST/STM32F4xx/Include文件夹目录下的stm32f4xx.h、system_stm32f4xx.h文件拷贝到project_m4/include文件夹下。

图6  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文件夹目录如下图所示:

图7 usb目录文件移植

8.将标准固件库文件目录Project/STM32F4xx_StdPeriph_Templates/TrueSTUDIO/STM32F40_41xxx文件夹下的STM32F417IG_FLASH.ld拷贝到projec_m4的应用软件工程目录下,并重命名为stm32_flash.ld。

基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植_第4张图片 图8 project_m4目录下的stm32_flash.ld文件

9.至此完成了应用软件工程的搭建,下节将介绍应用软件修改、Makefile及编译脚本编写。

你可能感兴趣的:(软件工程)