应用程序肯定是要学的,因为你调试好了驱动的话,得测试啊 。自己看驱动,是看代码?还是看书啊?建议你首先学会移植,然后把platform的机制搞懂,然后再去看书 看代码 这样效率高多了。linux驱动开发是很难的,很难摸索出规律,市面上参考书少。。。不过肯下功夫钻的话能学好的。个人感觉先学应用开发...
1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。5. 写一完整驱动, 加上read, write, ioctl, polling等...
建议从基础开始学习。linux:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
嵌入式,其实就是ARM+Linux,重点其实是嵌入式操作系统,建议先从单片机做起,了解GPIO、定时器啥的,也理解怎么用C语言操作硬件。然后再去学Linux操作系统,shell语法等,然后再买一个ARM开发板(初期买2410足够),学驱动开发啥的,建议去星创客学习。学完了以后,做几个驱动,就可以找工作了。
2 总线知识,比如PCI、USB总线。3 芯片知识。驱动其实就是对设备上一些寄存器的配置、CPU与设备本身的通讯以及对不同命令的处理 4 要做好驱动,必须对所使用的CPU体系结构有一个比较深刻的认识 5 C++基本用不上,主要是C和汇编。6 做驱动最好要懂内核调试(比如说linux)硬件...