一.理论基础知识 
1.计算机基本理论;2.CPU体系结构3.内存管理4.文件系统5.进程调度6.Linux常用操作。
.linux驱动知识
1.i2c驱动添加使用                 2.spi驱动添加和读写               
3.io驱动                          4.dma驱动                       
5.中断源                         6.竞争,并发,阻塞,异步,线程,内存,io,调试
7.usb                            8.flash,文件系统                 
9.网卡驱动 10. LCD驱动

.linux编程知识

1.输入输出,文件,文件夹                      
2.字符串,数据结构,堆栈,链表,(查找)算法,二叉树 
3.线程线程属性,线程同步(锁,信号量,条件变量)   
4.进程:守候进程,进程通信-管道,信号,SystemV(消息,共享内存,信号灯),读写锁,套接字   
5.网络:socketftp客户端,tftp客户端,http serversnmp命令  
6.环境变量,库默认搜索路径,arm-linux-gcc库路径,设置搜索路径,编译流程,lds文件,内联汇编
7.gcc ,ld, ar, ranlib, objdump, readelf, objcopy工具
8.make makefile
9.shell,perl      
10.设备编程v4llcdoverlayer2,串口,并口, mixer, dsp, adc, ts mouse 
11.高级调试方法