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


曙海教育集團論壇Win CE 專區WinCE系統定制與驅動開發 → wince下usb驅動攻堅戰


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

主題:wince下usb驅動攻堅戰

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


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

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

    根據OHCI spec:每個ED(Endpoint Descriptor)描述USB設備的一個端點的所有數據傳輸,所有的ED被連接在一起;而TD(Transfer Descriptor)描述的才是最終要在USB總線上傳輸的數據包,屬于同一個USB設備端點的TD被連接在一起,并掛在相應的ED上。
1)ohcd.c
該文件在platform下,可替代wince自帶的system.c文件(在public/common/oak/drivers/usb/hcd/ohc/下)。該文件中的函數被hcddrv.c文件中的HCD_流形式接口函數調用。
2)hcddrv.cpp
該文件在public/common/oak/drivers/usb/hcd/common下面,文件中的具體設置函數:
HcdMdd_CreateMemoryObject
HcdMdd_CreateHcdObject
HcdMdd_DestroyMemoryObject
HcdMdd_DestroyHcdObject
HcdMdd_PowerOn
HcdMdd_PowerDown
HcdMdd_SetCapability
又被ohcd.c中的函數調用
CUHcd-->CHW-->CHcd(繼承關系,CUHcd的實例被創建)
 
初始化函數調用流程
1)HCD_Init()[hcddrv.cpp]
2)HcdPdd_Init()[ohcd.c]
3)InitializeOHCI()[ohcd.c]
配置IOBASE,IRQ。可讀取注冊表,也可以通過程序自配
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,并調用其中的HcdAttach()[usb/usbd/usbddrv.cpp]用hcddrv.cpp中的gc_HcdFuncs來設置usbd層的功能函數[pHcd->pHcdFuncs]
2)CHW::Initialize()[usb/hcd/ohcd2/chw.cpp]
初始化硬件,控制器寄存器,并創建線程用于處理HC的IST,并調用SignalCheckForDoneTransfer()來偵聽傳輸的完成
3)CHCCArea::Initialize()[usb/hcd/ohcd2/cpipe.cpp]
初始化CPipe的靜態變量,建立一個禎鏈表的空調度,同時建立中斷Queue Head樹,創建線程用于處理傳輸完成。
 
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最終都要調用CPipe::IssueTransfer()[cpipe.cpp]
1)new STransfer并配置
2)拷貝client buffer到out transfer
3)AddTransfer:設置TDs鏈表并加到相應的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根據各ED值來讀寫指定內存,具體數據在各ED下的TDS鏈表中的各TD中,過程由HcControl和HcCommandStatus寄存器的各相應位來控制。

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

返回版面帖子列表

