資源描述:
《嵌入式復(fù)習(xí)資料》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、1.嵌入式平臺移植步驟(移植bootload,操作系統(tǒng)的移植)?①硬件平臺上,bootloader移植。②內(nèi)核的修改、配置、編譯③驅(qū)動程序的移植,包括編寫、編譯驅(qū)動程序。④文件系統(tǒng)的移植,包括其修改、配置、編譯。⑤開發(fā)環(huán)境的移植⑥應(yīng)用程序編寫2.搭建嵌入式可開發(fā)平臺,主機(jī)連接目標(biāo)板,使用通信接口連接方式?通信接口連接方式:串口連接、網(wǎng)口連接、并口連接。軟件建立連接:①在Linux卜,使用minicom②在windows系統(tǒng)下,使用超級終端。3.將內(nèi)核映像、根文件系統(tǒng)映像傳輸?shù)娇盏拈_發(fā)板上并啟動需要哪些步驟?連線一>燒寫bootloader—>丿書動bootloader—>配置PFT服務(wù)一
2、>bootloader傳輸引導(dǎo)文件系統(tǒng)、linux內(nèi)核一>啟動4.bootloader主要作用,完成工作,分為兒部分?Bootloader定義:在操作系統(tǒng)內(nèi)核運(yùn)行前運(yùn)行的一段小程序,可以對硬件設(shè)備,如CPU、SDRAM、Flash、串口等進(jìn)行初始化,也可以下載到開發(fā)板,對Flash進(jìn)行擦除和編程,引導(dǎo)和加載內(nèi)核鏡像。主要作用:①初始化RAM(必需)②初始化串口(可選,推薦)③啟動內(nèi)核鏡像(必需)主要任務(wù):⑴bootloader的stagel①基本破件初始化②為加載stage準(zhǔn)備RAM空間③拷貝stage2到ARM中④設(shè)置堆棧指針SP⑤跳轉(zhuǎn)到stage2的入口點⑵bootloader的st
3、age2①初始化木階段要使用的碩件設(shè)備②檢測系統(tǒng)的內(nèi)存映射(memorymap)③加載內(nèi)核映像和根文件系統(tǒng)映像④設(shè)置內(nèi)核啟動參數(shù)⑤調(diào)用內(nèi)核5.利用開發(fā)環(huán)境在開發(fā)板上運(yùn)行C語言編寫程序?6.偽指令的含義:在ARM匯編程序里,有一些特殊指令助記符,這些助記符與指令系統(tǒng)的助記符不同,沒有相對應(yīng)的操作碼,通常稱這些特殊指令助記符為偽指令,他們所完成的操作稱為偽操作。(在ARM的匯編程序中,有如下幾種偽指令:符號定義偽指令、數(shù)據(jù)定義偽指令、匯編控制偽指令、宏指令以及其他偽指令)7.vivi是韓國mizi公司開發(fā)的bootloader,適用于ARM9處理器。vivi有兩種工作模式:啟動加載模式和下載
4、模式。啟動加載模式可以在一段時I'可后(這個時間可更改)自行啟動linux內(nèi)核,這時vivi的默認(rèn)模式。在下載模式下,vivi為用戶提供一個命令行接口,通過接口可以使用vivi提供的一些命令。女口K:命令Load功能:把二進(jìn)制文件載入Flash或RAMPart功能:操作MTD分區(qū)信息。顯示、增加、刪除、復(fù)位、保存MTD分區(qū)Param功能:設(shè)置參數(shù)Boot功能:啟動系統(tǒng)Flash功能:管理Flash,如刪除Flash的數(shù)據(jù)vivi代碼vivi的代碼包括arch,init,lib,drivers和include等幾個目錄,共200多條文件。vivi主要包括下面幾個目錄:arch:此目錄包插了
5、所有vivi支持的目標(biāo)板的子目錄,例如s3c2410目錄。drivers:其中包括了引導(dǎo)內(nèi)核需要的設(shè)備的驅(qū)動程序(MTD和串口)。MTD目錄下分map、nand和nor三個目錄。init:這個目錄只有main,c和version,c兩個文件。和普通的C程序--樣,vivi將從main函數(shù)開始執(zhí)行。lib:一些平臺公共的接口代碼,比如time,c里的udelay()和mdelay()。include:頭文件的公共目錄,其中的s3c2410.h定義了這塊處理器的一些寄存器。Platform/smdk2410.h定義了與開發(fā)板相關(guān)的資源配置參數(shù),我們往往只需耍修改這個文件就可以配置目標(biāo)板的參數(shù)
6、,如波特率、引導(dǎo)參數(shù)、物理內(nèi)存映射等。&vi的三種模式:命令行模式、最后行模式(末行模式)、文本輸入模式(編輯模式)。P479.①命令gcc-cmain.c只編譯不鏈接。②命令gccmain.c口J執(zhí)彳了文件名為a.out(未指定文件名系統(tǒng)默認(rèn))。③命令gccmain.c-omain將可執(zhí)彳亍文件名指定為main。④.s后綴的文件為匯編文件P5010.調(diào)試器GDB常用命令:⑴啟動(GDB)⑵載入程序(file文件名)⑶退出GDB(quit)⑷運(yùn)行程序(run)⑸查看程序信息(info)⑹列出一段源程序list(7)設(shè)置斷點(break)⑻條件斷點(break...ifCOND)⑼設(shè)置監(jiān)視
7、點(watchEXPRESSION)(⑹檢查數(shù)據(jù)(print表達(dá)式的值)(11)修改變量值(setvariable=value)(吆)檢查內(nèi)存值(x/NFUADDR)(13)輸岀格式(/F)(14)單步執(zhí)行指令(step和next)(15)繼續(xù)執(zhí)行指令(continue)(⑹幫助指令(help)P55?P5811?什么是Makefile?Makefile是定義了一系列的規(guī)則來指定,哪些文件需耍先編譯,哪些文件需耍后編譯,哪些文件需耍