久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇嵌入式硬件開發(fā)專區(qū)嵌入式硬件技術討論專區(qū) → net_config_t數(shù)據(jù)結構:


  共有7061人關注過本帖樹形打印

主題:net_config_t數(shù)據(jù)結構:

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
net_config_t數(shù)據(jù)結構:  發(fā)帖心情 Post By:2010-11-19 9:09:17

 SkyEye支持網(wǎng)絡模擬,目前描述網(wǎng)絡配置的數(shù)據(jù)結構是net_config_t,它的具體內容如下:

typedef struct {
   int state;
   unsigned char macaddr[6];
   unsigned char  hostip[4];
   int ethmod;
   int fd;                    
   int hubindex;
   int (*net_init)(int index, unsigned char *macaddr, unsigned char *hostip);
   unsigned char (*net_output)(int if_fd, ARMul_State *state,\
                   unsigned char startpage,unsigned short packet_len);
   void  (*net_input)(int if_fd, ARMul_State *state);
}net_config_t;

     其中各個field的含義描述如下:
●state:是一個布爾變量,為1表示網(wǎng)絡芯片工作,為0表示網(wǎng)絡芯片不工作
●macaddr:用來保存網(wǎng)絡芯片的mac地址
●hostip:用來保存主機上與SkyEye進行網(wǎng)絡通信所用的IP地址


●ethmod:表示與主機的模擬網(wǎng)絡交互的方式,目前定義的交互方式有:
#define NET_MOD_LINUX 0
#define NET_MOD_TUNTAP 1
#define NET_MOD_WIN 2
#define NET_MOD_VNET 3
目前可以使用的兩種方式有 NET_MOD_VNET(與SkyEye提供的vnet.o內核模塊進行網(wǎng)絡交互)和 NET_MOD_TUNTAP(與linux的tun.on內核模塊進行網(wǎng)絡交互)。
●fd:表示SkyEye用于與主機進行網(wǎng)絡交互的設備文件描述符
●hubindex:用于NET_MOD_VNET方式,表示所處的是第幾個虛擬hub網(wǎng)段。如果它的值是i,則處于第i個hub網(wǎng)段中。
●net_init/net_input/net_output:這三個函數(shù)與具體的模擬網(wǎng)絡交互方式有關,分別完成初始化操作和與主機網(wǎng)絡的輸入輸出操作。相關的實現(xiàn)在文件skyeye_net_*.c中。
    有關8019AS模擬芯片(NE2000兼容)的具體配置與實現(xiàn)位于文件skyeye-ne2k.[ch]中。

6、ARMul_State數(shù)據(jù)結構:
    上面講述的是與SkyEye的硬件配置相關的數(shù)據(jù)結構,可以理解為一種靜態(tài)硬件配置的數(shù)據(jù)結構,這些數(shù)據(jù)結構中的域基本不隨著SkyEye模擬硬件的運行而改變。而ARMul_State描述的是一種動態(tài)硬件配置的數(shù)據(jù)結構,它保存了隨著SkyEye模擬硬件的運行而時刻改變的硬件數(shù)據(jù)。

ARMul_State中的域數(shù)量繁多,大體分為:
與CPU模擬相關的域、與協(xié)處理器模擬相關的域、與內存和MMU/CACHE相關的域
、與統(tǒng)計相關的域、與具體開發(fā)板相關的io部分。


這里只描述其中關鍵的部分:
●與CPU模擬相關的域 :
ARMword Reg[16]:CPU當前模式下的寄存器值
ARMword RegBank[7][16]:CPU所有七種模式下的寄存器值
ARMword Cpsr:CPU的當前程序狀態(tài)寄存器
ARMword Spsr[7]:CPU所有七種模式下的程序狀態(tài)保存寄存器
ARMdword Accumulator:40bit的累加寄存器,目前用于xscale體系結構中
ARMword NFlag, ZFlag, CFlag, VFlag, IFFlags, Sflag,TFlag:各種狀態(tài)位
ARMword Bank:CPU對應模式寄存器組的索引值
ARMword Mode:CPU模式索引值
ARMword instr, pc:pc是目前正在執(zhí)行的程序指針,instr是pc所指地址的內容
ARMword loaded, decoded:loaded是正在加載的指令,decoded是正在解碼的指令
unsigned NfiqSig:FIQ信號
unsigned NirqSig:IRQ信號


