当前位置: 首页 > news >正文

基于ubuntu的STM32嵌入式软件开发(四)——应用软件工程的修改、Makefile及编译脚本的编写

        本文主要介绍基于标准库函数移植的STM32的应用软件工程的修改,主要涉及到文件内容修改、Makefile文件编写、编译脚本编写等内容,其中编译脚本是基于arm-none-eabi-gcc的交叉编译器撰写的。程序亲测可以正常编译,生成.bin和.hex的可烧录镜像文件。

1.首先修改project_m4/user目录下的main.c函数,将多余代码删除,修改如下所述:

图1 user/main.c文件修改

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

图2 删除fwlib/src目录下的stm32f4xx_fmc.c文件

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

图3 user/stm32f4xx_it.c文件修改

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

图4 stm32_flash.ld链接文件修改

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

图5 应用软件工程目录新建Makefile文件

 6.Makefile的内容如下所示:

图6 Makefile文件内容

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

图7  build.sh编译脚本内容

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

图8 给编译脚本添加可执行权限并运行编译脚本build.sh

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

图9 编译完成,生成可烧录文件

 

http://www.lryc.cn/news/27001.html

相关文章:

  • MQTT协议分析
  • 基于树莓派4B设计的音视频播放器(从0开始)
  • MSF手机渗透实验(未成功)(CVE-2019-2215 Binder UA)
  • 系列十二、MySQL管理
  • [游戏架构] 有限状态机的实际应用
  • 【站外SEO】如何利用外部链接来提高你的网站排名
  • OSCP-课外4(修复web访问、Mysql UDF提权)
  • 深信服面经---云计算方向(附问题知识点解析)
  • MySQL面试题-基础篇
  • 高通平台开发系列讲解(摄像头篇)QCM6490 上摄像头驱动开发
  • MOV压敏电阻应用推荐及选型要点说明
  • Pytorch学习笔记(8):正则化(L1、L2、Dropout)与归一化(BN、LN、IN、GN)
  • Azure OpenAI 官方指南 01|GPT-3 的原理揭秘与微调技巧
  • 神垕古镇景区三方背后的博弈,争夺许昌第一家5A景区主导权
  • 【C++】vector的模拟实现(SGI版本)
  • 【9】SCI易中期刊推荐——工程技术-计算机:软件工程(中科院4区)
  • SOTA!目标检测开源框架YOLOv6 3.0版本来啦
  • svn使用
  • LeetCode 1487. Making File Names Unique【字符串,哈希表】中等
  • Java——电话号码的字母组合
  • LDR6028市面上最具有性价比的Type-C OTG音频协议方案
  • SpringMVC-0228
  • 【测试岗】那个准点下班的人,比我先升职了...
  • 【C++】适配器模式 -- stack/queue/dqueue
  • sql server 分页查询
  • RV1126新增驱动IMX415 SENSOR,实现v4l2抓图
  • Hive 数据倾斜
  • 2月刚上岸字节跳动测试岗面经
  • 图解KMP算法
  • Java Map和Set