《嵌入式操作系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書_第1頁
《嵌入式操作系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書_第2頁
《嵌入式操作系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

PAGEPAGE4《嵌入式操作系統(tǒng)》實(shí)驗(yàn)指導(dǎo)書嵌入式操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)書計(jì)算機(jī)科學(xué)與信息工程學(xué)院XX93目錄實(shí)驗(yàn)一系統(tǒng)引導(dǎo)實(shí)驗(yàn) 1實(shí)驗(yàn)二IRQ中斷處理 3實(shí)驗(yàn)三LINUX常用命令及工具實(shí)驗(yàn)7實(shí)驗(yàn)四MAKEFILE實(shí)驗(yàn)9實(shí)驗(yàn)五BOOTLOADER實(shí)驗(yàn)13實(shí)驗(yàn)六LINUX內(nèi)核編譯實(shí)驗(yàn)16實(shí)驗(yàn)七驅(qū)動程序結(jié)構(gòu)實(shí)驗(yàn) 19實(shí)驗(yàn)一系統(tǒng)引導(dǎo)實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹縋XA2702.1.ARM令集3.掌握常見ARM驗(yàn)儀器】PC機(jī)一臺,ARM10,以及必要的軟件安裝包【實(shí)驗(yàn)原理】1?程序介紹本章主要通過一個(gè)簡短的Boot程序向讀者揭示如何編寫開發(fā)板的啟動程序,同時(shí)本程序也可以用來引導(dǎo)其他章節(jié)的示例程序。本程序主要為了讓讀者能夠清0x0LED會向右點(diǎn)亮,不斷循環(huán)下去。2?系統(tǒng)復(fù)位對于PXA270處理器來說,系統(tǒng)復(fù)位后的PC指針總是為0x0,nCS0所連接的為FLASH芯片,bootFLASH芯片上,0x0的地址(0x0開始運(yùn)行,0xFFFF0開始運(yùn)行的)。事實(shí)上,0x0-0x20之間為中斷向量表,0x0,0x0放一條無條件跳轉(zhuǎn)語句,在系統(tǒng)加電或復(fù)位時(shí),0x0,3程序進(jìn)入點(diǎn)因?yàn)橐龑?dǎo)程序是自舉的的程序,無需操作系統(tǒng)加載來執(zhí)行,所以即使不設(shè)置初始入口點(diǎn)也可以執(zhí)行,Boot程序看成是普通的映像文件,假設(shè)我們現(xiàn)在已經(jīng)生成了映像文件,Boot映像被操作系統(tǒng)加載時(shí),?這里引入初始入口點(diǎn)和普通入口點(diǎn)。初始化入口點(diǎn)定義了映像的第一條被執(zhí)行的指令,在編譯程序時(shí)可以添加參數(shù)-entryaddress(或-entryoffset+object(area))來標(biāo)示初始入口點(diǎn),如果沒有添加該參數(shù),則程序就被默認(rèn)成初始入口FLASH后,ro_baseENTRY標(biāo)示的段的第一條指令,讀者可能對此有些模糊,我們這里以BootLoaderboot.s匯編文件里,可以發(fā)現(xiàn)以下程序:AREAboot,CODE,READONLYENTRYBReset_HandlerBUndefined_HandlerBSWI_HandlerBPrefetch_HandlerBDataAbort_HandlerNOPBIRQ_HandlerBFIQ_Handlerboot的代碼段,屬性為只讀,ENTRY本來只表示為一個(gè)普通入口點(diǎn),Boot代碼中,ENTRY被定義為初始化入口點(diǎn),ENTRY來標(biāo)示普通入口點(diǎn),但多次ENTRY后,就無法讓系統(tǒng)知道鏡像的第一條執(zhí)行的指令在哪里,就必須在編譯時(shí)增加-entryaddressENTRY或ENTRY會發(fā)生什么現(xiàn)象?;氐缴厦娴拇a中,B,AREAENTRY都是偽操作,在不分配成實(shí)質(zhì)的指令,所以,B指令,Boot代碼,點(diǎn)是不起作用的,因?yàn)樗鼰o需被加載而運(yùn)行,ELF頭文件中,該值可被操作系統(tǒng)讀取而跳轉(zhuǎn)到初始入口點(diǎn)執(zhí)行?!緦?shí)驗(yàn)內(nèi)容】1?分析代碼結(jié)合以上說明,對本實(shí)驗(yàn)所提供的匯編源代碼進(jìn)行分析,深入理解針對具體的硬件實(shí)現(xiàn),軟件是如何配合工作的。2?程序的編譯和下載ADS,ProjectàMake,F7進(jìn)行編譯?像文件。如圖所示:3?觀察系統(tǒng)運(yùn)行情況,對系統(tǒng)進(jìn)行源碼調(diào)試?!玖?xí)題與思考題】1?簡述ELF文件的內(nèi)部層次結(jié)構(gòu)。2?4個(gè)參數(shù)-ro_base,-rw_base,-first,-entry的意義。3?化入口點(diǎn)和普通入口點(diǎn)的區(qū)別,分別用在什么場合。實(shí)驗(yàn)二IRQ中斷處理【實(shí)驗(yàn)?zāi)康摹俊虒W(xué)習(xí)編寫中斷處理程序【實(shí)驗(yàn)原理】1?程序介紹本章例子主要使用按鍵實(shí)現(xiàn)外部中斷,執(zhí)行中斷服務(wù)子程序。系統(tǒng)啟動后,按12345678任意鍵,相應(yīng)的八段數(shù)碼管就會點(diǎn)亮。2?中斷向量表當(dāng)異常中斷發(fā)生時(shí),系統(tǒng)執(zhí)行完當(dāng)前指令后,將跳轉(zhuǎn)到相應(yīng)的異常中斷處理程,ARM向量表,7種異常中斷類型的“入口地址”登記在一塊連續(xù)的字節(jié)空間內(nèi),每種異常中斷的“入口地址”4個(gè)字節(jié),這里“入口地址PC,Bldr指令。簡單地說,異常中斷發(fā)生首先會跳轉(zhuǎn)到中斷向量表,此時(shí)跳轉(zhuǎn)的位置會由系統(tǒng)根據(jù)中斷類型來判斷,由于中斷向量表實(shí)質(zhì)也是跳轉(zhuǎn)指令所組成的指令序列,所以系統(tǒng)會再進(jìn)行一次跳轉(zhuǎn),這次跳轉(zhuǎn)便跳到中斷處理程序(中斷服務(wù)例程)章開始,Boot程序的編寫時(shí)便開始接觸中斷向量表,Boot程序的第一bpost就是中斷向量表里的第一個(gè)單元空間(4個(gè)字節(jié)),這個(gè)單元空間是用作處理復(fù)位異常中斷。由于一條B和Ldr32位的指令,4個(gè)字節(jié),所以整個(gè)中斷向量表可以是如下形式:IMPORTReset_HandlerIMPORTUndef_instrution_HandlerIMPORTSWI_HandlerIMPORTPrefetch_HandlerIMPORTAbort_HandlerIMPORTIRQ_HandlerIMPORTFIQ_HandlerAREAboot,CODE,READONLYBReset_HandlerBUndef_instrution_HandlerBSWI_HandlerBPrefetch_HandlerBAbort_HandlerNOPBIRQ_HandlerBFIQ_Handler或者使用Ldr指令來實(shí)現(xiàn):AREAboot,CODE,READONLYLDRPC,=Reset_Handle

溫馨提示

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

評論

0/150

提交評論