ARM9的USB设备驱动开发相关问题

wook   2009-7-5 22:27 楼主
刚接触驱动,领导让一个月内完成设计编码。
请问应该从哪方面着手呢?有没有哪位朋友能给点建议呀?

回复评论 (18)

看你用什么操作系统了,
Linux还是Wince,
Linux驱动程序设计网上资料还是很多的。
看下DMA吧。
Wince没用过,不知道...
点赞  2009-7-5 22:52
ARM9上不搭Linux或Wince的操作系统,就做一循环,有数据就发。

看了下USB2.0与0TG规范及开发指南的USB设备的结构部分,就知道Driver中要包括标准设备请求的处理,别的例如设备状态的切换,USB系统的初始化等等都不清楚。

希望有一个USB设备Driver的设计书,说明它由哪些模块组成,都需要完成什么功能等方面的设计报告。
点赞  2009-7-6 11:49
哪位大侠给我提供个AT91的USB接口驱动源代码吧,先谢了。
点赞  2009-7-6 14:38
参考uboot的usb接口源码
点赞  2009-7-6 15:24
uboot是什么呀?不明白呀。给我个下载网址也行。
点赞  2009-7-6 23:23
现有RAM7 LPC24系列的USB接口驱动源码,不过不知道哪些能被AT91复用。
标准命令请求和描述代码是否可以复用呢,是不是就寄存器设定接口层不能用。
点赞  2009-7-7 11:37
引用: 引用 5 楼 shenyinhong 的回复:
uboot是什么呀?不明白呀。给我个下载网址也行。


这个麻烦了,就是板子启动类似于pc的bios的东西的bootload,比较精小,没有进程,一般硬件模块处理也包涵了的

因为u-boot也是个比较复杂的东西,楼主可以去网上了解下

慢慢来别着急

官方下载地址:
ftp://ftp.denx.de/pub/u-boot/
点赞  2009-7-7 14:13
谢谢您-hefuhua
点赞  2009-7-7 20:25
安装EWARM后,自带了一些sample,其中有usb device core代码,包括usb 初始化、中断处理,还有一些标准请求的相应处理。
看文档说USB设备包括三层:最低层是发送和接受包的总线接口。
                         中间层是处理总线接口与设备不同端点之间的数据路由,提供共同属性和操作。
                          最顶层是设备提供的功能,例如鼠标或其他接口。
Sample代码是不是只包括标准USB 设备的中间层,最顶层也就是协议层并没有。

如果我只想实现从AT91接受数据输出到PC,那么是不是可以复用Sample代码,再写些简单传输协议就可以了呢。




点赞  2009-7-8 20:22
你到底是什么操作系统啊,还是裸机?
点赞  2009-7-9 09:17
没有操作系统,就做了main loop。
点赞  2009-7-9 10:23
uboot或者vivi里面的usb例子太适合楼主, 赶快去看吧,大概直接也可以用吧。
点赞  2009-7-9 20:25
谢谢大家的帮忙。

已确定要基于IAR Systems\Embedded Workbench 5.4 Kickstart\arm\examples\Atmel\at91sam9xe-ek\usb-device-core-project代码进行开发了。
目标是能实现往PC上传数据就可以,即主机侧发送开始接受命令,设备侧对此命令解析后,利用USBD_Write()函数发送数据。
那么设备侧要作的是不是就是在sample代码上配置下接受/发送命令和发送数据的端点,增加一开始接受数据命令的处理函数就可以呢。

点赞  2009-7-20 18:36
uping
点赞  2009-7-21 09:47
到周五就剩三天时间了,必须交代码了呀。大伙帮帮我吧。在这先谢了!

基于IAR Systems\Embedded Workbench 5.4 Kickstart\arm\examples\Atmel\at91sam9xe-ek\usb-device-core-project代码,在
Main(){

----
// Initialize the USB
USB_Init(&sUsb);
// Try to connect the
USB_Connect(&sUsb);
While(1)
{  添加简单通信协议  }
}

实现往PC上传数据就可以,即主机侧发送开始接受数据Command,设备侧给一个应答,然后就发送数据(使用批量传输)。
点赞  2009-7-21 19:48
有人在吗?
点赞  2009-7-22 11:45
还要看用什么协议,比如HID、CDC等等,还是有一点区别的
点赞  2009-7-22 14:25
想复用上次同事开发LPC2148 usb驱动时自定义的协议,可是不知道怎么移植到at91的sample代码中。
唉,看来只能辞职谢罪了,真是对不起我的领导呀。呜呜~~
点赞  2009-7-24 16:19
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复