●    與協(xié)處理器模擬相關的域:
ARMul_CPInits *CPInit[16]:16個協(xié)處理器的初始化函數(shù)
ARMul_CPExits *CPExit[16]:16個協(xié)處理器的退出函數(shù)
ARMul_LDCs *LDC[16]:16個協(xié)處理器的LDC指令函數(shù)
ARMul_STCs *STC[16]:16個協(xié)處理器的STC指令函數(shù)
ARMul_MRCs *MRC[16]:16個協(xié)處理器的MRC指令函數(shù)
ARMul_MCRs *MCR[16]:16個協(xié)處理器的MCR指令函數(shù)
ARMul_CDPs *CDP[16]:16個協(xié)處理器的CDP指令函數(shù)
ARMul_CPReads *CPRead[16]:16個協(xié)處理器的讀CP寄存器函數(shù)
ARMul_CPWrites *CPWrite[16]:16個協(xié)處理器的寫CP寄存器函數(shù)
unsigned char *CPData[16]:16個協(xié)處理器的數(shù)據(jù)指針
ARMword CP14R0_CCD:在xscale體系結構的CP14協(xié)處理器中,用于統(tǒng)計時鐘周期


●與內存和MMU/CACHE相關的域:
mmu_state_t mmu:mmu/cache的數(shù)據(jù)結構,在armmmu.h中定義,詳解請參考"SkyEye的MMU/CACHE和Memory模擬實現(xiàn)"一節(jié)
mem_state_t mem:memory的數(shù)據(jù)結構,在armmem.h中定義,詳解請參考"SkyEye的MMU/CACHE和Memory模擬實現(xiàn)"一節(jié)
與統(tǒng)計相關的域
unsigned long NumScycles, NumNcycles, NumIcycles, NumCcycles, NumFcycles:用于統(tǒng)計不同狀態(tài)下的周期數(shù)
unsigned long NumInstrs:當前執(zhí)行的指令數(shù)
其它與特定CPU和開發(fā)板相關的各種io寄存器的定義放到了各個與開發(fā)板相關的文件中,如skyeye_mach_at91/ep7312/pxa/sa.c等處,詳解請參考"SkyEye的開發(fā)板IO模擬實現(xiàn)"。

●與具體開發(fā)板相關的io部分:
ARMul_io mach_io;
其中ARMul_io的結構目前為

struct ARMul_io
{
ARMword *instr; //to display the current interrupt state
ARMword *net_flag;//to judge if network is enabled
ARMword *net_int; //netcard interrupt

ARMword *lcd_is_enable;       //turn lcd on?
ARMword *lcd_addr_begin;   //the begining display mem addr of lcd
ARMword *lcd_addr_end;     //the end      display mem addr of lcd
};

instr:是記錄當前的中斷狀態(tài)
net_flag:判斷網(wǎng)絡選項是否打開
net_int:用來記錄網(wǎng)絡中斷號
lcd_is_enable:來記錄LCD是否使能
lcd_addr_begin:記錄lcd顯存的起始位置
lcd_addr_end:記錄顯存的結束位置

7、SkyEye邏輯執(zhí)行流程:
    了解SkEye的總體邏輯執(zhí)行流程,對了解硬件的體系結構和軟件/硬件的接口有較大幫助。從總體上,可把SkyEye邏輯執(zhí)行流程按執(zhí)行的時間順序劃分為兩個階段:
1、SkyEye加載與配置處理過程
2、SkyEye模擬執(zhí)行過程

    第一階段為第二階段的正常執(zhí)行做了充分的準備,具體的執(zhí)行內容包括:
●讀入帶調試信息的操作系統(tǒng)執(zhí)行文件(由GDB完成)
●根據(jù)配置文件skyeye.conf的信息配置模擬硬件
●如果skyeye.conf中存在binary image格式文件,加載這些文件
●根據(jù)操作系統(tǒng)執(zhí)行文件的內容加載調試信息(由GDB完成)
●根據(jù)操作系統(tǒng)執(zhí)行文件信息加載執(zhí)行文件中的代碼段和數(shù)據(jù)段等(由GDB完成)
●執(zhí)行相關模擬硬件的初始化函數(shù)
    其中總的初始化函數(shù)是位于wrapper.c中的init函數(shù),它調用如下函數(shù)完成整個模擬硬件的初始化工作:

ARMul_EmulateInit:初始化與執(zhí)行機器指令相關的數(shù)據(jù)ARMul_ImmedTable和ARMul_BitList
ARMul_NewState:初始化結構為ARMul_State的全局變量state
skyeye_option_init:初始化全局變量skyeye_config
skyeye_read_config:讀取配置文件skyeye.conf并根據(jù)配置文件進行相關配置
nic_init:根據(jù)配置文件信息配置網(wǎng)絡模擬環(huán)境
skyeye_config.mach->mach_init(state, skyeye_config.mach):根據(jù)配置文件信息配置CPU和開發(fā)板的相關I/O函數(shù)
ARMul_Reset(state):進一步初始化全局變量state,并根據(jù)配置文件信息配置MMU/CACHE和memory
io_reset:初始化特定CPU和開發(fā)板的IO寄存器

