久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  嵌入式硬件技術討論專區  (http://www.xinguifushi.cn/bbs/list.asp?boardid=15)
----  硬件仿真實現之一 SkyEye的設計實現  (http://www.xinguifushi.cn/bbs/dispbbs.asp?boardid=15&id=1478)

--  作者:wangxinxin
--  發布時間:2010-11-19 9:08:18
--  硬件仿真實現之一 SkyEye的設計實現
本文章主要介紹了SkyEye硬件模擬平臺的實現細節,主要內容包括SkyEye的總體設計、SkyEye的可擴展框架、SkyEye的關鍵數據結構、SkyEye對各種CPU的模擬實現、SkyEye對各種外設的模擬實現、如何安裝使用SkyEye以及如何擴展SkyEye的仿真模塊等。對SkyEye的深入了解,有助于對嵌入式硬件系統有更深入的認識,特別是對操作系統、驅動程序如何與嵌入式硬件系統進行交互有更深刻的了解。

一、 SkyEye目標模擬模塊功能劃分:

                  
如上所示。SkyEye目標模擬模塊從功能上可分為如下幾大模塊:

●配置選項解析和初始化模塊:在模擬硬件開始運行前,根據配置文件的選項,控制對模擬硬件的配置和初始化。相關文件包括:
arminit.c:控制各種模擬硬件的初始化
skyeye_config.[ch]:解析配置文件的選項行
skyeye_options.c:根據各種硬件的選項,完成各種配置



●    處理器模擬宏模塊:主要完成與處理器體系結構相關的模擬,它可細分為:CPU指令模擬執行模塊、MMU/CACHE模擬模塊、CoProcessor(又稱協處理器)模擬模塊。


CPU指令模擬執行模塊:其主要任務是:當模擬硬件開始運行,完成指令讀取,指令譯碼,指令執行的工作;如果CPU狀態發生了改變,調整指令和各種寄存器值;在指令執行前,調用開發板IO模擬模塊的io_do_cycle驅動模擬各種外設的行為。主要的文件包括:
armemu.[ch]:模擬CPU的3級流水線,并具體執行各種指令


MMU/CACHE模擬模塊:本模塊分為兩部分:與具體CPU類型無關的MMU/CACHE模擬子模塊和與具體CPU類型相關的模擬子模塊。主要的任務是:根據配置文件進行初始化;進行MMU/CACHE模擬;執行與MMU/CACHE相關的指令。如果CPU指令模擬模塊執行讀寫存儲器的操作指令,則轉到MMU/CACHE模擬模塊。如果模擬的CPU類型不支持MMU(如ARM7TDMI),則SkyEye會根據將訪問的地址,直接轉到MEMORY模擬模塊或開發板IO模擬模塊;否則轉到具體CPU類型相關的模擬子模塊進行MMU/CACHE模擬。主要的文件包括兩部分:
與具體CPU類型無關的MMU/CACHE模擬子模塊:
armvirt.c、armmmu.c、mmu/*.[ch]
與具體CPU類型相關的MMU/CACHE模擬子模塊:
sa_mmu.[ch]:模擬strongarm的MMU/CACHE
arm7100_mmu.[ch]:模擬arm7[12]0T的MMU/CACHE
xscale_copro.c:模擬xscale的MMU/CACHE
arm920t_mmu.[ch]:模擬arm920t的MMU/CACHE


CoProcessor(又稱協處理器)模擬模塊:其主要任務是:完成各種協處理器的初始化;執行各種協處理器的指令。實際上MMU/CACHE模擬模塊的一部分工作是模擬ARM的第15號協處理器,它的主要功能是配置MMU/CACHE等。主要的文件包括:
armcopro.c:根據配置信息,完成對ARM協處理器的初始化配置
xscale_copro.c:模擬xscale的協處理器cp13、cp14、cp15
sa_mmu.[ch]、arm7100_mmu.[ch]:模擬strongarm、ep7312的協處理器cp15
arm920t_mmu.[ch]:模擬arm920t的協處理器cp13、cp14、cp15


●    IO模擬宏模塊:本模塊包含各種邏輯行為各異的外設模擬,主要包括系統IO模擬模塊、網絡芯片模擬模塊、LCD模擬模塊等。


系統IO模擬模塊:本模塊的主要任務包括:根據配置文件進行IO和外設初始化;完成各種外部IO設備的模擬(如時鐘計數器累加、產生中斷、LCD顯示等);進行各種特定CPU和外設的IO寄存器讀寫的模擬。本模塊與各種具體的開發板和CPU有很緊密的聯系,主要的文件包括:
armio.[ch]:建立在各個特定模擬子模塊上的抽象層模塊
skyeye_mach_at91.c:模擬Atmel AT91X40開發板
skyeye_mach_ep7312.c:模擬cirrus ep7312開發板
skyeye_mach_pxa.c:模擬intel xscale lubbock開發板
skyeye_mach_s3c4510b.c:模擬基于samsung s3c4510b的開發板
skyeye_mach_s3c44b0.c:模擬基于samsung s3c44b0的開發板
skyeye_mach_sa.c:模擬基于intel strongam的adsbitsy開發板
skyeye_mach_lpc.c:模擬基于philip lpc2249的開發板
skyeye_mach_sharp.c:模擬基于sharp lh7a400的開發板
skyeye_mach_at91rm92.c:模擬基于atmel at91rm9200的開發板
skyeye_mach_cs89712.c:模擬基于cs89712的開發板


網絡芯片模擬模塊:本模塊主要完成了對8019AS網絡芯片的模擬工作,主要任務包括:模擬8019AS的控制邏輯、8019AS與具體開發板IO模擬模塊的接口、虛擬網絡輸入輸出接口處理。主要的文件包括:
skyeye-ne2k.[ch]:8019AS的硬件邏輯模擬
skyeye_mach_at91.c:部分內容完成接收虛擬網絡輸入處理模擬
skyeye_net_tuntap.c:配置tuntap虛擬網絡的接口
skyeye_net_vnet.c:配置vnet虛擬網絡的接口
vnet.c、if_vnet.h:獨立存在的軟件包,vnet虛擬網絡的具體實現


LCD/TouchScreen模擬模塊:本模塊主要完成LCD/TouchScreen控制邏輯的模擬,是目前唯一需要GUI支持的模塊,它的主要任務是:配置LCD/TouchScreen硬件模擬、模擬LCD/TouchScreen控制邏輯。有關LCD/TouchScreen模擬相關的文件包括:
skyeye_lcd.[ch]: LCD/TouchScreen配置和LCD/TouchScreen模擬的通用控制邏輯
skyeye_mach_*.c:與開發板相關LCD/TouchScreen的控制邏輯和中斷處理,目前支持ep7312和pxa255的skyeye模擬。


MEMORY模擬模塊:本模塊與具體的CPU和開發板無關,它的主要任務包括:根據配置文件進行內存初始化,并加載binary image文件;進行RAM/ROM讀寫的模擬。主要的文件包括:
armmem.[ch]:主要完成RAM/ROM讀寫模擬
主站蜘蛛池模板: 日本暖暖在线视频 | 手机看黄av免费网址 | 一级特黄国产高清毛片97看片 | 国产丝袜不卡一区二区 | 亚洲激情黄色 | 女人张开腿给男人捅 | 国内精品91最新在线观看 | 91视频免费播放 | 欧美成人一区二区三区在线视频 | 一区二区三区欧美 | 欧美精品一区二区三区在线 | 一级特黄特色的免费大片视频 | 国产一区免费观看 | 国产成人在线看 | 网红主播大尺度精品福利视频 | 国产亚洲精品成人婷婷久久小说 | 国产高清精品久久久久久久 | 欧美乱爱 | 午夜爽爽爽男女免费观看hd | 国产精品日本欧美一区二区 | 色偷偷资源网 | 91精品国产免费久久久久久青草 | 亚洲精品久久久久综合91 | 国产在线91精品入口首页 | 久久国内免费视频 | 成人精品一区二区三区中文字幕 | 中文字幕一区二区三区久久网站 | 成人永久免费视频网站在线观看 | 99re在线精品视频 | 国产精品久久福利网站 | 成年人www | 国产女主播在线 | 国产深夜福利在线观看网站 | 国产一区二区免费在线 | 日韩欧美在线看 | 精品日韩一区二区三区视频 | 久久国产热视频 | 模特三级在线观看 | 欧美精品亚洲一区二区在线播放 | 国产思思 | 亚洲精品线在线观看 |