嵌入式系統(tǒng)移植的簡(jiǎn)單介紹_第1頁(yè)
嵌入式系統(tǒng)移植的簡(jiǎn)單介紹_第2頁(yè)
嵌入式系統(tǒng)移植的簡(jiǎn)單介紹_第3頁(yè)
嵌入式系統(tǒng)移植的簡(jiǎn)單介紹_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式操作系統(tǒng)的移植綜述:嵌入式操作系統(tǒng)與通用操作系統(tǒng)的最顯著的區(qū)別之一就是它的可移植性。一款嵌入式操作系統(tǒng)通常可以運(yùn)行在不同體系結(jié)構(gòu)的處理器和開發(fā)板上。為了使嵌入式操作系統(tǒng)可以在某款具體的目標(biāo)設(shè)備上運(yùn)行,嵌入式操作系統(tǒng)的編寫者通常無(wú)法一次性完成整個(gè)操作系統(tǒng)的代碼,而必須把一部分與具體硬件設(shè)備相關(guān)的代碼作為抽象的接口保留出來(lái),讓提供硬件的OEM廠商來(lái)完成。這樣才可以保證整個(gè)操作系統(tǒng)的可移植性。一、移植的定義及其目的由于嵌入式系統(tǒng)所使用的芯片型號(hào)多種多樣,很多芯片不能直接兼容,所以通過(guò)修改部分代碼,把能在甲芯片上運(yùn)行的程序,也能在與之不完全兼容的乙芯片上正確運(yùn)行,就叫移植.嵌入式操作系統(tǒng)移植的目的是指使操作系統(tǒng)能在某個(gè)微處理器或微控制器上運(yùn)行。二、移植的方法與具體操作步驟2.1在進(jìn)行移植時(shí),我們的首要任務(wù)就是要建立一個(gè)最基本的開發(fā)環(huán)境。該環(huán)境具備一套跨平臺(tái)開發(fā)工具。它包含有編譯器、連接器、除錯(cuò)器等,另外還要準(zhǔn)備制作文檔系統(tǒng)所需的軟件。以PC機(jī)作為宿主機(jī)構(gòu)建一套完整的交叉編譯系統(tǒng)來(lái)調(diào)試目標(biāo)板。而在目標(biāo)平臺(tái)上只需要準(zhǔn)備一段開機(jī)程序,如Etherboot,Redboot等,此程序可以在除錯(cuò)階段取得系統(tǒng)的映像(image)文件后啟動(dòng)或者直接從Flashroom中來(lái)引導(dǎo)系統(tǒng)。一旦啟動(dòng)后就進(jìn)入Linux操作系統(tǒng),同時(shí)也可以使用GDBserver作為遠(yuǎn)端除錯(cuò)工具。2.2內(nèi)核的移植為了使Linux內(nèi)核能在不同的目標(biāo)平臺(tái)上運(yùn)行,要求我們根據(jù)平臺(tái)的處理器類型和外圍接口,對(duì)Linux內(nèi)核文件進(jìn)行正確的配置,同時(shí)。修改內(nèi)核文件Linux移植的主要步驟。如果修改完Linux的內(nèi)核文件,使其能在目標(biāo)平臺(tái)上正確跑起來(lái),那么整個(gè)移植過(guò)程就基本完成了。2.3移植的具體步驟(1)首先獲取某一版本的Linux內(nèi)核源碼,根據(jù)具體的目標(biāo)平臺(tái)對(duì)源碼進(jìn)行必要的改寫(主要是修改體系結(jié)構(gòu)相關(guān)的部分);(2)添加一部分外設(shè)驅(qū)動(dòng)(如網(wǎng)卡驅(qū)動(dòng)、USB驅(qū)動(dòng)),打造一款適合于目標(biāo)平臺(tái)的新的操作系統(tǒng),也就是常說(shuō)的內(nèi)核配置或內(nèi)核定制;(3)對(duì)該系統(tǒng)進(jìn)行針對(duì)目標(biāo)平臺(tái)的交叉編譯,生成一個(gè)內(nèi)核映象文件;(4)最后通過(guò)一些手段將該映象燒寫到目標(biāo)平臺(tái)中。三、移植過(guò)程中如何進(jìn)行剪裁3.1進(jìn)行方式進(jìn)行的方式必須有效率的建立系統(tǒng),基本可行的方法有兩種:(1)從其中一個(gè)發(fā)行版本中把不必要的部份全部刪掉,留下我們想要的系統(tǒng)。(2)把系統(tǒng)所有的功能依規(guī)格從新建立起來(lái)。3.2開發(fā)環(huán)境要建立一個(gè)最基本的開發(fā)環(huán)境,必需具備一套跨平臺(tái)的開發(fā)工具(CrossDevelopmentKit),包含有編譯器,連接器,調(diào)試器等。另外還要準(zhǔn)備制作文件系統(tǒng)所需的程序。而目標(biāo)平臺(tái)上,只需準(zhǔn)備一段系統(tǒng)開機(jī)程序,如etherboot[5],redboot[6]等。此程序可以在調(diào)試階段時(shí),從網(wǎng)絡(luò)取得系統(tǒng)映像檔(image)后啟動(dòng),或是直接從閃存中,把系統(tǒng)啟動(dòng)。一旦啟動(dòng)后,就進(jìn)入Linux的操作系統(tǒng),同時(shí)亦可使用GDBserver作為遠(yuǎn)端調(diào)試的工具。3.3開發(fā)過(guò)程可以分為幾個(gè)部份。首先要準(zhǔn)備Linux的內(nèi)核,配上根目錄所在的文件系統(tǒng),再加上守護(hù)進(jìn)程程序和應(yīng)用程序等,經(jīng)過(guò)壓縮后,打包成一個(gè)含有內(nèi)核的映像文件。目標(biāo)平臺(tái)透過(guò)網(wǎng)絡(luò)或閃存,取得映像文件后,進(jìn)行解壓縮,經(jīng)過(guò)系統(tǒng)啟動(dòng),初始化后,就是一臺(tái)使用嵌入式Linux為操作系統(tǒng)的機(jī)器。四、“軟件編程”如何應(yīng)用嵌入式操作系統(tǒng)的多任務(wù)實(shí)時(shí)處理的特點(diǎn)一方面,實(shí)時(shí)操作中的多任務(wù)引起的并發(fā)性和實(shí)時(shí)性,要求操作系統(tǒng)對(duì)資源分配具有更強(qiáng)的控制能力。通常的辦法是采取設(shè)立前臺(tái)與后臺(tái)兩個(gè)作業(yè)的分配辦法。前臺(tái)作業(yè)中包含實(shí)時(shí)采集、控制、處理有關(guān)的任務(wù),任務(wù)優(yōu)先級(jí)較高;后臺(tái)作業(yè)一般是對(duì)數(shù)據(jù)進(jìn)行分析、輸出數(shù)據(jù)、響應(yīng)操作員請(qǐng)求等任務(wù),優(yōu)先級(jí)較低。后臺(tái)作業(yè)中與后臺(tái)作業(yè)并非完全孤立的;后臺(tái)作業(yè)所需數(shù)據(jù)由前臺(tái)作業(yè)存儲(chǔ)共享內(nèi)存區(qū)內(nèi),作業(yè)之間通過(guò)共享存儲(chǔ)區(qū)進(jìn)行數(shù)據(jù)交換。另一方面,實(shí)時(shí)任務(wù)總是由某個(gè)事件發(fā)生或時(shí)間條件滿足來(lái)激活。事件有兩種:內(nèi)部事件和外部事件。時(shí)間驅(qū)動(dòng)也有兩種:按絕對(duì)時(shí)間驅(qū)動(dòng)和按相對(duì)時(shí)間驅(qū)動(dòng)。內(nèi)部事件驅(qū)動(dòng)是指某一程序運(yùn)行的結(jié)果導(dǎo)致另一任務(wù)的啟動(dòng),這個(gè)結(jié)果可能是數(shù)據(jù)滿足一定條件,也可能是釋放了某一資源;而最典型的實(shí)時(shí)任務(wù)是由外部事件驅(qū)動(dòng)的。在實(shí)時(shí)系統(tǒng)中,外部事件發(fā)生有時(shí)是不可預(yù)測(cè)的,由外部事件驅(qū)動(dòng)的任務(wù)一般是需要立即執(zhí)行的任務(wù),它的優(yōu)先級(jí)最高。絕對(duì)時(shí)間驅(qū)動(dòng)是指在某指定時(shí)刻執(zhí)行的任務(wù),也就是在自然時(shí)鐘的絕對(duì)時(shí)間執(zhí)行。相對(duì)時(shí)間驅(qū)動(dòng)是指周期性執(zhí)行的任務(wù),總是相對(duì)上一次執(zhí)行時(shí)間計(jì)時(shí),執(zhí)行時(shí)間間隔一定。除了周期性任務(wù)外,還有一些同步任務(wù)也可能由相對(duì)時(shí)間驅(qū)動(dòng),如等待某種條件到來(lái)。等待時(shí)間是編程設(shè)定的。相對(duì)時(shí)間可用計(jì)算機(jī)內(nèi)部時(shí)鐘或軟件計(jì)時(shí)。我們?cè)趯?shí)時(shí)設(shè)計(jì)當(dāng)中,這兩方面的問(wèn)題都有所體

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論