Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2367857
  • 博文数量: 145
  • 博客积分: 8668
  • 博客等级: 中将
  • 技术积分: 3922
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-09 21:21
个人简介

work hard

文章分类

全部博文(145)

文章存档

2016年(1)

2015年(1)

2014年(1)

2013年(12)

2012年(3)

2011年(9)

2010年(34)

2009年(55)

2008年(20)

2007年(9)

分类: LINUX

2008-10-05 16:56:58

05年本科毕业时做的毕业论文时分析一个嵌入式开发板的音频驱动。当时开发板的技术支持告诉我有一本书《Linux设备驱动程序》,是专门讲Linux下设备驱动开发的。于是乎买了一本第二版,当时最新版本也就是第二版。
 
看了若干章节,除了把hello,world跑出来,其他的都不怎么该怎么进行。也不知道原来作者提供的是有源码的话,可以下载下来自己编译学习。自责一点是有点太笨了,竟然连这样的资源都没有发现。整本书也就没有看多少,唯一的用处就是在论文上若干地方引用了这本书的内容。
 
随后,慢慢学会了编译内核。也发现了LDD也是有源代码可以下的,更多经典的书都是附有源代码的。真是后悔,这么晚才明白这样一个情况。于是下了ldd3的源代码,手动的可以将一些代码编译并进行实验了。但这是个人爱好,并没有深入的去学习,因为我要做另外和Linux不相关的东东。但是期间总是断断续续的去看Linux内核和驱动程序方面的东西,更重要也很幸运的是,又在CU上认识了一些在从事这方面的朋友,不时的进行切磋,更准确的说,应该是我想这些朋友请教。
 
在这个过程中,我也确定了自己的兴趣和以后工作的方向:Linux下内核和网络方面的工作。于是乎,开始了Linux内核的hacking。随着基础的增加,也可以看懂内核中一些设计的方法。每当看懂一点点设计的方法时,我总会惊叹于内核设计的逻辑和精妙,能够如此的把C语言灵活运用,我觉得非Linux内核莫属。因为这也是全球内核开发者智慧的结晶啊。
 
十一期间也就没有做出行的打算,重点就是想学点知识。IT方面的知识太多了,而我本身起步就比较晚,更需要抓紧时间学习和领会了。有点对不起这本书的作者和译者的是,三年后我又一次开始系统阅读LDD3时,我是因为要陪女朋友做头发,为了打发时间所以带上了LDD3。将近两个小时的时间,我基本上看完了前四章。基本上沉醉于译者的文字之中。最清晰的一种感觉是,这本书讲的很多东西我原来都可以看得懂,而且马上就有一种想找个电脑,编译一下代码实践的冲动。之所以能够有这样的感觉,可能还是因为自己看的代码分析的代码都比较多了,看这本书需要的基础知识我符合的更多了。只有知识的积淀,才会让自己对某个方面的理解逐步深入。
 
靡不有初,鲜克有终。既然开了好头,那就仔细的把这本书拜读一遍吧。深处浮躁的都市,最需要的就是静下心来读一些书,不管是人文的还是技术的。
 
                                                         2008/10/05 下午 Godbach记。
 
 
阅读(2730) | 评论(8) | 转发(0) |
给主人留下些什么吧!~~

Godbach2009-06-19 13:58:01

不用客气。欢迎多多交流。

chinaunix网友2009-06-19 08:41:02

好的,谢谢了。我借了本《Linux内核设计与实现》正在慢慢看呢

Godbach2009-06-18 21:07:33

还有,就是既然学习Linux设备驱动,那就一定要多看看内核的源代码,本身内核代码中也继承了我们平时PC常用的驱动程序,看看人家的驱动是怎么写的。方便的话,也要进行调试调试。 具体到单片机上,我做的工作不多。只能说一些通用的建议。如果有具体的问题,也建议你到CU的内核版、驱动版、嵌入式版这几个版块上面发帖,和大家一起交流你的问题。

Godbach2009-06-18 21:03:20

第二,除了基础上的机制要准备之外,就是在看书的过程中多去实践,它里面的绝大部分例程是比较容易编译和测试的。选一个不高于2.6.18版本的内核,这样较多的历程都可以直接编译通过的。然后就是自己多程序,多动手修改例程。 这样按照书本上的知识讲解,对设备驱动所需的各个方面进行系统的学习一下。

Godbach2009-06-18 21:00:18

你好。其实在看《Linux设备驱动程序》这本书的时候是需要有一定基础的,而不仅仅是作者所说的有一些C基础加上一些简单Linux的基础就可以了。从我个人的实践来看,建议你先系统的了解一下linux的内核组成,可以看一下《Linux内核设计与实现》。这本书重点从框架设计上介绍了内核,不深入,但是从面上照顾到了内核的各个方面。