LPCUSB - 基于LPC ARM 的USB协议栈

前段时间曾经尝试过的USB主机端的开发,实在是没有时间看犹如天书般的USB协议,从网上也下载了无数代码,没有一个成功的,那种痛苦真是无以言表的。

LPCUSB是一个基于LPC214x的开源USB协议栈,在大名鼎鼎的SourceForge上,拥有自己的页面,也可以在线察看代码和文档。由于LPC2148的内置USB控制器跟PDIUSB D12相像,加以修改可以用于使用D12的场合。

LPCUSB的基本设计理念:

  • 分层设计。
    • 硬件层负责操作实际硬件
    • 核心层负责处理基本的USB框架,处理控制命令的传输和标准的请求(端点0)
    • 应用层,例如大容量存储、HID等
  • 中断驱动,也可以使用查询模式。
  • 各软件层之间相对独立,便于扩展。

LPCUSB目前不支持以下特性:

  • 不支持DMA传输
  • 不支持同步传输
  • 不支持多配置

不过,LPCUSB的开发环境是Cygwin,对于习惯使用ADS的广大工程师来说,还需要一定的移植工作。

LPCUSB提供的应用实例非常丰富,比如USB虚拟串口、基于SD/MMC卡的大容量存储、基于USB的以太网等等。

Copyright © 2008

继续阅读《LPCUSB - 基于LPC ARM 的USB协议栈》的全文内容...

分类: 奇趣创意 | Tags: USB   | 添加评论(0)

相关文章:

posted on 2008-03-13 22:13  xlander  阅读(466)  评论(0编辑  收藏  举报

导航