|
嵌入式軟件工程師網(wǎng)絡(luò)培訓(xùn)_嵌入式系統(tǒng)仿真集成開發(fā)環(huán)境SkyEye,
SkyEye
SkyEye是一個在Linux和 Windows平臺上實現(xiàn)純軟件仿真的集成開發(fā)環(huán)境,它基于GPL協(xié)議,可在SkyEye上運行Linux、mClinux以及mC/OS-II 等多種嵌入式操作系統(tǒng)和各種系統(tǒng)軟件(如TCP/IP、圖形子系統(tǒng)、文件子系統(tǒng)等),并可對它們進行源碼級的分析和測試。
SkyEye作為指令級仿真器,可以仿真多種嵌入式開發(fā)板,支持多種CPU指令集,在SkyEye上運行的操作系統(tǒng)意識不到它是在一個虛擬環(huán)境中運行,而且開發(fā)人員可以通過SkyEye調(diào)試操作系統(tǒng)和系統(tǒng)軟件。由于SkyEye的目標(biāo)不是驗證硬件邏輯,而是協(xié)助開發(fā)、調(diào)試和學(xué)習(xí)系統(tǒng)軟件,所以在實現(xiàn)上SkyEye與真實的硬件環(huán)境相比有一定差別。在時鐘節(jié)拍的時序上,SkyEye不保證與硬件完全相同,并簡化了對軟件透明的一些硬件仿真,這樣可以提高SkyEye的執(zhí)行效率。
在32位嵌入式CPU領(lǐng)域中,ARM系列CPU所占比重相當(dāng)大,因此SkyEye首先選擇了ARM CPU核作為仿真目標(biāo)CPU核。SkyEye可用于學(xué)習(xí)、分析、開發(fā)Linux、mClinux、mC/OS-II操作系統(tǒng)內(nèi)核和TCP/IP實現(xiàn),了解ARM嵌入式CPU編程,而這一切都可在一個集成環(huán)境中完成。如果能夠改進SkyEye本身,則大家對ARM、8019 ethernet網(wǎng)絡(luò)芯片等硬件的了解也會更深入。由于SkyEye與GDB可以無縫結(jié)合,開發(fā)者可以方便地使用GDB提供的各種調(diào)試手段對SkyEye仿真系統(tǒng)上的軟件進行源碼級調(diào)試,還可以進行各種分析,如執(zhí)行熱點分析、程序執(zhí)行覆蓋度分析等。
SkyEye技術(shù)分析
SkyEye實現(xiàn)的硬件仿真
* CPU和開發(fā)板系列
目前SkyEye可以仿真的CPU主要是基于ARM內(nèi)核的CPU,包括ARM7TDMI、StrongARM、ARM720T、ARM9TDMI、ARM9xx、ARM10xx、Xscale、Ateml91x40、EP7312等。
各硬件開發(fā)公司可以根據(jù)它們的需求在上述CPU核上加上特定的擴展,形成基于各種ARM基本核心的特定CPU,如Atmel91X40和 EP7312,則分別擴展了ARM7TDMI和ARM720T的內(nèi)存控制和各種I/O控制器,簡化了開發(fā)板的邏輯設(shè)計,增強了開發(fā)板的功能。
目前SkyEye仿真的開發(fā)板包括基于Atmel91x40、EP7312和StrongARM的adsbitsy開發(fā)板,以及基于XScale PXA250的lubbock開發(fā)板。主要仿真了對應(yīng)各個開發(fā)板的串口、時鐘、RAM、ROM等硬件外設(shè)。嵌入式沙漏程序, 嵌入式今后發(fā)展方向, 韋東山嵌入式視頻2, 上海嵌入式公司, 吊頂嵌入式意思是, 嵌入式馬桶打開, 嵌入式電子設(shè)計題目, 初學(xué)嵌入式項目, 嵌入式論文心得感謝, 樹莓派嵌入式開發(fā), 嵌入式處理器與傳感器, 嵌入式專業(yè)能考研嗎, 5g對嵌入式需求, 無線嵌入式計算機, 嵌入式就業(yè)發(fā)展空間, 內(nèi)蒙嵌入式硬件開發(fā), 美的5匹嵌入式價格, 嵌入式手術(shù)薄膜, 嵌入式技術(shù)感悟, 嵌入式沙發(fā)背景設(shè)計, 上海微系統(tǒng)所嵌入式, 嵌入式警示教育,
* 存儲器管理單元和緩存單元
MMU即存儲器管理單元,是用來管理虛擬內(nèi)存系統(tǒng)的硬件。MMU的兩個主要功能是:將虛擬地址轉(zhuǎn)換成物理地址;控制存儲器的存取權(quán)限。MMU關(guān)掉時,虛擬地址直接輸出到物理地址總線。MMU本身有少量存儲空間存放從虛擬地址到物理地址的匹配表,此表稱作TLB。為了支持仿真多種類型CPU的MMU/Cache,SkyEye包含了一個通用的MMU/Cache仿真實現(xiàn)。通過對一些參數(shù)的調(diào)整可以支持仿真多種類型的MMU/cache物理結(jié)構(gòu)和邏輯行為。
* 網(wǎng)絡(luò)芯片
目前SkyEye仿真了8019as網(wǎng)絡(luò)芯片,其特點是:NE2000兼容,內(nèi)建 16K RAM緩沖區(qū),10MB傳輸速率。開發(fā)板上可以加入網(wǎng)絡(luò)芯片8019as,再加上不同操作系統(tǒng)上的8019as驅(qū)動程序,可以完成各種網(wǎng)絡(luò)應(yīng)用設(shè)計開發(fā)。目前已經(jīng)在在基于Atmel91x40的開發(fā)板上實現(xiàn)了網(wǎng)絡(luò)芯片8019as擴展,并增加了mC/OS-II和mClinux的網(wǎng)絡(luò)驅(qū)動程序,支持大量的網(wǎng)絡(luò)應(yīng)用程序,如lwip、nfs server/clinet、http server/client、telnet server/client、ftp server/client等。
SkyEye總體結(jié)構(gòu)
SkyEye基于GDB /armulator,可以仿真完整的嵌入式計算機系統(tǒng),目前包括CPU、內(nèi)存、I/O寄存器、時鐘、UART、網(wǎng)絡(luò)芯片,將來還會有MMU、Cache、LCD、USB等各種硬件。
SkyEye從總體上分為以下四個層次。
用戶接口模塊:處理用戶的輸入命令,并把相關(guān)調(diào)試數(shù)據(jù)輸出給用戶。
符號處理模塊:主要處理執(zhí)行文件的頭信息,解釋執(zhí)行文件中內(nèi)嵌的debuger調(diào)試信息,以及對符號表的管理和對源代碼表達式的解析,并定位源代碼中的語句位置和機器碼的位置關(guān)系等。
目標(biāo)控制模塊:主要完成執(zhí)行控制(如中斷執(zhí)行,中斷條件的設(shè)置等)、程序棧結(jié)構(gòu)分析,以及對具體目標(biāo)硬件的控制(如本地調(diào)試、遠程調(diào)試和仿真調(diào)試的控制)。
目標(biāo)仿真模塊:仿真主要硬件的執(zhí)行,對執(zhí)行文件的機器指令進行解釋,并仿真執(zhí)行每一條機器指令,產(chǎn)生相應(yīng)的硬件響應(yīng)。
|
|