毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精


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


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

主題:wince下usb驅(qū)動(dòng)攻堅(jiān)戰(zhàn)

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


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

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

    根據(jù)OHCI spec:每個(gè)ED(Endpoint Descriptor)描述USB設(shè)備的一個(gè)端點(diǎn)的所有數(shù)據(jù)傳輸,所有的ED被連接在一起;而TD(Transfer Descriptor)描述的才是最終要在USB總線上傳輸?shù)臄?shù)據(jù)包,屬于同一個(gè)USB設(shè)備端點(diǎn)的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的實(shí)例被創(chuàng)建)
 
初始化函數(shù)調(diào)用流程
1)HCD_Init()[hcddrv.cpp]
2)HcdPdd_Init()[ohcd.c]
3)InitializeOHCI()[ohcd.c]
配置IOBASE,IRQ。可讀取注冊(cè)表,也可以通過程序自配
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)變量,建立一個(gè)禎鏈表的空調(diào)度,同時(shí)建立中斷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初始化時(shí)初始化其成員變量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反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

wince下usb驅(qū)動(dòng)攻堅(jiān)戰(zhàn)








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
欧美一个色资源| 精品日韩一区二区三区| 在线播放视频一区| 亚洲福利国产精品| 欧美色视频在线观看| 亚洲女与黑人做爰| 色综合天天综合网国产成人综合天| 久久精品亚洲精品国产欧美| 国产精品一区免费在线观看| 国产欧美视频一区二区三区| 成人高清在线视频| 亚洲黄色录像片| 欧美日韩和欧美的一区二区| 麻豆91在线观看| 国产精品天干天干在观线| 一本色道久久综合亚洲91| 视频在线观看一区二区三区| 精品国产人成亚洲区| 顶级嫩模精品视频在线看| 亚洲欧美精品午睡沙发| 51精品国自产在线| 国产福利一区在线| 亚洲乱码精品一二三四区日韩在线| 欧美视频一区二区三区| 国产乱码精品一品二品| 亚洲精品乱码久久久久久日本蜜臀| 777xxx欧美| av日韩在线网站| 奇米亚洲午夜久久精品| 国产精品久久久久9999吃药| 欧美日本在线播放| 成人免费视频视频| 日本美女视频一区二区| 国产精品久久福利| 日韩一区二区在线观看| 91色综合久久久久婷婷| 国精品**一区二区三区在线蜜桃| 亚洲欧美日韩综合aⅴ视频| 制服丝袜一区二区三区| 99在线热播精品免费| 国产专区欧美精品| 午夜精品久久久久影视| 中文字幕av一区 二区| 欧美一区二区在线不卡| 欧美性生活久久| av不卡在线观看| 国产老肥熟一区二区三区| 丝袜国产日韩另类美女| 亚洲精品自拍动漫在线| 国产日韩精品视频一区| 精品久久久久香蕉网| 777亚洲妇女| 欧美做爰猛烈大尺度电影无法无天| 国产精品一区二区久久不卡 | 天堂在线一区二区| 欧美极品另类videosde| 亚洲精品一区二区三区精华液 | 欧美大片免费久久精品三p| 91一区二区在线| 成人激情动漫在线观看| 精品一区二区三区免费| 免费xxxx性欧美18vr| 日韩av高清在线观看| 五月激情六月综合| 亚洲第一主播视频| 亚洲一区二区三区激情| 亚洲一区二区五区| 亚洲国产一区二区三区青草影视| 亚洲精品国产无天堂网2021| 一区av在线播放| 五月天久久比比资源色| 日本va欧美va精品| 免费成人av在线播放| 国产中文一区二区三区| 国产91精品精华液一区二区三区 | 91精品黄色片免费大全| 欧美一级日韩一级| 日韩视频中午一区| 久久综合九色综合久久久精品综合| 6080国产精品一区二区| 精品国一区二区三区| 国产欧美精品一区二区色综合| 亚洲国产激情av| 亚洲人成在线播放网站岛国| 亚洲午夜视频在线| 日本aⅴ免费视频一区二区三区| 激情国产一区二区| 成人精品在线视频观看| 色婷婷精品久久二区二区蜜臀av | 欧美久久久影院| 欧美videofree性高清杂交| 国产视频视频一区| 一区二区三区不卡在线观看| 日产国产欧美视频一区精品| 国产精品99久久久| 色狠狠桃花综合| 日韩女优制服丝袜电影| 亚洲欧美一区二区视频| 午夜激情久久久| 国产成人亚洲精品狼色在线| 欧亚一区二区三区| 久久综合久久99| 亚洲成人精品一区二区| 国产精品自拍网站| 欧美日韩综合在线免费观看| 国产婷婷色一区二区三区四区| 亚洲精品日日夜夜| 激情小说亚洲一区| 欧美亚洲综合一区| 日本一区二区三区国色天香| 日韩精品一区第一页| 成人免费高清在线观看| 欧美一区二区三区视频| 国产精品第四页| 国产成人夜色高潮福利影视| 91超碰这里只有精品国产| 亚洲人成在线播放网站岛国| 国产乱码精品一区二区三| 欧美精品久久一区| 亚洲精品老司机| 播五月开心婷婷综合| 欧美精品一区二区三区蜜臀| 日本va欧美va精品发布| 欧洲精品一区二区| 中文字幕日韩一区| 国产精一区二区三区| 日韩手机在线导航| 亚洲一区二区三区四区五区黄| 99精品国产91久久久久久 | 欧美xxxxx牲另类人与| 亚洲激情网站免费观看| 国产99久久久久| 2022国产精品视频| 狠狠色丁香久久婷婷综合丁香| 欧美日本一区二区三区四区 | 日韩不卡免费视频| 欧美午夜精品免费| 洋洋成人永久网站入口| 欧美做爰猛烈大尺度电影无法无天| 亚洲欧美日韩国产综合| 99国产精品一区| 亚洲欧美经典视频| 一本久道久久综合中文字幕| 国产精品福利av| 91在线你懂得| 一区二区三区四区乱视频| 色丁香久综合在线久综合在线观看| 亚洲视频一区在线观看| 欧洲av在线精品| 天天色图综合网| 欧美一区二区三区视频在线观看| 美女mm1313爽爽久久久蜜臀| 欧美成人伊人久久综合网| 黄色精品一二区| 国产精品视频你懂的| 色婷婷综合久久久久中文| 亚洲午夜影视影院在线观看| 欧美高清视频在线高清观看mv色露露十八| 亚洲制服欧美中文字幕中文字幕| 欧美日韩视频在线第一区 | 成人一道本在线| 亚洲视频免费观看| 欧美日韩在线播放| 免费国产亚洲视频| 久久精品无码一区二区三区 | 国产自产2019最新不卡| 国产精品欧美一级免费| 欧美自拍丝袜亚洲| 水蜜桃久久夜色精品一区的特点| 欧美不卡一区二区三区| 成人蜜臀av电影| 亚洲成人精品在线观看| 久久在线免费观看| 91久久香蕉国产日韩欧美9色| 日韩中文字幕亚洲一区二区va在线| 精品剧情v国产在线观看在线| 99热99精品| 麻豆精品一区二区综合av| 国产精品妹子av| 678五月天丁香亚洲综合网| 国产精品一色哟哟哟| 亚洲综合精品自拍| 久久婷婷一区二区三区| 欧美午夜精品理论片a级按摩| 国产乱码一区二区三区| 午夜在线电影亚洲一区| 国产精品区一区二区三区| 制服丝袜亚洲色图| 一本大道久久a久久精二百| 久久不见久久见免费视频7| 一区二区三国产精华液| 国产人成亚洲第一网站在线播放| 欧美日韩国产高清一区二区三区| proumb性欧美在线观看| 美女在线观看视频一区二区| 中文字幕色av一区二区三区| 日韩午夜精品视频| 91久久精品国产91性色tv | 99精品欧美一区二区蜜桃免费| 久久99精品国产.久久久久久|