qiangqiang02 发表于 2009-08-13 11:00

咨询:做驱动应该看哪些文档?

      最近正在学习驱动,关于Switch芯片的一驱动,组长给了我很多资料(包括源代码)。我问组长应该怎么看,组长就告诉我从 module_init() 里面的 function 慢慢追。。。

   可能这样是培养我的自我思考的能力吧。

   资料包括:
         (1) 源代码
         (2) 和此 Switch 芯片相关的其他文件(很多,除了datasheet之外还有很多其他的pdf,乱七八糟的东西,正是因为太多,所以才不知道除了Datasheet应该看什么东西)

   这个版块肯定有很多做驱动开发的,所以大家依据自己的经验给小生指指路。Thanks.


   我先说说我现在的情况吧:
         Datasheet里面基本上都是讲这个Switch的工作原理和相关控制(例如:VLAN 和 QoS相关控制),目前这份文档看得差不多了,相关寄存器也基本了解得差不多了。
   但是,一看到程序就很蒙,主要表现在:
         
         软件部分 和 硬件部分相连的部分感觉蒙,例如,如图1:
             图中的程序有很多都是对PIN进行设置和操作的,但是目前对各个PIN脚的功能不清楚(这应该算是硬件原理没有搞懂吧...)(问题1:此时应该看什么文档?大约为什么名字?)

         
         我自己的看法是:
         ------------------
                  应该先把硬件的基本电路图看明白了,把芯片的各个管脚搞明白了,再看驱动。【问题2:我这种想法对吗?】
   对前面问题进行简单总结下吧:
      【问题3】
             拿到一个芯片后,肯定先要看datasheet,关于此芯片的用法和相关寄存器(这一步我倒是做到了),我还应该看哪些文档呢?或者说我还应该哪些其他类型事情?   

   为了使得大家理解我的意思,说话稍微罗嗦了些,希望大家见谅,多多指出指导意见,谢了

Godbach 发表于 2009-08-13 11:03

首要的就是datasheet。其次,如果一些资料是介绍如何编程使用设备或者驱动的话,那也要仔细看一下。

同时,你还得有Linux下设备驱动的一些基本知识。

qiangqiang02 发表于 2009-08-13 11:14

回复 #2 Godbach 的帖子

谢谢版主的回复,您的速度可真是快啊,嘿嘿。

Godbach 发表于 2009-08-13 11:26

原帖由 qiangqiang02 于 2009-8-13 11:14 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
谢谢版主的回复,您的速度可真是快啊,嘿嘿。

呵呵,刚好赶过来看到。我最初做这些东西的时候也很迷茫,除了别人告诉我有一本LDD2可以看之外,就剩下自己在哪里瞎倒腾了。最后也只是一知半解啊。

dreamice 发表于 2009-08-13 12:01

回复 #1 qiangqiang02 的帖子

单纯的硬件驱动和Linux下的模块驱动有很大的差异。
Linux下编写模块驱动,首先必须具备编写硬件驱动的能力;其次,要对Linux底层调用机制,模块编程等有比较深入的了解,如果要做得更深的话,对linux内核也需要足够的熟悉。
从资料上来说,datasheet是第一步,另外,LDD3,ULK等书都是难得的好书。

Cyberman.Wu 发表于 2009-08-13 14:11

还要了解你所有物总线,如你要开发驱动的设备是通过PCI/PCIe连接、USB连接、还是HPI连接等。例如PCI看一下PCI Local Bus Specification,实际上目前做PCIe设备也是基本上只用PCI的兼容部分。
CPU一侧对于Linux平台基本上已经封装了,主要是看一下内核中相关的文档,如讲DMA的。但如果是做一些嵌入式平台的,有时候还需要了解一下CPU的一些相关知识。

snail_314 发表于 2009-08-13 15:15

你提到,“目前对各个PIN脚的功能不清楚”,我感觉好像你只看了datasheet而没有看原理图吧。结合核心芯片的datasheet里的reference design看原理图。一般原理图都是依据那个画的。还有,不是所有管脚的功能都需要你去“研究”,一些初始化配置的寄存器,在整个产品的运行生命周期中只初始化一次就好了,所以,一般芯片厂商还会带有一些demo code,这些demo code不见得是什么OS上的driver,可能就是一般单片机上跑的小程序,简单初始化一下,然后fire的那种,这种demo code也要仔细读,帮助非常大。

qiangqiang02 发表于 2009-08-14 10:50

OK,非常感谢楼上几位的忠诚建议,目前正在寻找突破口,痛苦ING....
页: [1]
查看完整版本: 咨询:做驱动应该看哪些文档?