交叉編譯器屬於嵌入式軟體
所謂交叉編譯是指在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
Ⅹ 什麼是交叉編譯器
交叉編譯器:在一種計算機環境中運行的編譯程序,能編譯出在另外一種環境下運行的代碼