wince下usb驅動攻堅戰








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产亚洲情侣一区二区无| 欧美日本国产一区| 国产毛片精品视频| 日韩成人免费看| 日韩激情一二三区| 日韩国产一二三区| 日本亚洲欧美天堂免费| 日韩激情视频网站| 奇米777欧美一区二区| 偷拍一区二区三区| 日韩在线一区二区| 久久精品国产一区二区三区免费看| 亚洲国产精品久久艾草纯爱 | 国产在线精品一区二区中文| 国产精品12| 欧美一区视久久| 四虎一区二区| 色婷婷激情久久| 日韩一区二区在线观看视频| 久久综合久久综合久久| 国产亚洲成av人在线观看导航 | 99视频在线免费观看| 韩国成人av| 五月婷婷一区| 欧美色图片你懂的| 日韩三级中文字幕| 国产精品欧美极品| 亚洲成在人线在线播放| 国产一级精品在线| 超碰97在线人人| 日韩精品福利视频| 91.com视频| 国产拍欧美日韩视频二区| 中文幕一区二区三区久久蜜桃| 亚洲精品高清在线| 黄网站免费久久| 成人动漫视频在线观看免费| 日本一区二区精品| 555夜色666亚洲国产免| 国产精品欧美综合在线| 美国毛片一区二区| 国产乱码精品一区二区三区中文| 中文字幕乱码一区二区三区| 91精品婷婷国产综合久久竹菊| 国产精品系列在线| 精品一区二区日韩| 国产欧美精品一区二区三区| 一本久久综合亚洲鲁鲁五月天| 精品国产伦一区二区三区免费 | 国产一区二区看久久| 国产激情美女久久久久久吹潮| 色婷婷久久99综合精品jk白丝| 久久中文娱乐网| 日本va欧美va瓶| 国产精品免费区二区三区观看| 中文字幕欧美日韩一区二区三区| 欧美成人一区二区三区片免费| 亚洲综合在线电影| 94-欧美-setu| 日本高清不卡一区| 国产三级一区二区三区| 亚洲不卡一区二区三区| 丁香婷婷综合五月| 一区二区精品视频| 久久久天堂av| 亚洲一级二级三级在线免费观看| 精品一区二区三区欧美| 清纯唯美一区二区三区| 欧美丰满一区二区免费视频| 日本一区二区免费在线| 亚洲国产成人高清精品| 国产不卡视频一区| 欧美日韩在线观看一区二区三区| 欧美日韩在线一区二区| 久久日一线二线三线suv| 久久久综合精品| 激情av综合网| 精品产品国产在线不卡| 欧美在线免费观看视频| 久久久国产精品不卡| 香蕉久久一区二区不卡无毒影院| 成人动漫精品一区二区| 日韩一区国产在线观看| 日韩欧美在线综合网| 亚洲一区在线观看免费观看电影高清| 久久精品国产99| 久久精品中文字幕一区二区三区| 欧美日韩国产经典色站一区二区三区| 欧美国产乱子伦| 免费观看30秒视频久久| 国产伦理久久久| 欧美午夜影院一区| 亚洲精品中文在线影院| 成人免费视频caoporn| 一道精品一区二区三区| 一本色道久久综合亚洲精品婷婷 | 亚洲欧美综合在线精品| 国产成人综合在线观看| 亚洲精品一品区二品区三品区| 精品sm捆绑视频| 经典三级视频一区| 精品一区2区三区| 日韩三级视频中文字幕| 亚洲第一福利视频在线| 国产精品swag| 日韩欧美色电影| 久久精品国产**网站演员| 久久一区二区三区欧美亚洲| 精品国产亚洲在线| 极品少妇xxxx偷拍精品少妇| 日本福利一区二区三区| 欧美一级二级三级蜜桃| 日韩高清不卡一区二区三区| 九九九九九九精品| 久久日韩精品一区二区五区| 精品午夜久久福利影院| 色94色欧美sute亚洲线路一久| 亚洲自拍与偷拍| 精品91免费| 国产区在线观看成人精品| 不卡欧美aaaaa| 色婷婷综合久久久| 久久99国内精品| 亚洲图片小说在线| 亚洲自拍偷拍九九九| 国产一级精品aaaaa看| 精品国产91久久久久久久妲己| 国产精品99久久久久久久vr| 欧美日韩三级一区| 精品一区二区三区免费观看| 日韩欧美一区二区三区四区| 天天影视涩香欲综合网| 日韩aⅴ视频一区二区三区| 亚洲视频一二三区| 久久精品国产精品国产精品污| 中文字幕va一区二区三区| 91丝袜国产在线播放| 精品福利一二区| 99视频热这里只有精品免费| 欧美在线一二三| 青青青爽久久午夜综合久久午夜| 一级日韩一区在线观看| 蜜臀久久99精品久久久画质超高清 | 秋霞电影网一区二区| 色婷婷精品久久二区二区蜜臂av | 国产成人精品亚洲午夜麻豆| 欧美人xxxx| 国产毛片精品视频| 日韩一区二区在线看片| 96av麻豆蜜桃一区二区| 国产精品久久久久久久久久久免费看 | 国产麻豆精品95视频| 日韩一二三四区| 91尤物视频在线观看| 国产色综合一区| 国产欧美一区二区三区不卡高清| 国产精品第一页第二页第三页| 精品无人区一区二区三区| 亚洲一区二区三区四区中文字幕| 日产精品高清视频免费| 国产米奇在线777精品观看| 欧美成人精品3d动漫h| 91超碰在线免费观看| 国产精品免费观看视频| 欧美日韩综合久久| 美女视频网站久久| 日韩欧美在线影院| 国产高清在线一区二区| 亚洲人成精品久久久久| 伊人久久婷婷色综合98网| 亚洲国产精品传媒在线观看| 欧美凹凸一区二区三区视频| 天堂一区二区在线| 欧美一区二区三区视频在线| 不卡高清视频专区| 亚洲丝袜精品丝袜在线| 色综合久久综合中文综合网| 国产成人免费视频一区| 国产欧美日韩在线看| 亚洲激情图片| 国产成人av福利| 精品99一区二区三区| 日韩免费av电影| 成人免费三级在线| 亚洲在线中文字幕| 91国产免费看| julia一区二区中文久久94| 午夜国产精品一区| 欧美精品一区二区久久婷婷| 日本成人三级电影网站| 久久精品国产久精国产| 一区二区三区.www| 3d成人动漫网站| 麻豆传媒一区| 国产福利精品导航| 一区二区三区 在线观看视频| 欧美人成免费网站| 欧美一级爱爱| 国产精品中文有码| 一级日本不卡的影视|