交叉编译器属于嵌入式软件
所谓交叉编译是指在A系统上编译B系统的二进制代码。
嵌入式的应用程序,甚至操作系统是运行在特定目标平台上,例如一块arm架构的目标板。而编译程序的时候通常是在普通x86构架下的Linux操作系统的PC上。在PC上编译嵌入式应用程序的过程叫做交叉编译。
Ⅱ 嵌入式系统开发为什么要采用交叉编译的方式
由于宿主机和目标机的体系结构不同,在宿主机X86平台上可以运行的程序在目标机ARM平台上无法运行,因此嵌入式软件开发采用交叉编译方式在一个平台上生成可以在另一个平台上执行的代码。编译的最主要的工作就是将程序转化成运行该程序的CPU所能识别的机器代码。
进行交叉编译的主机称为宿主机,也就是普通的通用计算机,宿主机系统资源丰富,使用方便地集成开发环境和调试工具等。
程序实际运行的环境称为目标机,也就是嵌入式系统环境。
Ⅲ 编译器如何分类
凭机器多分类,就看你个人的
Ⅳ linux嵌入式系统的开发为什么要用到交叉编译器交叉编译器的作用是什么
linux嵌入式系统的开发的应用资料,交叉编译器等等,这方面的资料,
到“工搜网资料文库”索取吧。那里有详细的资料
Ⅳ 什么是嵌入式软件嵌入式软件的特点
嵌入式软件就是嵌入在硬件中的 操作系统 和开发工具软件,那么你对嵌入式软件了解多少呢?以下是由我整理关于什么是嵌入式软件的内容,希望大家喜欢!
嵌入式软件的定义
嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以此满足系统对功能、成本、体积和功耗等要求。
最简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC几乎一样的功能。实质上与PC的区别仅仅是将微型操作系统与应用软件嵌入在ROM、RAM 和/或FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。
嵌入式软件的系统分类
流行的嵌入式操作系统可以分为两类:
一类是从运行在个人电脑上的操作系统向下移植到嵌入式系统中,形成的嵌入式操作系统,如微软公司的Windows CE及其新版本,SUN公司的Java操作系统,朗讯科技公司的Inferno,嵌入式Linux等。这类系统经过个人电脑或高性能计算机等产品的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式已被用户普遍接受,同时积累了丰富的开发工具和应用软件资源。
另一类是实时操作系统,如WindRiver 公司的VxWorks,ISI 的pSOS,QNX系统软件公司的QNX,ATI 的Nucleus,中国科学院凯思集团的Hopen嵌入式操作系统等,这类产品在操作系统的结构和实现上都针对所面向的应用领域,对实时性高可靠性等进行了精巧的设计,而且提供了独立而完备的系统开发和测试工具,较多地应用在军用产品和工业控制等领域中。
Linux 是90年代以来逐渐成熟的一个开放源代码的操作系统。 PC机上的Linux 版本在全球数以百万计 爱好 者的合力开发下,得到了非常迅速的发展。90 年代末uClinux,RTLinux 等相继推出,在嵌入式领域得到了广泛的关注,它拥有大批的程序员和现成的应用程序,是我们研究开发工作的宝贵资源。
嵌入式软件的学习意义
从控制意义上说,嵌入式系统涉及系统最底层的,芯片级的信息处理与控制。在某种意义上,对这些“微观”世界的了解与驾驭正是控制的真正目的。嵌入式系统与通常意义上的控制系统在设计思路和总体架构方面有许多不同之处,而这些不同之处恰恰是传统控制学科教学中较少教给学生的。在当今信息化社会中,嵌入式系统在人们的日常工作和生活中所占的份额,可能已超过传统意义的控制系统,这就是为什么我们的学生感到学的没有用,而有用的又没有学的原因。在嵌入式系统及开发环境方面,仍有许多问题尚在研究发展之中,如,嵌入式系统的硬件软件协同设计 方法 ;面向多目标,多任务的微内核嵌入式操作系统;分布嵌入式系统的实时性问题,分布式计算,分布式信息交互与综合处理;以及嵌入式系统的多目标交叉编译和交叉调试工具的研究等。通过实验开发平台,学习嵌入式系统的一些基本理论和硬件软件综合设计的方法与技能,亲自动手,实现一个嵌入式系统的解决方案,为今后的深入研究打下一个初步基础。
结语:“嵌入式系统”作为自动化学科一门理论与实际密切结合的,知识与技术含量较高的综合性专业课程,必将随着信息产业的发展而逐渐趋于成熟。
嵌入式软件的特点
1、 嵌入式软件具有独特的实用性。嵌入式软件是为嵌入式系统服务的,这就要求它与外部硬件和设备联系紧密。嵌入式系统以应用为中心,
嵌入式软件是应用系统,根据应用需求定向开发,面向产业、面向市场,需要特定的行业 经验 。每种嵌入式软件都有自己独特的应用环境和实用价值。
Ⅵ 什么是交叉编译技术,并简述在嵌入式系统中采用该技术的原因
很简单,交叉编译就是在宿主机上编译能在目标板上运行的程序,之所以用交叉编译,就是因为很多目标机的功能不是很强大,例如没有足够的内存,CPU也不行。所以就要借助宿主机来做好它所需要是东东,然后目标机用
Ⅶ 从底层硬件到上层应用,嵌入式软件的开发可以分为哪几类
从底层硬件到上层应用,嵌入式软件的开发可以分为以下三类:
1、嵌入式操作系统开发
嵌入式操作系统EOS(Embedded Operating System)是一种被广泛使用的系统软件。过去,它主要用于工业控制和国防系统领域。 EOS负责分配和调度嵌入式系统的所有软件和硬件资源,控制和协调并发活动。
它必须体现其所在系统的特征,并能够通过加载和卸载某些模块来实现系统所需的功能。嵌入式操作系统通常以商业操作为主。自1980年代以来,商业嵌入式操作系统已开始蓬勃发展。
2、嵌入式支撑软件开发
支撑软件是用于帮助和支撑软件开发的软件,通常包括数据库和开发工具,其中数据库是最重要的。随着移动通信技术的进步,人们对移动数据处理提出了更高的要求。嵌入式数据库技术已受到学术,工业,军事和民用领域的关注。
嵌入式移动数据库或简称为移动数据库(EMDBS)是支持移动计算或特定计算模型的数据库管理系统。数据库系统与操作系统和特定的应用程序集成在一起,并在各种智能嵌入式设备或移动设备上运行。
3、 嵌入式应用软件开发
嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。
嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。
(7)交叉编译器属于嵌入式软件扩展阅读:
嵌入式软件开发的特点:
近年来,随着计算机技术的迅猛发展,基于通信技术的信息技术以及Internet的广泛应用,传统的控制学科正在发生变化,并出现了许多新的增长点。
嵌入式系统涉及系统的最低层,芯片层的信息处理和控制。从某种意义上说,理解和控制这些“微观”世界是控制的真正目的。就设计思想和总体架构而言,通常意义上的嵌入式系统和控制系统之间存在许多差异。
在嵌入式系统和开发环境方面,仍然存在许多仍在研究和开发中的问题,例如嵌入式系统的硬件和软件协同设计方法;多目标、多任务微内核嵌入式操作系统;分布式嵌入式系统实时问题,分布式计算,分布式信息交互和综合处理;嵌入式系统的多目标交叉编译和调试工具的研究等。
Ⅷ 什么是嵌入式设计中的交叉编译
Compiling a program takes place by running a compiler on the build platform. The compiled program will run on the host platform. Usually these two are the same; if they are different, the process is called cross-compilation.
对一个程序进行编译的过程要通过在一个操作系统平台(编译平台)上运行编译器而完成。被编译的程序也将运行在一个操作系统平台(运行平台)上,这二个平台通常是相同的,如果二者不同,则这个编译过程被称为交叉编译。
Typically the hardware architecture differs, like for example when compiling a program destined for the MIPS architecture on an x86 computer; but cross-compilation is also applicable when only the operating system environment differs, as when compiling a FreeBSD program under Linux; or even just the system library, as when compiling programs with uClibc on a glibc host.
一般来说交叉编译被应用在硬件结构不同的机器上,如在x86的计算机上为MIPS体系的机器编译程序。但交叉编译也适用于硬件结构相同而操作系统不同的情况,比如在Linux操作系统下为FreeBSD编译程序。交叉编译甚至也可以应用于只有系统库不同的情况下,如在使用glibc的机器上用uClibc编译程序。
Cross-compilation is typically more involved and prone to errors than with native compilation. Due to this, cross-compiling is normally only utilized if the target is not yet self-hosting (i.e. able to compile programs on its own), unstable, or the build system is simply much faster. For many embedded systems, cross-compilation is simply the only possible way to build programs, as the target hardware does not have the resources or capabilities.
交叉编译通常比本地编译更容易引发错误。因此,交叉编译一般只用于目标平台不能自洽(比如说,目标平台无法完成程序编译),不稳定或者编译平台速度更快的情况下。对大多数嵌入式系统来说,由于目标平台的执行能力或系统资源有限,交叉编译是唯一可行的编译方式。
Ⅸ 什么是嵌入式系统的交叉编译
http://magichere.blogchina.com/3572505.html
Ⅹ 什么是交叉编译器
交叉编译器:在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码