程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 基於OHCI的USB主機 —— 背景介紹

基於OHCI的USB主機 —— 背景介紹

編輯:關於C語言

使用AT91RM9200作為主控CPU,利用該芯片的USB主機接口訪問U盤,根據接收的上層命令把相應數據保存到U盤的指定文件上。不使用額外的專用USB控制芯片,要求穩定可靠,效率高,不能影響運行在該CPU上的其它程序。 AT91RM9200程序加載後直接運行,沒有操作系統。 以上就是我做的基於OHCI的USB主機的項目背景,這個項目是做什麼的不重要,你可以把它想象成任何項目,關鍵是這個項目要求使用U盤來保存數據。 另外,在我們的項目中沒有使用任何一款嵌入式操作系統,所有的程序都運行在同一個主循環中,自己來實現任務調度。說到操作系統,其實很慚愧,自從我開始從事嵌入式系統的開發到現在,十幾年了,從來沒有用過任何操作系統,所有程序都是裸機直接運行。好處是系統簡單,一切都在自己的掌握之中,出了問題可以很快得到解決。壞處是系統的移植性差,換了個系統有很多通用的代碼需要重新編寫。 不過我做的那些嵌入式系統現在看來其實都是蠻簡單的,用了操作系統可能反而更麻煩,首先得花時間學習操作系統,而且出了問題還要分析確認這問題是不是操作系統的問題,一旦是操作系統的問題還要想辦法怎麼規避,算了,有那個時間項目早就做完了。 沒有操作系統,我的程序更加清晰,沒有了驅動程序加載、操作系統API調用,反而可以更加清楚地知道如何基於OHCI規范實現USB主機。在開始講解之前,我想讀者應該具備如下的基礎知識: 1、 USB接口基礎知識; 2、 USB層通信協議及基本工作流程; 3、 USB主機對USB設備的管理流程; 4、 OHCI標准 —— AT91AM9200對USB接口的操作標准; 5、 Mass Storage Protocol —— 對U盤訪問的存儲控制協議; 6、 UFI Command - U盤讀寫等操作命令; 7、 FAT16文件系統; 以上內容有一些我會在需要的時候加以說明,更加詳細的內容請自行參考相關資料。下面是我做開發過程中參考的一些資料: 1、 《Open Host Controller Interface Specification for USB》 路徑 ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.exe 說明 OHCI接口規范,解壓後得到Word文檔 2、 《ARM嵌入式系統軟件開發實例一、二)》 路徑   說明 周立功等編著,北京航空航天大學出版社 3、 《USB 2.0應用系統開發實例精選》 路徑   說明 廖濟林編著,電子工業出版社 4、 《Universal Serial Bus Mass Storage Class Bulk-Only Transport》 USB Bulk-Only協議規范 5、 《Universal Serial Bus Mass Storage Class UFI Command Specification》 USB UFI命令規范 6、 《Microsoft Extensible Firmware Initiative FAT32 File System Specification》 FAT32文件格式,基礎部分與FAT16兼容

本文出自 “rainman” 博客,請務必保留此出處http://lancelot.blog.51cto.com/393579/226133

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved