分类: LINUX
2009-11-27 11:10:13
学linux的驱动设计
一:首先先装个虚拟机吧,我觉得这个比较好,有些人建议直接装在硬盘上(我想他们是觉得有点环境压力吧),可我觉得对于没有linux基础的还是先装虚拟机比较好。
二:记住一些常用的命令,这个是学linux的基础,这个对于使用linux这个系统来说是比较重要的,我觉得linux对于windows的优势就是命令的功能非常大。
三:清楚arm上跑的linux只是pc上跑的linux的裁剪版和运行的体系结构不同而已,这里也就涉及到编译器的不同了,arm上一般会用arm-linux-gcc而pc上(一般是x86结构的)一般用gcc。我觉得其它也就差别不是很大了,命令都是通用的。
四:一本详细的资料书,对于你的学习有很大的帮助,对于驱动我觉得宋宝华的《linux设备驱动开发详解》很好,比较实用,对于华清远见的李俊的《嵌入式linux设备驱动开发详解》我觉得适合入门吧,给以前做单片机的人有点过渡,但我个人觉得不是很实用。
五:这边就给以前做单片机的现在想学linux驱动的人点建议吧,做单片机的开始学linux都有点想打破砂锅问到底的思维,想把代码究到控制寄存器那,这种深入了解的思维是很好的,但对于学linux我觉得可以会遇到一些困难,linux的源代码比较多,不是单片机的那么少,而且涉及到很多指针和结构体,不好深究——我想这就为什么我一个在做linux驱动的同事告诉我不要钻牛角尖的原因吧,如果你觉得你的c语言的内功比较深厚了,可以看一下,对你理解内核也会有很多好处的。还有看linux源代码记得用sourceinsight哦,呵呵,不然会很痛苦的。
六:对于内核,我觉得有时间、精力花点时间看一下也是一个不错的想法,毕竟驱动也是内核的一部分,给大家介绍一本书《linux内核设计与实现》比较通俗易懂。我看了一遍没什么效果,呵呵,只知道它的皮毛的皮毛再皮毛,呵呵。打算继续看。
七:要接受操作系统的思维,内核空间和用户空间是隔开的,用一些函数来交换数据。
今天就先写到这了,我现在也只学了一点的linux还有很多的东西部清楚,路漫漫其修远兮,吾将上下而求索!希望自己能早点踏好linux的路,呵呵!
以上这是我这段时间学习linux的感受,比较肤浅,正在看这段文字的linux的行家,请不要见笑我这菜鸟哦,再此谢过了哦!谢谢各位的阅读。