第二階段根據(jù)特定硬件的配置描述,開始執(zhí)行特定硬件模擬處理。整個過程圍繞CPU執(zhí)行指令展開,根據(jù)模擬硬件可分為如下幾個階段:

●CPU執(zhí)行三級流水線處理,即取指令、譯碼、執(zhí)行指令,主要處理集中在armemu.c中的ARMul_Emulate32/26函數(shù)。
●在執(zhí)行指令過程中,如果有中斷產生,CPU調整運行模式,并改變指令指向中斷向量起始地址,主要處理集中在arminit.c中的函數(shù)ARMul_Abort函數(shù)、armemu.c中的ARMul_Emulate32/26函數(shù)。
●在執(zhí)行指令過程中,如果指令是協(xié)處理器指令,則把指令轉交給協(xié)處理器模擬模塊進行進一步處理,主要處理集中在文件armcopro.c、xscale_copro.c等文件中。
●在執(zhí)行指令過程中,如果發(fā)現(xiàn)指令是訪問內存/IO的指令,則根據(jù)SkyEye模擬的特定CPU是否有MMU/CACHE分別進行處理:
    如果CPU有MMU/CACHE,則進入MMU/CACHE模擬模塊,如果還需要內存訪問,則進入memory模擬模塊處理。如果訪問地址屬于IO地址空間,則轉到特定CPU和開發(fā)板的IO模擬模塊處理。
    如果CPU沒有MMU/CACHE,則直接進入memory模擬模塊處理。如果訪問地址屬于IO地址空間,則轉到特定CPU和開發(fā)板的IO模擬模塊處理。
    處理訪問內存/IO的指令的相關內容集中在armvirt.c;與MMU/CACHE處理、read/write buffer(用于StrongARM和XScale體系結構的模擬)處理相關的文件包括armmmu.[ch]、mmu/*.[ch];與訪問memory模擬有關的內容主要集中在armmem.[ch]中。
    如果要執(zhí)行IO地址訪問,這具體的處理過程由特定CPU和開發(fā)板IO模擬模塊中的read/write_byte/halfword/word函數(shù)處理。
為了模擬外設的執(zhí)行,在執(zhí)行指令過程的每一個周期,會執(zhí)行一個io_do_cycle函數(shù),它會調用特定CPU和開發(fā)板的IO模擬模塊中的*_io_do_cycle函數(shù),完成對時鐘、網(wǎng)絡輸入輸出、UART輸入輸出等的處理,并根據(jù)條件產生中斷信號。

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

net_config_t數(shù)據(jù)結構:








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
欧美猛男超大videosgay| 亚洲最大色网站| 日韩亚洲视频| 麻豆蜜桃91| 欧美日韩另类丝袜其他| 国偷自产av一区二区三区小尤奈| 成人9ⅰ免费影视网站| 国产高清精品一区| 久久久精品国产一区二区三区| 久久九九视频| 亚洲一区二区三区免费观看| 色婷婷精品大视频在线蜜桃视频| 欧洲国产伦久久久久久久| 欧美色区777第一页| 欧美裸体一区二区三区| 欧美丰满嫩嫩电影| 2017欧美狠狠色| 亚洲人成在线播放网站岛国| 亚洲午夜影视影院在线观看| 免费在线观看视频一区| 国产成人免费xxxxxxxx| 成人精品水蜜桃| 日产中文字幕在线精品一区| 自拍偷拍一区二区三区| 欧美高清www午色夜在线视频| 欧美精品一区二区精品网| 国产精品国产三级国产普通话99| 亚洲一区二区三区四区在线免费观看 | 久久精品一级爱片| 亚洲日本欧美天堂| 日本成人在线网站| 国产成人免费在线| 精品欧美国产| 欧美午夜一区二区| 久久久久亚洲综合| 亚洲一区二区在线播放相泽| 国产在线国偷精品产拍免费yy| 51国产成人精品午夜福中文下载| 日本三级中国三级99人妇网站| 欧美日韩免费在线视频| 国产精品久久久久久久久免费桃花| 午夜不卡在线视频| 97精品国产露脸对白| 亚洲精品乱码视频| 精品精品国产高清a毛片牛牛| 亚洲国产一区二区在线播放| 国产成人午夜片在线观看高清观看| 久久精品日产第一区二区三区精品版| 欧美专区亚洲专区| 国产精品久久久久久亚洲毛片| 九九九久久久精品| 免费国产一区二区| 欧美一级精品大片| 亚洲高清免费一级二级三级| av一区二区三区| 中文精品一区二区三区| 2021久久国产精品不只是精品| 丝袜亚洲另类丝袜在线| http;//www.99re视频| 欧美性感一类影片在线播放| 国产精品拍天天在线| 秋霞成人午夜伦在线观看| 97久草视频| 欧美三级电影一区| 有坂深雪av一区二区精品| 成人网在线播放| 亚洲午夜高清视频| 国产欧美一区二区精品久导航 | 成人自拍爱视频| 欧美丰满嫩嫩电影| 奇米精品一区二区三区在线观看 | 亚洲视频你懂的| 成人黄色小视频在线观看| 一本久久a久久精品vr综合| 国产视频一区二区三区在线观看 | 高清视频一区| 日韩欧美在线一区二区三区| 日韩国产高清影视| 欧美二区在线| 国产精品丝袜久久久久久app| 风间由美性色一区二区三区| 日本精品一级二级| 午夜免费久久看| 欧美男人的天堂| 中文字幕av一区二区三区| 不卡欧美aaaaa| 欧美一二三四在线| 免费看精品久久片| 亚洲永久激情精品| 亚洲精品伦理在线| 九九九九精品九九九九| 中文字幕二三区不卡| 91在线看国产| 久久精品欧美日韩精品| 成人av动漫在线| 在线观看91av| 国产一区二区日韩精品| 欧美三级三级三级| 狂野欧美性猛交blacked| 一区二区三区视频在线播放| 亚洲高清免费观看| 一区二区三区在线视频看| 亚洲综合色成人| 日韩成人av网站| 偷拍与自拍一区| 中文字幕在线亚洲精品| 天天操天天色综合| 一本色道久久综合亚洲91| 五月天婷婷综合| 伊人久久av导航| 久久成人久久鬼色| 91精品欧美一区二区三区综合在 | 国产清纯白嫩初高生在线观看91 | 日本欧美色综合网站免费| 亚洲六月丁香色婷婷综合久久| 久久综合久久久| 亚洲免费观看在线观看| 久久av免费一区| 亚洲精品视频在线| 五月天亚洲综合| 蜜桃视频在线观看一区二区| 在线成人小视频| av资源网一区| 最近日韩中文字幕| 日本一区二区三区四区高清视频| 亚洲成精国产精品女| 欧美性一区二区| 国产91丝袜在线播放| 国产性色一区二区| 欧美日韩电影一区二区三区| 天天操天天综合网| 91超碰这里只有精品国产| 成人毛片老司机大片| 国产欧美日产一区| 日本成人看片网址| 韩国欧美国产一区| 久久人人爽爽爽人久久久| 国产亚洲精品自在久久| 亚洲线精品一区二区三区八戒| 欧美性受xxxx黑人xyx| 91在线观看高清| 亚洲男人的天堂av| 欧美一a一片一级一片| 成人sese在线| 亚洲欧美日韩国产一区二区三区 | 日韩午夜电影av| 国产伦理久久久| 日韩av电影免费观看高清完整版在线观看| 欧美亚洲一区二区在线观看| 91在线观看网站| 丝袜亚洲精品中文字幕一区| 欧美成人精精品一区二区频| 国新精品乱码一区二区三区18| 久热成人在线视频| 久久久99精品久久| 亚州欧美一区三区三区在线| 国产激情精品久久久第一区二区 | 韩国v欧美v日本v亚洲v| 国产欧美精品日韩区二区麻豆天美| 亚洲最大免费| 99九九99九九九视频精品| 亚洲国产日韩一区二区| 欧美va在线播放| 在线成人性视频| 114国产精品久久免费观看| 亚洲电影在线播放| 久久久久久久久蜜桃| 中文字幕中文字幕在线中一区高清| www.在线成人| 日韩成人精品在线观看| 国产丝袜在线精品| 欧美日韩五月天| 欧美一区二区三区电影在线观看 | 99porn视频在线| 麻豆精品视频在线观看免费| 国产精品国产三级国产普通话蜜臀| 欧美美女直播网站| 日韩福利影院| 成人3d动漫一区二区三区91| 国产高清视频一区| 丝袜亚洲精品中文字幕一区| 中文字幕日本不卡| 日韩女优毛片在线| 欧美视频一区二区| 亚洲国产婷婷香蕉久久久久久99| 18成人在线| 国产成人av福利| 麻豆久久久久久| 亚洲一区二区欧美| 国产欧美一二三区| 在线成人免费视频| 色猫猫国产区一区二在线视频| 免费久久久一本精品久久区| 成人免费毛片片v| 国产自产2019最新不卡| 偷窥国产亚洲免费视频| 一区二区三区在线观看欧美| 国产精品毛片久久久久久 | 亚洲欧洲精品一区二区三区| 久久天天做天天爱综合色|