[發明專利]VxWorks系統下大容量存儲設備的主機控制器驅動實現方法有效
| 申請號: | 201811352220.5 | 申請日: | 2018-11-14 |
| 公開(公告)號: | CN109522056B | 公開(公告)日: | 2021-11-16 |
| 發明(設計)人: | 趙昶宇 | 申請(專利權)人: | 天津津航計算技術研究所 |
| 主分類號: | G06F9/4401 | 分類號: | G06F9/4401;G06F13/38 |
| 代理公司: | 中國兵器工業集團公司專利中心 11011 | 代理人: | 王雪芬 |
| 地址: | 300308 天津*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | vxworks 系統 容量 存儲 設備 主機 控制器 驅動 實現 方法 | ||
1.一種VxWorks系統下大容量存儲設備的主機控制器驅動實現方法,其特征在于,包括以下步驟:
S1:將BSP中對PCI總線的相關操作屏蔽掉,利用BSP取代配置空間,完成記錄總線讀寫狀態和數據結構改變操作;
S2:利用物理地址到虛擬地址的轉換函數得到主機控制器初始化所用的寄存器基地址;把CPU地址映射為PCI地址,將需要轉換的地址值直接作為函數的返回值;修改主機控制器中斷函數,使用VxWorks提供的intConnect()函數直接進行中斷掛接;
S3:利用主機控制器端口路由控制邏輯實現對低速、全速和高速三種傳輸速率的支持;
在EHCIHCD被加載時,首先由EHCI主機控制器接管所有端口,然后USBD通過獲取端口狀態、復位、再次獲取端口狀態的操作對存儲設備類型進行識別,根據識別結果決定端口由哪個主機控制器控制,并通過usbdHcdAttach()函數對不同類型的HCD進行連接,實現對低速、全速和高速三種傳輸速率的支持;如果大容量存儲設備需要支持低速、全速和高速三種傳輸速率,必須有一個EHCI驅動支持高速通信,同時還需要一個OHCI驅動或者UHCI驅動來處理主機控制器的低速與全速通信;
當非PCI控制器內包含一個EHCI和一個或多個UHCI,或包含一個EHCI和一個或多個OHCI時,一旦這些驅動被加載完成,EHCI主機控制器接口函數fncAttach()函數被USBD調用,EHCI主機控制器被設置成所有端口的所有者,當有大容量存儲設備接入時,USBD的roothub狀態檢測函數通過獲取端口狀態、復位,然后再次獲取端口狀態操作,首先調用EHCI主機控制器的rootGetStatus()函數檢測該設備類型,若檢測到是高速設備,則保持對該端口的控制;若檢測到不是高速設備,則放棄端口的控制權,然后調用UHCI主機控制器或OHCI主機控制器的rootGetStatus()函數檢測設備類型,完成路由的切換;
在確定了大容量存儲設備的類型后,調用usbdHcdAttach(execFunc,pciCfgHdr,pToken)函數將主機控制器驅動連接到USBD上。
2.如權利要求1所述的方法,其特征在于,步驟S1具體為:
(1)修改主機處理器中的每一個PCII/O地址和內存地址的偏移量;
(2)修改主機控制器初始化部分,將usbPciClassFind()函數的第三個參數編程接口修改為0x80,表示非PCI類型主機控制器,第五個參數驅動總線號指針指向usb_hcd_bus_info數據結構,第六個參數PCI設備號和第七個參數PCI功能號設置為NULL,其余參數不變;
(3)注釋掉usbPciConfigHeaderGet()函數,手動配置PCI配置頭pciCfgHdr,即設置寄存器基地址pciCfgHdr.baseReg[0]和中斷向量號pciCfgHdr.intLine。
3.如權利要求1所述的方法,其特征在于,步驟S2具體為:
(1)在將HCD掛接到USBD的過程中,調用fncAttach()函數時,所有連接到主機控制器的信息都存儲在HCD_HOST類型的結構體中,主機控制器寄存器基地址就在該結構體中,通過調用物理地址到虛擬地址的轉換函數CACHE_DRV_PHYS_TO_VIRT將物理地址轉換成虛擬地址;
(2)在PCI主機控制器中,調用usbMemToPci將虛擬地址轉換成物理地址,而在非PCI主機控制器中,直接使用虛擬地址而不用轉換;
(3)在非PCI主機控制器中將中斷向量號與相應的中斷服務程序直接關聯,用VxWorks系統提供的intConnect()函數直接注冊,不用調用usbPciIntConnect()中斷函數。
4.如權利要求1所述的方法,其特征在于,usbdHcdAttach(execFunc,pciCfgHdr,pToken)函數中,execFunc參數的值根據主機控制器驅動類型EHCI、OHCI或UHCI而定。
5.如權利要求1所述的方法,其特征在于,usbdHcdAttach(execFunc,pciCfgHdr,pToken)函數中,pToken參數的值根據主機控制器驅動類型EHCI、OHCI或UHCI而定。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津津航計算技術研究所,未經天津津航計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811352220.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于分布式服務調用的連接預熱方法及系統
- 下一篇:一種設備啟動方法及設備





