打印

大侠指导一下,想学一下arm9开发usb驱动, 推荐一下资料或网

[复制链接]
2033|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oiu|  楼主 | 2008-1-19 00:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
阿南| | 2008-1-19 10:19 | 只看该作者

最好是先专门了解哪种ARM9的处理器,再专门了解USB的知识

在考虑USB驱动,一般不需要自己做太多工作,处理器官方都会提供相关的驱动和固件

使用特权

评论回复
板凳
oiu|  楼主 | 2008-1-19 16:17 | 只看该作者

老板,多多指教,

我现在的情况是把开发板的(s3c2410)uart,时钟中断啊,io口的实验都做完了,都是裸奔的,这些代码都能看懂。现在就剩下usb,和网口(cs8900a)2个实验没法做了,都看不懂代码,我请想问一下,如果要看懂usb,和网口的代码是不是要了解tcp/ip,和usb标准?或者其他的知识?希望大侠过来人给指引一条路。

使用特权

评论回复
地板
armecos| | 2008-1-19 23:24 | 只看该作者

过来人建议学习USB最好从上向下学

    比如:先做个U盘/读卡器什么的,学了就能用,常用就忘不掉,做出来的东西还实用。然后一步步向下深究,枚举是怎么回事儿,MASS STORAGE协议是什么,硬件接口驱动等等。如果你从下向上学,心情肯定不好,面对一大堆寄存器,只见树木不见森林,学了好久也看不到效果,而且不经常用肯定会忘掉,就象狗熊掰棒子,掰一个扔一个,到头来一无所有。
    
    学习网络也建议先做个web server玩玩,然后逐步搞清楚FTP server原理、HTTP、TCP、IP、网卡驱动。这样心情很好,知道学了干什么用,目的性越强,效率就越高。
    
    你学习基本部件驱动的方式也不好,和硬件联系太紧密而且是裸奔代码,这会给你以后发展带来麻烦。比如:我要使用ARM7、ARM11、MPC8260等不同CPU,如果每一种都要重新学习,那我就要疯掉了。解决办法是:抽象出底层最本质的内容,使用万能驱动模板,以不变应万变。不论以后硬件平台如何变化,我现在积累的知识永远也不会过时,这样,就可以起到保值增值的效果,不至于使自己前期积累贬值。
    
    UART串口编程的抽象处理见这里:
    第六讲 串口操作
    
    时间相关见这里:
    第十讲 时间管理
    
    万能中断处理见这里:(这个中断模板适合各种体系,只要照着做,就不会在中断驱动上掉链子,这份文档涉及了中断驱动相关的所有细节,任何中断处理都逃不出这份文档的手心儿^_^)
    第三讲 ecos中断操作
    
    硬件I/O的抽象处理见这里:
    第二讲 硬件IO操作
    
    USB设备和主机驱动见这里:
    《ecos增值包》之USB篇
    
    网络相关见这里:(这是在研究了ecos、Linux、VxWorks、lwip等多种源码后总结抽象出来的集大成者)
    FTP-CGI动态网页实现
    
    其他更多内容见这里:
    EasyARM2200和SmartARM2200增值软件合集第二版
    
    
    全部资料在:www.armecos.com

使用特权

评论回复
5
maxing| | 2008-1-20 01:48 | 只看该作者

顶楼上前辈!

总结得非常好!要学会抽象!

使用特权

评论回复
6
icecut| | 2008-1-20 11:54 | 只看该作者

顶armecos

广告不忘指导,确切说是指导不忘广告,嘿嘿。
说的很对,如果你能找个USB单片机的书看一下原理,或者圈圈的程序看一下,然后硬件处理根据手册看,代码编写根据原有的了解,就会很大进步的。当然USB1.1中文版资料必须看。

使用特权

评论回复
7
oiu|  楼主 | 2008-1-20 16:22 | 只看该作者

谢谢各位大侠的指教

我也是把很多初学者刚入门遇到的迷惑说一下,
我学习arm9(s3c2410)的目的就是1个,就是想学会linux上写出usb,和tcp/ip网口驱动,即使学回一个也行!其实跑linux系统,usb,和网络驱动都在内核里有了,编译进去就可以了.现在我是想如果linux系统上没有usb,或者网口驱动的话,我该怎么去写,学这个驱动写法是不是很难学?当初为了学习arm9的基本原理买了一块开发板,提供了基本的实验,像usb 驱动,网口驱动实验更本就没有提供,如果哪位大侠乐意提供相关学习的实验代码,在下非常感谢,少量的银子购买也可以,不知道那位购买开发板的时候有没有提供usb,tcp/ip的实验?可不可以共享一下?
还有我的开发板上虽然没有上面说的2个实验,但是他的bios有通过usb,和网口下载程序的选项,这样子我把bios里关于usb 和网口的那部分代码看明白就可以了?
现在总结一下,希望大侠帮忙看看行不可行,
1,学习usb驱动,要先USB单片机的书看一下原理,看原理图怎么连,看别人代码怎么写,而后在看usb的标准协议资料。
2,学习网络驱动,先做一个web sever,或者ftp server,的实验(可惜我这里没有代码的实验步骤,希望有的朋友能提供一下资料),而后看tip/ip的协议。

使用特权

评论回复
8
armecos| | 2008-1-20 19:26 | 只看该作者

其实你缺的是环境,

就是你所说的实验步骤,范例代码,能稳定运行的环境,这些才是最有价值的。
    《ecos增值包》就为初学者提供了bootloader、tcp/ip、usb、gui、fs等完整的内容和范例源代码,你需要的这里面全有,一些网友就用它完成了毕业设计,你不必舍弃其中任何一项内容的学习。虽然很可惜不能有效地帮助到你,不过我们提供的免费文档是适合所有体系架构的,依然对你有一定的帮助,况且走弯路也不是坏事,可以看到更多风景。
     后面我们会写一篇指导如何实现U盘和读卡器的文档,应该对你学习USB有启发。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

oiu

28

主题

81

帖子

0

粉丝