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


曙海教育集團論壇Win CE 專區(qū)WinCE系統(tǒng)定制與驅(qū)動開發(fā) → wince下usb驅(qū)動攻堅戰(zhàn)


  共有7065人關(guān)注過本帖樹形打印

主題:wince下usb驅(qū)動攻堅戰(zhàn)

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


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
wince下usb驅(qū)動攻堅戰(zhàn)  發(fā)帖心情 Post By:2010-11-26 14:08:26

首先給出一個ED和TD的鏈表結(jié)構(gòu)圖,相信有了這個圖對代碼的理解就容易多了!
HeadPtr-->ED-->ED-->ED-->ED
ED-->TD-->TD-->TD...

    根據(jù)OHCI spec:每個ED(Endpoint Descriptor)描述USB設(shè)備的一個端點的所有數(shù)據(jù)傳輸,所有的ED被連接在一起;而TD(Transfer Descriptor)描述的才是最終要在USB總線上傳輸?shù)臄?shù)據(jù)包,屬于同一個USB設(shè)備端點的TD被連接在一起,并掛在相應(yīng)的ED上。
1)ohcd.c
該文件在platform下,可替代wince自帶的system.c文件(在public/common/oak/drivers/usb/hcd/ohc/下)。該文件中的函數(shù)被hcddrv.c文件中的HCD_流形式接口函數(shù)調(diào)用。
2)hcddrv.cpp
該文件在public/common/oak/drivers/usb/hcd/common下面,文件中的具體設(shè)置函數(shù):
HcdMdd_CreateMemoryObject
HcdMdd_CreateHcdObject
HcdMdd_DestroyMemoryObject
HcdMdd_DestroyHcdObject
HcdMdd_PowerOn
HcdMdd_PowerDown
HcdMdd_SetCapability
又被ohcd.c中的函數(shù)調(diào)用
CUHcd-->CHW-->CHcd(繼承關(guān)系,CUHcd的實例被創(chuàng)建)
 
初始化函數(shù)調(diào)用流程
1)HCD_Init()[hcddrv.cpp]
2)HcdPdd_Init()[ohcd.c]
3)InitializeOHCI()[ohcd.c]
配置IOBASE,IRQ?勺x取注冊表,也可以通過程序自配
4)HcdMdd_CreateMemoryObject();HcdMdd_CreateHcdObject()[hcddrv.cpp]
HcdMdd_CreateMemoryObject()==>CPhysMem->InittedOK()[usb/hcd/common/cphysmem.hpp]
HcdMdd_CreateHcdObject()==>CHcd->DeviceInitialize()[usb/hcd/ohcd2/cuhcd.cpp]
 
CHcd::DeviceInitialize()過程
1)CDeviceGlobal::Initialize()[usb/hcd/common/cdevice.cpp]
加載usbd.dll,并調(diào)用其中的HcdAttach()[usb/usbd/usbddrv.cpp]用hcddrv.cpp中的gc_HcdFuncs來設(shè)置usbd層的功能函數(shù)[pHcd->pHcdFuncs]
2)CHW::Initialize()[usb/hcd/ohcd2/chw.cpp]
初始化硬件,控制器寄存器,并創(chuàng)建線程用于處理HC的IST,并調(diào)用SignalCheckForDoneTransfer()來偵聽傳輸?shù)耐瓿?br/>3)CHCCArea::Initialize()[usb/hcd/ohcd2/cpipe.cpp]
初始化CPipe的靜態(tài)變量,建立一個禎鏈表的空調(diào)度,同時建立中斷Queue Head樹,創(chuàng)建線程用于處理傳輸完成。
 
IoPortBase = USB_BASE 以及Sys_Irq的初始化流程
1)HcdPdd_Init()[ohcd.c]
2)InitializeOHCI()[ohcd.c]
3)ConfigureOHCICard()[ohcd.c]:在此配置;HcdMdd_CreateHcdObject()[hcddrv.cpp]
4)CreateHCDObject()[cuhcd.cpp]:在此new CUhcd并初始化其父類CHW,在CHW初始化時初始化其成員變量m_portBase[chw.cpp]
 
