如何学习嵌入式驱动开发?

  • Μ*.LΟvё
  • LV0工程师
  • |      2015-10-06 08:18:01
  • 浏览量 568
  • 回复:1
如何学习嵌入式驱动开发?

转自:www.arm8.net
如果你是从事嵌入式驱动开发的话,待遇会非常高,首先嵌入式每年的缺口在30-50万,加上嵌入式非常难,所以从事嵌入式的待遇都非常高,如果你是从事嵌入式驱动的待遇比从事嵌入式应用会更高,一般刚从事驱动的待遇在5K以上。如果有2-3年的话可以达到10K以上!

嵌入式驱动学习主要是 kernel 源码和 ARM 架构这两块难搞,难度的话是比较高的,想学的比较好最起码得2年,培训几个月肯定是不够的。
1. 学会写简单的makefile 
2. 编一嵌入式驱动应用程序,可以用makefile跑起来 
3. 学会写嵌入式驱动的makefile 
4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。 
5. 写一完整嵌入式驱动, 加上read, write, ioctl, polling等各种函数的驱动实现。 在ioctl里完成从用户空间向内核空间传递结构体的实现。
6. 写一block驱动, 加上read,write,ioctl,poll等各种函数实现。 
7. 简单学习下内存管理, 这个是最难的,明白各种memory alloc的函数实现细节。这是linux开发的基本功。
8. 学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。 
9. 看内核中实际应用的驱动代码。 你会发现最基本的你已经知道了, 大的框架都是一样的, 无非是read, write, ioctl等函数的实现, 但里面包含了很多很多细小的实现细节!

推荐学嵌入式驱动的书籍: 《linux程序设计》 《unix 环境高级编程》 《unix 网络编程》
然后 《linux 设备驱动》 《linux内核设计与实现》 也就是传说中的ldd 和 lkd
祝你成功
http://blog.sina.com.cn/u/2103944082
http://blog.sina.com.cn/99gxwcom
http://blog.sina.com.cn/u/2167879934
http://blog.sina.com.cn/u/2219647054
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
冰山一角 2015-10-07
看看          
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子