1.2基于OHCI的USB主机 —— 背景介绍

转载 2012年03月22日 09:38:35
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/226133
使用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兼容

4.2 基于OHCI的USB主机 —— USB设备命令介绍

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/269438 ...

USB主机控制器驱动——OHCI分析

首先,整个驱动框架的开始,是基于 platform 平台总线的。 struct platform_device s3c_device_usb = { .name = "s3c2410-ohci...

3.16 基于OHCI的USB主机 —— 中断向量处理

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/261143 ...

1.3 基于OHCI的USB主机 —— 总体构架

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/228153 ...

基于OHCI的USB主机 —— 目录

我的《基于OHCI的USB主机》系列文章已经完毕了,我觉得需要建立一个目录,以便需要的人可以迅速找到所需要的文章。本文档的目标就是建立一个该系列文章的目录,可能还会对每个部分进行简单介绍。 第一...

1.1基于OHCI的USB主机 —— 前言

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/328233 ...

3.17 基于OHCI的USB主机 —— 中断处理程序

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/261181 ...

基于OHCI的USB主机 —— 总体构架

在我们的系统中,USB主机就是用来对U盘进行读写操作,因此在设计和构架上就完全围绕这个目的而进行。整个系统所涉及到的内容比较多,按照嵌入式系统开发的一般原则,采用层次化的体系结构,将系统按照功能划分为...
  • zzobin
  • zzobin
  • 2013年02月01日 11:08
  • 374

USB驱动程序(一)————USB主机控制器驱动——OHCI分析

本文以 2440-ohci 驱动为例,简单分析 USB 主机控制器驱动 根 Hub 的注册过程,以及 USB设备的枚举过程,并不涉及USB协议,单纯分析驱动框架流程。无论是hub还是普通的usb设备,...

4.3 基于OHCI的USB主机 —— USB标准请求

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/269441 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1.2基于OHCI的USB主机 —— 背景介绍
举报原因:
原因补充:

(最多只允许输入30个字)