Transfer流程
所有的IssueTransfer最終都要調(diào)用CPipe::IssueTransfer()[cpipe.cpp]
1)new STransfer并配置
2)拷貝client buffer到out transfer
3)AddTransfer:設(shè)置TDs鏈表并加到相應(yīng)的ED下
4)ScheduleTransfer
5)CHW::ListControl()
 
[以下以bulk為例]
1)在CHW::Initialize()中有
CHW::m_pBulkHead = &m_portBase->HcBulkHeadED;
2)在各pipe類的::OpenPipe()中有
*(CHW::m_pBulkHead) = (pa)m_pED;
 
故此:傳輸過程由HC根據(jù)各ED值來讀寫指定內(nèi)存,具體數(shù)據(jù)在各ED下的TDS鏈表中的各TD中,過程由HcControl和HcCommandStatus寄存器的各相應(yīng)位來控制。

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

返回版面帖子列表

wince下usb驅(qū)動攻堅戰(zhàn)








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
久久亚洲一区二区三区明星换脸 | 亚洲一区二区三区国产| 日本一区二区综合亚洲| 国产精品丝袜一区| 国产精品久久久久久久久免费桃花| 国产精品五月天| 亚洲激情校园春色| 石原莉奈一区二区三区在线观看| 免费成人在线影院| 丰满白嫩尤物一区二区| 成人蜜桃视频| 五月天丁香综合久久国产 | 精品不卡在线视频| 最新国产精品久久| 欧美精品亚洲一区二区在线播放| 精品蜜桃在线看| 亚洲欧美综合另类在线卡通| 午夜视频在线观看一区二区三区| 国产综合色精品一区二区三区| 成人中文字幕电影| 久久久久久高清| 欧美性感一类影片在线播放| 日韩写真欧美这视频| 日韩一区中文字幕| 免费看日韩精品| 亚洲高清视频中文字幕| 国内久久婷婷综合| 国产精品我不卡| 91久久免费观看| 久久精品一区二区三区av| 亚洲精品va在线观看| 激情伊人五月天久久综合| 成人性色av| 欧美在线一区二区三区| 久久综合九色综合97婷婷女人| 亚洲一区二区精品3399| 国产传媒久久文化传媒| 欧美日韩系列| 欧美精品一区男女天堂| 日韩在线观看一区二区| 97视频热人人精品| 色一情一伦一子一伦一区| 2017欧美狠狠色| 日本欧美一区二区三区乱码| 成人免费视频网站入口| 欧美在线观看视频一区二区三区| 中文字幕不卡三区| 激情综合网最新| 日本视频精品一区| 精品国产伦一区二区三区观看方式| 亚洲国产美国国产综合一区二区| av亚洲精华国产精华精华| 色综合咪咪久久| 亚洲欧美综合在线精品| 成人激情开心网| 91激情在线视频| 亚洲欧美色一区| 97久久精品人人做人人爽50路 | 色综合色综合色综合色综合色综合| 国产欧美一区视频| 国产精品一卡二| 在线成人av电影| 亚洲精品日韩综合观看成人91| 不卡影院免费观看| 欧美视频一区在线观看| 亚洲一区二区三区四区不卡| 国产欧美日韩一区| 精品奇米国产一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 久久99热国产| 伊人久久大香线蕉精品| 一区二区在线观看视频| 99超碰麻豆| 精品电影一区二区| 国产精品一色哟哟哟| 欧洲亚洲国产日韩| 午夜精品久久久久久久久| 精品国产乱码久久久久久久软件| 欧美v亚洲v综合ⅴ国产v| 国产精一品亚洲二区在线视频| 色综合久久久久网| 亚洲成av人片一区二区三区| 欧美一区1区三区3区公司 | 亚洲精品中文字幕在线观看| 国产精品制服诱惑| 日本一区二区三区电影| 91麻豆产精品久久久久久| 日韩亚洲欧美在线| 成人激情免费视频| 亚洲精品一区二区三区蜜桃下载 | 99在线视频播放| 国产午夜精品久久久久久免费视 | 日本一区二区三区久久久久久久久不| 国产成人免费视| 69精品人人人人| 国产精品自拍av| 在线免费av一区| 另类调教123区| 欧美日韩精品一区视频| 国产一区二区网址| 日韩欧美自拍偷拍| 99久久精品国产导航| 精品久久国产字幕高潮| 91亚洲精品久久久蜜桃网站 | 美女精品国产| 亚洲午夜国产一区99re久久| 视频一区二区综合| 免费视频一区二区| 欧美日韩一区二区三区四区 | 丁香六月久久综合狠狠色| 欧美mv和日韩mv国产网站| 成人激情校园春色| 欧美韩国日本一区| 日本高清不卡三区| 喷白浆一区二区| 日韩三级视频在线看| 91视频免费播放| 亚洲欧美乱综合| 在线观看成人一级片| 韩国精品免费视频| 精品久久久久久亚洲综合网| 99九九电视剧免费观看| 一区二区三区在线观看视频| 91久久精品一区二区| 国产传媒欧美日韩成人| 国产三级一区二区| 日韩欧美在线观看强乱免费| 国产精品欧美久久久久无广告| 欧美在线播放一区二区| 久久精品国产99| 精品成人私密视频| 久久久精彩视频| 麻豆视频观看网址久久| 欧美大白屁股肥臀xxxxxx| 韩日午夜在线资源一区二区| 日本亚洲三级在线| 欧美成人福利视频| 欧美成人综合一区| 久久99精品久久久久| 国产色产综合色产在线视频| 一区二区日本伦理| 91视频免费播放| 日本视频免费一区| 国产日韩欧美a| 色偷偷久久一区二区三区| 成人app软件下载大全免费| 一区二区三区国产| 欧美成人a在线| 亚洲高清123| 91免费看视频| 久久电影网电视剧免费观看| 国产精品欧美一区二区三区| 欧美日韩三级一区二区| 欧美成人蜜桃| 91亚洲精品一区二区乱码| 美国十次综合导航| 综合婷婷亚洲小说| 日韩欧美激情一区| 亚洲精品在线免费| 国产成人精品福利一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 中文字幕一区二区三区不卡| 日韩欧美精品在线| 欧美视频在线一区| 色就是色欧美| 国产精品综合久久久久久| 久久91精品久久久久久秒播| 亚洲视频在线观看三级| 99久精品国产| 免费看欧美美女黄的网站| 久久精品国产一区二区三区不卡| 黄页网站大全一区二区| 国产精品欧美一区二区三区| 日韩视频免费观看高清完整版在线观看| 九9re精品视频在线观看re6| 精品一区二区三区免费| 国产精品免费视频一区| 精品国产髙清在线看国产毛片| 色狠狠久久av五月综合|| jlzzjlzz亚洲日本少妇| 亚洲人成网站精品片在线观看| 久久先锋影音av鲁色资源网| 91国偷自产一区二区三区成为亚洲经典 | 欧美自拍偷拍午夜视频| 99精品国产高清一区二区| 亚洲人成亚洲人成在线观看图片| 久久久久国产精品厨房| 在线一区高清| 国产精品久久久久免费| 日韩二区三区在线观看| 亚洲高清在线精品| 日本一区二区三区dvd视频在线| 欧美三电影在线| 日韩激情视频| 国产精品永久入口久久久| 粉嫩嫩av羞羞动漫久久久| 日韩国产欧美在线观看| 日韩国产在线观看| 亚洲乱码精品一二三四区日韩在线| 欧美成人艳星乳罩|