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


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


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

主題: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欧美一区二区三区
91精品国产色综合久久久蜜香臀| 成人免费视频app| 91福利在线导航| 日本精品一区二区三区高清 久久| 99在线高清视频在线播放| 国产成人av福利| 国产精品一区二区三区99| 午夜精品国产更新| 亚洲第一搞黄网站| 午夜精品久久久久久久99樱桃| 亚洲伊人色欲综合网| 一区二区国产视频| 亚洲五码中文字幕| 手机精品视频在线观看| 日本aⅴ精品一区二区三区| 亚洲午夜久久久久久久久电影网| 亚洲精品国产视频| 亚洲一区二区在线视频| 天堂久久久久va久久久久| 婷婷亚洲久悠悠色悠在线播放| 亚洲一区在线观看视频| 亚洲成av人片在线| 免费高清成人在线| 国产91精品露脸国语对白| 成人综合婷婷国产精品久久| www.日韩在线| 黑人巨大精品欧美一区二区小视频 | 亚洲成人一区二区三区| 欧美主播一区二区三区美女| 久久久久久一级片| 亚洲电影一级片| 不卡一卡二卡三乱码免费网站| 久久66热这里只有精品| 欧美日韩在线直播| 中文字幕第一区| 日韩 欧美一区二区三区| 成人av资源在线观看| 亚洲精品一区二区三| 久久综合九色欧美综合狠狠 | 国产·精品毛片| 欧美激情国产日韩| 日韩限制级电影在线观看| 亚洲美女淫视频| 成人黄页在线观看| 正在播放91九色| 国产精品麻豆欧美日韩ww| 美女网站一区二区| 麻豆亚洲一区| 日韩欧美激情在线| 美腿丝袜亚洲一区| 欧美主播一区二区三区美女 久久精品人 | 一区二区三区四区av| 97久久精品人人做人人爽| 在线精品视频一区二区| 亚洲免费观看高清完整版在线观看熊 | 欧美性生活一区| 亚洲欧美日本韩国| 99re热视频精品| 555夜色666亚洲国产免| 天天综合色天天综合色h| 91久久偷偷做嫩草影院| 欧美日韩在线三区| 天堂一区二区在线| 欧美一区视久久| 亚洲欧洲日韩一区二区三区| 99这里只有久久精品视频| 欧美精品v国产精品v日韩精品| 午夜精品福利在线| 日韩成人av网站| 亚洲女同一区二区| 国产一区二区免费电影| 久久影音资源网| 成人少妇影院yyyy| 欧美精品久久99久久在免费线 | 国产精品 欧美精品| 欧美视频在线播放| 丝袜美腿一区二区三区| 欧美性xxxx69| 亚洲精品一二三区| 欧美日韩一区二区视频在线| 1024成人网| 国产丝袜不卡| 国产精品久久久久aaaa樱花 | 亚洲男人天堂一区| 成人国产1314www色视频| 欧美大片顶级少妇| 成人性生交大片| 日韩欧美专区在线| 国产精品一二三区| 91精品国产欧美一区二区| 国产在线播放一区三区四| 欧美日韩精品系列| 久草在线在线精品观看| 欧美视频在线播放| 国产在线精品不卡| 欧美一区二区免费视频| 国产v日产∨综合v精品视频| 日韩亚洲欧美中文三级| 不卡视频在线看| 国产人妖乱国产精品人妖| 97视频热人人精品| 国产精品国产精品国产专区不片 | 欧美久久一二区| 国产精品一二三| 337p粉嫩大胆噜噜噜噜噜91av| 91在线精品秘密一区二区| 日本一区二区动态图| 鲁丝一区鲁丝二区鲁丝三区| 亚洲成av人片在线观看无码| 欧洲国内综合视频| 国产不卡免费视频| 中文字幕欧美三区| 视频一区视频二区视频三区高| 日韩激情在线观看| 欧美一二三四区在线| 99v久久综合狠狠综合久久| 国产精品久久久久毛片软件| 日本不卡一区二区三区在线观看 | 日本午夜一区二区| 欧美一级视频精品观看| 91视频在线观看| 一区二区三区资源| 欧洲av一区二区嗯嗯嗯啊| 成人午夜av影视| 亚洲嫩草精品久久| 在线观看亚洲a| 94-欧美-setu| 亚洲制服丝袜在线| 制服丝袜一区二区三区| 成人激情直播| 五月婷婷综合激情| 欧美tickling网站挠脚心| 久久久久国产精品视频| 久久国产综合精品| 国产欧美日韩中文久久| 亚洲午夜激情| 成人开心网精品视频| 亚洲欧美成aⅴ人在线观看| 欧美吻胸吃奶大尺度电影| 99porn视频在线| 水野朝阳av一区二区三区| 久久―日本道色综合久久| 色综合久久久久久久久五月| 高清av一区二区| 一区二区成人在线视频| 日韩欧美不卡在线观看视频| 明星裸体视频一区二区| 国产iv一区二区三区| 亚洲乱码中文字幕| 日韩一区二区麻豆国产| 日本精品一区二区| 成人午夜又粗又硬又大| 樱桃国产成人精品视频| 日韩一区二区三区电影在线观看| 欧美激情论坛| 99视频一区二区| 蜜乳av一区二区| 亚洲激情图片小说视频| 精品88久久久久88久久久| 中文字幕日韩一区二区三区| 国产精品xxxx| 成人久久18免费网站麻豆 | 五月天久久狠狠| 99免费精品视频| 蜜桃一区二区三区四区| 亚洲九九爱视频| 久久日韩精品一区二区五区| 欧美影视一区二区三区| 欧美日韩一区二区三区在线观看免| 不卡的av电影在线观看| 蜜臀精品久久久久久蜜臀| 综合久久久久综合| 久久久久久电影| 91麻豆精品国产91久久久久久| 亚洲国产精品综合| 国产视频不卡| 99久久免费精品| 国产精品自拍在线| 美女视频一区在线观看| 一区av在线播放| 国产精品理论在线观看| 2023国产一二三区日本精品2022| 欧美日韩三级在线| 一区二区三区四区免费视频| 裸模一区二区三区免费| 国产精品久久久久久久免费大片| 白白色亚洲国产精品| 国产不卡高清在线观看视频| 精品中文字幕一区二区| 天堂va蜜桃一区二区三区漫画版| 亚洲少妇最新在线视频| 中文字幕精品在线不卡| 国产午夜精品在线观看| 久久在线观看免费| 精品av久久707| 久久精品亚洲乱码伦伦中文 | 色综合久久中文综合久久97| 翔田千里亚洲一二三区| 亚洲精品人成| 致1999电视剧免费观看策驰影院|