嵌入式操作系統(tǒng)



《嵌入式操作系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《嵌入式操作系統(tǒng)(75頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、,,,,,,,單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,,*,嵌入式操作系統(tǒng),—SkyEye 簡介,李春杰,,,主要內(nèi)容,,SkyEye簡介,,SkyEye模擬硬件介紹,,SkyEye的安裝和使用,,安裝,,運(yùn)行hello,,編譯并運(yùn)行,uCLinux,,,,參考教材,,源碼開放的,,嵌入式系統(tǒng)軟件分析與實(shí)踐,,,——基于SkyEye和ARM開發(fā)平臺(tái),,北京航空航天大學(xué)出版社 陳渝 李明 等編著,,SkyEye簡介1,SkyEye是一個(gè),開源,軟件項(xiàng)目,中文名字是“天目”。,,SkyEye的起源和發(fā)展,,陳渝:做一個(gè)用軟件實(shí)現(xiàn)的,
2、嵌入式開發(fā)硬件模擬器,,可以在模擬器上運(yùn)行各種操作系統(tǒng),這樣就可以在沒有開發(fā)板的情況下學(xué)習(xí)和研究操作系統(tǒng),,,Skyeye的網(wǎng)站:,http://,,SkyEye簡介2,SkyEye的,目標(biāo),:在通用的Linux和Windows平臺(tái)上實(shí)現(xiàn)一個(gè)純軟件集成開發(fā)環(huán)境,模擬多種主流的嵌入式計(jì)算機(jī)系統(tǒng)。,,目前可在SkyEye上運(yùn)行的系統(tǒng)有:,,1)多種嵌入式操作系統(tǒng),如ARM Linux、μClinux、μC/OS-II等,,2)各種系統(tǒng)軟件,如嵌入 式TCP/IP協(xié)議棧-lwIP,圖形子系統(tǒng)-MiniGUI等,,可對上述軟件系統(tǒng)進(jìn)行源碼級(jí)的分析、調(diào)試和測試。,,,SkyEye模擬硬件介紹,目前,S
3、kyEye模擬了大量的硬件,包括CPU內(nèi)核、存儲(chǔ)器、存儲(chǔ)器管理單元、緩存單元、串口、網(wǎng)絡(luò)芯片、時(shí)鐘等,,CPU和開發(fā)板系列:,,目前SkyEye可以模擬的CPU主要是基于ARM內(nèi)核的CPU,包括ARM7TDMI,ARM720T, ARM9TDMI,ARM9xx,ARM10xx,StrongARM,XScale等,,,SkyEye模擬硬件介紹,目前SkyEye模擬的開發(fā)板包括,,基于Atmel 91X40/AT91RM92 CPU的開發(fā)板,基于Crirus Logic ep7312的開發(fā)板、基于StrongARM CPU的ADSBITSY開發(fā)板,基于XScale PXA250 CPU的L
4、UBBOCK開發(fā)板、基于SAMSUNG S3C4510B/S3C44B0 CPU的開發(fā)板、基于SHARP LH7A400 CPU的開發(fā)板、基于Philip LPC22xx CPU的開發(fā)板等。,,主要模擬了對應(yīng)各個(gè)開發(fā)板的串口、時(shí)鐘、RAM、ROM、LCD、網(wǎng)絡(luò)芯片等硬件外設(shè),,,,,SkyEye模擬硬件介紹,存儲(chǔ)器管理單元和緩存單元,,MMU,Memory Management Unit,存儲(chǔ)器管理單元,是用來管理虛擬內(nèi)存系統(tǒng)的硬件。,,MMU的兩個(gè)主要功能是:1)將虛地址轉(zhuǎn)換成物理地址;2)控制存儲(chǔ)器的存取權(quán)限。,,MMU關(guān)掉時(shí),虛地址直接輸出到物理地址總線,,SkyEye模擬硬
5、件介紹,CACHE,緩存單元,主要用于緩存內(nèi)存中的數(shù)據(jù),其讀寫速度遠(yuǎn)快于內(nèi)存的讀寫速度,所以可以提高CPU的內(nèi)存數(shù)據(jù)的訪問效率。,,write/read buffer硬件單元,write/read buffer硬件單元的作用與CACHE的作用類似。,,,SkyEye模擬硬件介紹,MMU、CACHE、write/read buffer一般是高性能CPU的重要組成部分,且不同類型CPU的MMU、CACHE、write/read buffer的邏輯行為也有一定的差異。為了支持模擬多種類型CPU的MMU/CACHE,SkyEye包含了一個(gè)通用的MMU/CACHE模擬實(shí)現(xiàn)。通過對一些參數(shù)的調(diào)整可以支持模
6、擬多種類型的MMU/CACHE物理結(jié)構(gòu)和邏輯行為。,,,SkyEye模擬硬件介紹,網(wǎng)絡(luò)芯片,,目前SkyEye模擬了網(wǎng)絡(luò)芯片8019AS,,,其特點(diǎn)是:NE2000兼容,內(nèi)建16KRAM緩沖區(qū),10MB傳輸速率。,,雖然目前模擬的開發(fā)板上不一定有網(wǎng)絡(luò)芯片8019AS,但可以在模擬的開發(fā)板上加上網(wǎng)絡(luò)芯片8019AS 的模擬。,,SkyEye的安裝,,Linux操作系統(tǒng),,Windows+MingW或cygwin,,有兩種安裝方法,,下載源代碼,編譯并安裝,,直接安裝二進(jìn)制代碼,,下載源代碼,編譯并安裝,最新版本情況,,下載,,為編譯的skyeye準(zhǔn)備編譯環(huán)境,,,,解壓縮,,,,,,,編譯并安裝
7、,,簡單編譯,,./con?gure CC=gcc-3.4 //利用gcc-3.4進(jìn)行編譯也可以選用其他合適的版本,,Make,,,,,,sudo make install,,,,判斷安裝是否成功,,下載測試集,,最新的skyeye-testsuits,版本為,,,解壓縮,,,使用skyeye模擬某個(gè)板子運(yùn)行某個(gè)Linux,,,進(jìn)入到 linux 目錄,修改符號(hào)連接 skyeye指向編譯好的skyeye,,rm skyeye,,ln -s ../../skyeye-1.2.8 rc1/skyeye skyeye,,運(yùn)行如下命令:,,cd,,../../skyeye -c skyeye.con
8、f -e vmlinux,,如成功則表示安裝成功,,在 Linux 的根文件系統(tǒng)中添加 hello,,準(zhǔn)備交叉編譯環(huán)境,,下載的交叉編譯器到你的工作目錄 $WDIR,,,在工作目錄 $WDIR 中解壓縮($WDIR 也可以是根目錄),,tar jvxf,,運(yùn)行hello,編寫簡單的 hello.c,并編譯,,,,,,,,,,,,,,,使用 3.4.1 版本的 arm-linux 交叉編譯器,靜態(tài)編譯得到 elf格式的可執(zhí)行文件:,,hello.c,,看是否安裝成功,,,將 hello 復(fù)制到 linux 的根文件系統(tǒng)映像 initrd.img 中,,掛載根文件系統(tǒng)映像,,mkdir root,
9、,sudo mount -o loop initrd.img root,,將 hello 拷貝到根文件系統(tǒng)中,,sudo cp hello root/bin,,卸載根文件系統(tǒng)映像,,sudo umount root,,,使用 skyeye 啟動(dòng) linux,運(yùn)行 hello,,skyeye -c skyeye.conf -e vmlinux,,進(jìn)入 armlinux 之后,進(jìn)入 bin 目錄,運(yùn)行 hello,,,,,直接安裝二進(jìn)制代碼,,下載編譯好的SkyEye的二進(jìn)制包,,到上找到最合適的版本,,例如二進(jìn)制包在,這里,是,,在合適的目錄下解壓縮,,/usr/local/ 或者/opt/,,
10、bz2格式使用“tar -xjvf 壓縮文件名,,,skyeye在解壓縮得到的目錄中的bin子目錄下,,,將skyeye的路徑添加到PATH,,修改~/.bashrc文件:添加 export PATH=$PATH:所選目錄/skyeye-insight/bin(如下圖),,,,,,為使修改后的.bashrc有效,必須先退出控制臺(tái),然后重新啟動(dòng)控制臺(tái),,運(yùn)行skyeye,得到進(jìn)入skyeye的畫面,如圖:,,,,,,,編譯并運(yùn)行,uCLinux,,為uC,Linux安裝交叉編譯環(huán)境并配置uCLinux,,編譯生成,uC,Linux,和包含應(yīng)用程序的文件系統(tǒng),,用,skyeye,運(yùn)行和調(diào)試,uC,
11、Linux,內(nèi)核,,,1、,安裝交叉編譯環(huán)境,為uC,Linux的開發(fā)提供相應(yīng)的交叉編譯工具,,如:,arm-elf-tools-20030314.sh,,安裝,,在,root,權(quán)限下運(yùn)行,,sh ./arm-elf-tools-20030314.sh,,檢查一下,,對,arm-elf,運(yùn)用,shell,的,tab,功能可以看到一系列,arm-elf,打頭的程序,如,,binutils,系列、,gcc,、,gdb,等等,,也可以使用命令:arm-elf-gcc -v,,,,,,,測試arm-elf-gcc,,,編譯,,arm-elf-gcc -elf2flt -o hello hello.c,
12、,得到的輸出文件,,hello和hello.gdb,,檢查hello的格式,,file hello,,如何運(yùn)行hello???,,,,,-Wl,-elf2flt選項(xiàng)讓鏈接器將elf格式轉(zhuǎn)換為flt格式,,,最新實(shí)驗(yàn)表明,直接使用-elf2flt即可,源文件,生成的文件,,運(yùn)行,hello,hello必須在target環(huán)境上,無法在host上,,,,,如何準(zhǔn)備target的運(yùn)行環(huán)境,,skyeye====模擬器,,uCLinux====操作系統(tǒng)??,,文件系統(tǒng)??,,……??,,,生成,uCLinux,操作系統(tǒng),兩種方案,,使用,skyeye,提供的二進(jìn)制包,,自己動(dòng)手編譯配置,uCLinux
13、,,,編譯配置uClinux,到uClinux,網(wǎng)站的,發(fā)行頁,上下載,,本課例子為,發(fā)行版,uClinux-dist-20051110,,使用”tar -xzvf”解壓縮,得到uClinux-dist目錄,,在uClinux-dist目錄下,,第一步:配置uClinux命令:make config在vendor/product選賢中選擇GDB/ARMulatorKernel版本選擇2.4.x其他選項(xiàng)不變(使用缺省選項(xiàng)),,,第二步:編譯生成uClinux,和文件系統(tǒng)命令:make dep; make,,編譯成功?,,uClinux-dist目錄里將出現(xiàn)一個(gè)images目錄,,在中出
14、現(xiàn)了linux、system.map,,image.bin:,,包含Linux內(nèi)核映像和romfs文件系統(tǒng)映像,,可以燒寫到flash中,romfs.img:romfs文件系統(tǒng)映像,linux:linux內(nèi)核文件,system.map:,內(nèi)核符號(hào)表,,用skyeye運(yùn)行,ucLinux,制作skyeye的硬件配置文件,第一步,制作skyeye的硬件配置文件,,vi skyeye.conf,,,,,,,第二步,提供上面所需的boot.rom,,命令:ln -s images/romfs.img boot.rom,將romfs燒寫到flash中,,,第三步,在skyeye下運(yùn)行,uCLinux
15、,,命令:sudo skyeye,,進(jìn)入skyeye后,,,命令1:target sim,,命令2:load,,命令3:run,,進(jìn)入uCLinux,,,,,,直接使用uCLinux的二進(jìn)制包,,下載skyeye的二進(jìn)制包,,,,,,,,使用“tar -xjvf” 解壓縮,,,使用,uCLinux,作為運(yùn)行操作系統(tǒng),,,,,,,使用skyeye運(yùn)行,μcLinux,,skyeye linux,,target sim,,load,,run,,,將hello拷貝到,uCLinux,的,romfs,文件系統(tǒng)中,將boot.rom中的內(nèi)容在host中解開,方法如下:,,mkdir romfs,,mkd
16、ir /mnt/tmp,,mount -o loop boot.rom /mnt/tmp,,cp -r /mnt/tmp/* romfs,,將hello拷貝到romfs中的bin目錄下,,重新生成boot.rom映像,,genromfs -f boot.rom –d romfs/,,,運(yùn)行hello,,在模擬器上運(yùn)行,,啟動(dòng)模擬器、裝載操作系統(tǒng)、裝載文件系統(tǒng),,skyeye,,file linux,,target sim,,load,,run,,進(jìn)入bin目錄運(yùn)行hello,,,,,,ARMboot 的運(yùn)行,,ARMboot屬于自由軟件,,http:///,是針對ARM CPU編寫的通用Boo
17、t Loader,其作用是,,對CPU以及主板進(jìn)行初始化,,加載操作系統(tǒng)或者其他boot image,,支持目前市面上的多種ARM板,也可以很容易的移植到新的開發(fā)板上,,目前ARMboot已經(jīng)與PPCBoot合并,?u-boot,,支持PPC、ARM等多種CPU,,,下載并安裝ARMboot,,Armboot源碼公開,可以在, –zxf,,README,,,,為了使用arm-elf-打頭的交叉編譯命令,需要修改中的CROSS_COMPILE變量的值arm-linux-為arm-elf-,,或者安裝arm-linux-交叉編譯包,,,安裝arm-linux-交叉編譯包,,下載,,mkdir –
18、p /usr/local/arm,,cd /usr/local/arm,,tar jxf cross-2.95.3.tar.bz2,,這就有了一個(gè)arm-linux-交叉編譯環(huán)境了,,修改.bashrc,添加,,,,,查看是否安裝成功?,,退出并重新進(jìn)入控制臺(tái),,對“arm-linux-”使用tab鍵,可以看到所有“arm-linux-”打頭的工具,,使用命令“arm-linux-gcc -v”查看編譯器信息,,,,,,修改armboot,,include/configs/conifg_ep7312.h,,,配置armboot的啟動(dòng)方式,,,配置armboot,支持ep7312開發(fā)板,,m
19、ake ep7312_config,,Build,,sudo make all,,,,,各種格式的,,目標(biāo)文件,,,生成的目標(biāo)文件有三個(gè):,,armboot:ELF格式,,armboot.bin:二進(jìn)制映像文件格式,,armboot.srec:Motolola的一種格式,,此外在根目錄的tftpboot目錄下也有一個(gè)armboot.bin備份,,,配置skyeye,并運(yùn)行armboot,首先,新建一個(gè)目錄代表ep7312的主板,,mkdir ep7312forArmboot,,將剛才編譯成功的armboot.bin拷貝到這個(gè)目錄下,,skyeye支持raw binary和ELF格式,這里我們用
20、raw binary的格式,,編輯skyeye.conf,,skyeye.conf如下(下頁),,此時(shí),ep7312forArmboot主板就配置好了,,skyeye.conf,,#skyeye config file for armboot cpu: arm720t mach: ep7312 mem_bank: map=I, type=RW, addr=0x80000000, size=0x00010000 #skyeye for armboot flash 16M bank 1 mem_bank: map=M, type=RW, addr=0x00000000, size=0
21、x01000000, file=./armboot.bin,boot=yes #skyeye for armboot sdram 16M bank 1 mem_bank: map=M, type=RW, addr=0xc0000000, size=0x01000000,,log: logon=0, logfile=/tmp/c_2.log, start=0, end=10000,,,運(yùn)行skyeye進(jìn)入ARMboot命令界面,,ARMboot的命令,,,,,U-boot在,skyeye中運(yùn)行,下載源碼,,解壓縮,,tar jvxf,,編譯 u-boot使用交叉編譯器:arm-linux-
22、tools-20061213.tar.gz (gcc 版本為 3.4.4),,make ep7312 con?g,,make all,,,,,在skyeye中運(yùn)行u-boot,,可以根據(jù)需要修改,在include/configs/ep7312.h中,,U-boot的缺省啟動(dòng)方式,,,,,修改結(jié)束后,配置并編譯,make ep7312_config,,sudo make all,,,編寫skyeye.conf,,#skyeye?config?file?for?ubootcpu:?arm720tmach:?ep7312?mem_bank:?map=I,?type=RW,?addr=0x800
23、00000,?size=0x00010000#skyeye?for?uboot?flash?16M?bank?1mem_bank:?map=M,?type=RW,?addr=0x00000000,?size=0x01000000,?file=./u-boot.bin,boot=yes#skyeye?for?uboot?sdram?16m?bank?1mem_bank:?map=M,?type=RW,?addr=0xc0000000,?size=0x01000000,,注意這里的內(nèi)存的地址和容量的分配都是根據(jù)uboot里面的ep7312的配置文件調(diào)整的。這樣也可以是我們對uboot的代碼修改做到最小。,,,,運(yùn)行Skyeye,,由于u-boot限時(shí)自動(dòng)boot,所以在run之后要立刻使用“回車”鍵阻止autoboot,,,進(jìn)入u-boot的界面,,,,謝謝聽講,,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題黨課講稿:以高質(zhì)量黨建保障國有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅(jiān)決打好反腐敗斗爭攻堅(jiān)戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風(fēng)清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會(huì)上和基層單位調(diào)研座談會(huì)上的發(fā)言材料
- 總工會(huì)關(guān)于2025年維護(hù)勞動(dòng)領(lǐng)域政治安全的工作匯報(bào)材料
- 基層黨建工作交流研討會(huì)上的講話發(fā)言材料
- 糧食和物資儲(chǔ)備學(xué)習(xí)教育工作部署會(huì)上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機(jī)關(guān)單位、市紀(jì)委監(jiān)委2025年工作計(jì)劃
- 檢察院政治部關(guān)于2025年工作計(jì)劃
- 辦公室主任2025年現(xiàn)實(shí)表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項(xiàng)規(guī)定精神學(xué)習(xí)教育工作部署會(huì)議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學(xué)習(xí)教育動(dòng)員部署會(huì)上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習(xí)組學(xué)習(xí)會(huì)上的發(fā)言材料
- 國企黨委關(guān)于推動(dòng)基層黨建與生產(chǎn)經(jīng)營深度融合工作情況的報(bào)告材料
- 副書記在2025年工作務(wù)虛會(huì)上的發(fā)言材料2篇
相關(guān)資源
更多