一、嵌入式系统软件开发流程

高级语言编写的源代码文件——》交叉编译器——》目标文件——》链接器

用目标机的汇编语言编写的源代码文件——》交叉汇编器——》目标文件——》链接器

链接器——》可执行程序——》目标机平台

交叉编译器:编译器运行在宿主机系统,但是编译器生成的可执行文件只能运行在目标机平台上。

二、开发环境分类

1、运行平台:本地开发环境、交叉开发环境

2、商业环境:收费工具、免费工具

三、GNU工具链

1、GNU工具链

(1)GNU Tools:全称(GNU Development Toolchains)

(2)GNU Tools交叉开发环境:全称(GNU Cross-Plateform Development ToolChains)

2、GNU既支持本地程序开发,又支持交叉编译

3、GNU开发工具

(1)自由软件

(2)完备的工具链:GCC、binutils、gdb、GNU make、patch、CVS、开发库

(3)命令行方式:使用稍复杂、功能强大

4、GNU Tools是Linux环境下最主要的开发工具集,主要有以下几部分:

(1)编译开发工具:把源程序编译为可执行文件,如GCC

(2)调试工具:对可执行程序进行源码或汇编级调试的软件,如gdb

(3)软件工程工具:用于协助多人开发或大型软件项目管理的软件,如:make等

5、GCC(GNU Compiler Collection)

(1)支持C、C++、ADA、Java、Fortran、PASCAL等语言

(2)主要包括:

①cpp:GNU C编译器的预处理器

②gcc:符合ISO标准的C编译器

③g++:符合ISO标准的C++编译器

④gcj:GCC的Java前端

⑤gnat:GCC的GNU ADA q5的前端

6、binutils:是一组二进制工具程序集合,是辅助GCC的主要软件。

主要包括:(1)as:GNU汇编器

(2)ld:GNU链接器

(3)ar:创建归档文件,以及制作静态库的工具

(4)nm:列出目标文件中的符号

(5)objcopy:复制和转化obj文件

(6)objdump:显示对象文件的信息

(7)readelf:显示elf格式执行文件中的各种信息

(8)size:显示目标文件和可执行文件各段的大小

(9)strings:显示文件中可以打印的字符

(10)strip:去掉可执行文件找那个多余的信息(如调试信息)

7、gdb:GNU调试器,可以用来调试C、C++和其他语言编写的程度。如加一些图形前端(如:DDD),可以在图形环境下调试程序。

8、GNU make:是一个用来控制可执行程序生成过程的程序。它允许用户生成和安装软件包,而无需了解生成、安装软件包的过程。

9、diff:比较文件差异的工具,也可以用来生成补丁。

10、patch:补丁安装程序,可以根据diff生成的补丁来更新程序

11、CVS:版本控制系统:用于管理发行版本和控制在多位作者间同时编辑源文件。

嵌入式开发工具链概述相关推荐

  1. 嵌入式开发工具介绍与下载

    ARM RealView 2.2 (微电子设计) 下载地址:http://www.9iv.com/down/soft/274.htm?eid=217990                     ht ...

  2. CooCox工具简介——免费和开源的ARM嵌入式开发工具

    CooCox成立于2009年初,致力于为ARM开发者提供免费和开源的嵌入式开发工具.CooCox开发了大量基于网络的组件,让嵌入式开发如搭积木般简单.CooCox希望能和所有ARM爱好者一起搭建一个贡 ...

  3. 【Windows】办公+开发工具链整理

    如果你是Win10/Win11专业版用户,请继续往下看: [Windows]办公+开发工具链整理 办公 小工具 开发 办公 先放张图-- TIM:简约版QQ. 优点:占用空间小,且有通讯录.消息.我的 ...

  4. 开发工具链(国内项目)(持续更)

    开发工具链(国内项目) 前端开发工具: sublime(轻便) Webstorm(全面,包括各种插件,对node支持较好,但是缺点是占用内存较大) VSCode(免费,而且比webStorm轻,占用内 ...

  5. 我的C++开发工具链

    工欲善其事,必先利其器.想要干好活,顺手的工具是必不可少的.来分享下我的C++开发工具链. 平台:Windows 编译器:MSVC IDE:Visual Studio 版本控制:TortoiseGit ...

  6. 【嵌入式实验】《嵌入式开发工具使用》

    嵌入式开发工具使用 一.实验目的 二.实验内容 三.预备知识 四.实验设备及工具(包括软件调试工具) 五.实验步骤 5.1 交叉编译工具配置及编译 5.2 arm-linux-gcc编译工具使用 5. ...

  7. RemObjects Elements多用途软件开发工具链

    RemObjects Elements多用途软件开发工具链 RemObjects Elements是一个现代化的多用途软件开发工具链.它支持六种流行的编程语言:Oxygene(Object Pasca ...

  8. 基于AUTOSAR开发工具链的AUTOSAR软件实战开发---基于工具链AUTOSAR架构的开发流程

    前一节简单介绍了CP AUTOSAR及它的分层结构,本节介绍基于工具链AUTOSAR架构的开发流程,对于多数使用AUTOSAR架构开发汽车电子软件的工程师而言,主要关注的还是如何将AUTOSAR架构应 ...

  9. 嵌入式开发工具——嵌入式Qt连接mysql

    文章目录 前言 一.编译Qt中自带的mysql源码 二.程序测试 前言 上一篇(嵌入式开发工具--交叉编译libmysql)已经完成了mysql的C API交叉编译的工作,今天将用它来编译生成Qt连接 ...

最新文章

  1. 【转】QT事件传递与事件过滤器
  2. python函数可选参数传递_Python中函数的参数传递
  3. AlexNet网络构建与训练
  4. Linux能否靠架构取得胜利
  5. activity中指定一页面动态设置软键盘弹出属性
  6. 都说外国电工布线牛到不行?今天就看看中国电工最强布线!
  7. php类库下载下来怎么使用,PHP如何实现$this-[类库名称]-[类库方法]。
  8. oracle 强制 断开,ORA-01092: ORACLE 例程终止。强行断开连接
  9. windows安装使用jaeger链路追踪
  10. 三维空间刚体运动5:详解SLAM中显示机器人运动轨迹及相机位姿(原理流程)
  11. php输出多行多列,数据库查询记录php 多行多列显示
  12. .net core精彩实例分享 -- 依赖注入和中间件
  13. 利用图片的 onerror 事件载入默认图片
  14. cmd命令卸载sql server_Sql server 卸载方法
  15. x的x分之一次方极限x趋于0_e的x分之一的左右极限
  16. win10台式机屏幕亮度无法调节
  17. html中onfocus和onblur的使用
  18. 激光测距仪行业报告-产能、产量、销量、销售额、价格及未来趋势
  19. 电磁波波长与穿透力的关系是什么?
  20. WACV 2021 论文大盘点-人体动作检测与识别篇

热门文章

  1. anaconda环境配置pytorch总结,GPU调用失败方法总结
  2. 使用MQTTNet包实现客户端与服务端通讯
  3. 【笔记】lua - 协程
  4. STM32F427库函数PWM+DMA控制ws2812b灯带
  5. 福州市仓山区融丰锦秀山庄别墅设计
  6. STM32,点亮RGB灯,指南者,新手
  7. win10如何开启自带的虚拟机?
  8. 查看微信中撤回的图片(RIO)
  9. 学习资料(1)-学习网站,Linux,Git,博客
  10. c++ primer--容器的综合应用:文本查询程序