日期:2014-05-16  浏览次数:20679 次

如何从单片机过渡到linux驱动开发
如题,我想从事linux驱动开发,已经提交辞职信。
   
  现在linux方面的基础:
  1. 基本的命令操作。
  2. 编译过内核,建立了交叉编译环境,linux环境下安装过几个软件。
  3. 开发板从虚拟机搭建了NFS文件系统。

  大侠们一看便知,我对linux的水平还仅仅是个入门水平,但是我确实想从事linux驱动开发的工作。

  离失业还有一个月时间,希望在这段时间里能看一本有助于过渡的书籍,还有,简历里应该如何说自己的linux水平呢?工资是不是特别低?(我现在的收入是5K多点)。

------解决方案--------------------
不懂帮顶
偶刚开始学Linux
------解决方案--------------------
从事过单片机开发的话,你的硬件基础应该不错。 C 语言基础也不错。
要学习 linux 驱动开发,相对其他人还是要容易些的。

给你的建议:

1. 熟悉 linux C 应用程序编程, 熟悉常用的 API 等(这是基础,很重要)
2. 学习 LDD, LKD, 这两本书可以说是入门,也可以说是大纲, 对驱动开发很有帮助。
等你弄明白了 Linux 的设备驱动模型,你会发现, Linux 下写驱动,其实比单片机下更容易。
另外还有一本 Linux 设备驱动开发详解 , 中国人写的书,实践性比较强,也是一本难得的好书。
基本书交叉着看会很有帮助。 如果还有余力和时间,就看看 ULK。
------解决方案--------------------
能买到阿, 网上买还便宜,呵呵。
另外你不要忽略应用程序编程,还是上面的话,这是基础,很重要。
熟悉 linux kernel 需要一个过程,需要积累,刚开始会觉得很困难,很困惑,
坚持下来就好了。
------解决方案--------------------
当然是找份工作。 并不一定要一开始就去作 driver 什么的。
linux 方面的应用程序开发也可以, 这可以帮助你快速提高 linux 编程能力。
身边都是做 linux 的人,这对你的学习很有好处。同时,业余时间可以看一下 kernel方面的书,
半年到一年以后你应该就有足够的能力开发一些常规的驱动了。

------解决方案--------------------
然后可以选择跳槽,找一份专职作 driver 的工作。
------解决方案--------------------
探讨

从事过单片机开发的话,你的硬件基础应该不错。 C 语言基础也不错。
要学习 linux 驱动开发,相对其他人还是要容易些的。

给你的建议:

1. 熟悉 linux C 应用程序编程, 熟悉常用的 API 等(这是基础,很重要)
2. 学习 LDD, LKD, 这两本书可以说是入门,也可以说是大纲, 对驱动开发很有帮助。
等你弄明白了 Linux 的设备驱动模型,你会发现,……

------解决方案--------------------
过来看看

------解决方案--------------------
LKD Linux 设备驱动开发
lkd linux内核设计与实现 
ULK 深入理解Linux内核
------解决方案--------------------
看两本书:
1. 了解linux下C的应用程序开发,看《unix环境高级编程》;一定要编写几个C程序,会写Makefile.
2. 学习内核开发,看《Linux设备驱动程序》;跑几个例子,理解驱动接口。
------解决方案--------------------
推荐两本书:

linux device drive 3rd;

unstanding the linux kernel 3rd;

书店有点买,都有中文版
------解决方案--------------------
just do it