嵌入式系统软件开发环境_3.主要功能和典型产品

2024-06-21 06:44

本文主要是介绍嵌入式系统软件开发环境_3.主要功能和典型产品,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.嵌入式系统软件开发环境的主要功能

         由于嵌入式系统的软件开发通常采用的是交叉开发方式,因此其开发环境中的工具应支持这种交叉开发的特点。嵌入式系统软件开发环境的功能应覆盖嵌入式软件开发过程,即编码过程、编译过程、构建过程、下载过程、调式过程和运行过程等。因此,开发环境的主要功能包括如下:

  • 工程管理功能:工程管理支持将嵌入式软件开发中的各类资源(源代码、目标码、数据文件、配置文件和脚本文件等)以工程项目的方式组织管理,提供规范的项目向导、预定义项目模版以及资源管理能力,同时为其他工具提供操作入口。
  • 编辑器功能:为嵌入式软件开发人员提供对源文件、配置文件、脚本文件等资源进行编辑的工具。编辑器除提供基本的文本编辑功能外,还应提供高级语言(如:C/C++)源码编辑、脚本文件编辑和XML配置编辑等高级功能。
  • 构建管理功能:构建(Make)是指将一个工程中的放在若干个目录中、不同类型的多个源文件进行智能批处理的工具。Make是依据makefile中定义的一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译的规划,对工程项目进行自动化批量编译的过程。
  • 编译/汇编器功能:编译(汇编)器是在宿主机上运行,能够编译出在嵌入式设备上运行的可执行代码的工具。通常,在嵌入式开发环境中均采用国际上GNU开源社区的GCC编译环境,它提供将C/C++源文件、汇编文件、链接文件翻译为二进制可执行文件。
  • 配置功能:配置功能是面向嵌入式系统的主要管理功能,根据目标系统需求,为系统进行定制化管理的工具。针对嵌入式系统的可伸缩性、通用性的特点,通过配置工具可形成不同的配置构型,以适应不同的应用场景。
  • 调试器功能:调试是嵌入式软件开发不可或缺的一个环境,也是开发环境最为关键的一项功能。调试器提供对嵌入式软件的源码级、汇编级高级符合交互式调试能力。支持在宿主机上通过加载或介入方式进入软件的运行现场,结合源代码,支持暂停或恢复软件的运行实现对软件运行的控制。调试器一般提供加/卸载、运行、停止、断点、单步、修改、查询等调式命令。通常,在嵌入式开发环境中均采用国际上GNU开源社区提供的GDB调试工具。
  • 目标机管理功能:目标机管理的主要功能是负责开发环境对连接的多个目标机进行管理和数据交换,为其他工具提供稳定、可靠度宿主机与目标机间的通信服务。他指出建立和维护宿主机与目标机之间的通信连接,支持宿主机与目标机之间一对多、多对一、多对多数据传输方式。目标机管理一般采用面向服务的目标机通信框架(Target Communication Framework,TCF)架构或面向通道共享的调试服务框架(Debugger Services Framework,DSF)架构。
  • 仿真器功能:仿真器功能主要是解决嵌入式软件的软硬件并行设计问题。        

2.典型嵌入式开发环境

2.1基于GCC开源工具的软件开发环境

         GCC是一个编译器集合,是GNU Compiler Collection组织提供的一套面向嵌入式领域的交叉编译环境。GNU GCC的基本功能包括:

  • 输出预处理后的C/C++源程序;
  • 输出C/C++源程序的汇编代码;
  • 输出二进制目标文件;
  • 生成静态库;
  • 生成可执行程序;
  • 转换文件格式。

        GNU编译器套件主要包括编译器(GCC)、汇编器(AS)、连接器(LD)、库管理器(AR)、Make以及其他使用程序。可支持C、C++、Objective-C、Fortran、Java、Ada和Go等语言前端,也包括了这些语言的库(如libstdc++、libgcj等)。 

2.2Workbench软件开发环境

         Workbench是由美国WindRiver公司研制的一款嵌入式软件开发环境,是面向本公司VxWorks操作系统产品配套的开发环境。Workbench集成了WindRiver自己研制的一款高安全交叉编译器Diab,此款编译器较GCC而言,其编译效率更高、语义更严谨、代码更安全。

2.3MULTI集成开发环境

         MULTI是美国有GreeHills公司研制的一款具有调试、编译器和闪存编程工具的嵌入式集成开发环境(IDE),主要包括AUTOSAR集成、性能分析项目构件器、代码覆盖、运行时错误检查、MISAR C代码检查和DoubleCheck集成式静态代码分析器等功能。

这篇关于嵌入式系统软件开发环境_3.主要功能和典型产品的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080480

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

乐鑫 Matter 技术体验日|快速落地 Matter 产品,引领智能家居生态新发展

随着 Matter 协议的推广和普及,智能家居行业正迎来新的发展机遇,众多厂商纷纷投身于 Matter 产品的研发与验证。然而,开发者普遍面临技术门槛高、认证流程繁琐、生产管理复杂等诸多挑战。  乐鑫信息科技 (688018.SH) 凭借深厚的研发实力与行业洞察力,推出了全面的 Matter 解决方案,包含基于乐鑫 SoC 的 Matter 硬件平台、基于开源 ESP-Matter SDK 的一

UnrealScriptIDE调试环境部署

先安装vs2010   再安装VSIsoShell.exe, 下载地址 https://pan.baidu.com/s/10kPNUuDGTbWXbz7Nos-1WA       fd3t   最后安装unside,下载地址 https://archive.codeplex.com/?p=uside  安装中间有一步选择Binary文件夹要选对路径。   安装好以后,启动 UDKDe

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

android 免费短信验证功能

没有太复杂的使用的话,功能实现比较简单粗暴。 在www.mob.com网站中可以申请使用免费短信验证功能。 步骤: 1.注册登录。 2.选择“短信验证码SDK” 3.下载对应的sdk包,我这是选studio的。 4.从头像那进入后台并创建短信验证应用,获取到key跟secret 5.根据技术文档操作(initSDK方法写在setContentView上面) 6.关键:在有用到的Mo

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

API-环境对象

学习目标: 掌握环境对象 学习内容: 环境对象作用 环境对象: 指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境。 作用: 弄清楚this的指向,可以让我们代码更简洁。 函数的调用方式不同,this指代的对象也不同。【谁调用,this就是谁】是判断this指向的粗略规则。直接调用函数,其实相当于是window.函数,所以this指代window。

Pycharm配置conda环境(解决新版本无法识别可执行文件问题)

引言: 很多小伙伴在下载最新版本的pycharm或者更新到最新版本后为项目配置conda环境的时候,发现文件夹目录中无法显示可执行文件(一般为python.exe),以下就是本人遇到该问题后试验和解决该问题的一些方法和思路。 一般遇到该问题的人群有两种,一种是刚入门对pycharm进行conda环境配置的小白(例如我),不熟悉相关环境配置的操作和过程,还有一种是入坑pycharm有段时间的老手