本文主要介绍基于标准库函数移植的STM32的应用软件工程的修改,主要涉及到文件内容修改、Makefile文件编写、编译脚本编写等内容,其中编译脚本是基于arm-none-eabi-gcc的交叉编译器撰写的。程序亲测可以正常编译,生成.bin和.hex的可烧录镜像文件。
1.首先修改project_m4/user目录下的main.c函数,将多余代码删除,修改如下所述:

2.将project_m4/fwlib/src目录下的stm32f4xx_fmc.c文件删除。

3.将project_m4/user/目录下的stm32f4xx_it.c文件第25行的main.h头文件引用删除,137行的延时函数调用删除,如下图所示:

4.将project_m4目录下的stm32_flash.ld链接文件的75行添加_exit段,否则编译会报错(注意:这是由于交叉编译器版本的问题)。

5.在project_m4目录下新建Makefile的文件,如下图所示:

6.Makefile的内容如下所示:

7.新建编译脚本build.sh,并编写build编译脚本如下所示:

8.给编译脚本build.sh添加可执行权限,并运行编译脚本build.sh进行应用软件工程的编译。

9.编译完成,生成可烧录的hex、bin格式的镜像文件,如下所示:
