深入嵌入式linux知识要点
1.linux理论
1.计算机体系结构
2.CPU结构
3.内存管理
4.文件系统
5.进程调度
2.linux驱动1.i2c驱动添加使用 (inno,摄像头)
2.spi驱动添加和读写 (inno,spi的flash)
3.io驱动 (led的控制,io操作)
4.dma驱动 (lcd和ac97 alsa和网卡)
5.中断源 (inno,摄像头)
6.竞争,并发,阻塞,异步,线程,内存,io,调试(ldd3)
7.usb (libusb,skeleton.c)
8.flash,文件系统 (u-boot,kernel source)
3.linux编程
1.输入输出,文件,文件夹 (linux c 函数手册)
2.字符串,数据结构,堆栈,链表,(查找)算法,二叉树 (glib,glibc)
3.线程: 线程属性,线程同步(锁,信号量,条件变量) (多线程编程指南)
4.进程:守候进程,进程通信-管道,信号,SystemV(消息,共享内存,信号灯),读写锁,套接字 (linux网络编程指南)
5.网络:socket,ftp客户端,tftp客户端,http server,snmp命令 (inetutils-1.4.2.tar.gz源码,linux网络编程指南)
6.环境变量,库默认搜索路径,arm-linux-gcc库路径,设置搜索路径,编译流程,lds文件,内联汇编
7.gcc ,ld, ar, ranlib, objdump, readelf, objcopy工具(看博客)
8.make makefile,autoconf,aclocal, automake,configure脚本GNU make中文手册)
9.shell,perl (高级Bash脚本编程指南)
10.设备编程v4l,lcd和overlayer2,串口,并口, mixer, dsp, adc, ts ,mouse (google)
11.高级调试方法 (google)
4.音视频
1.视频播放框架,音视同步,(ffplay,vlc,mplayer)
2.音视编解码 (ffmpeg, ipp, x264,其它)
5.图形化编程
1.中文国际化 (pango,fontconf, freetype自带doc)
2.sdl ,gstream (google)
3.gtk+ (gtk例子,gtk自带doc)
4.minigui (
www.minigui.org)
6.协议
1.gsm应用栈和at命令 (openmoko,gpe2)
2.usb协议 (uboot,kernel,开发板bios)
3.tcpip协议栈 (周立功,lwip,linux自带)
4.http,snmp,stmp,tftp,ftp(google,rfc)
7.开源项目
(1)浏览器 :
dillo(gtk+)/netbit(gtk+)/edillo(minigui)/opera(qt)/firfox
(2)摄像头:
spcaview/servfox(jpeg,linux v4l/v4l2)
(3)音视频:
播放 (vlc/mplayer)
编解码 (ffmpeg/ipp)
(4)gtk+图形
gserial,glcock
(5)运用tcp/ip协议:
ftp,tftp,ping,talk等 (inetutils-1.4.2.tar.gz)
stmp邮件协议 (tinymail)
snmp协议 (net-snmp-5.0.8.tar.gz)
http (boa,cgi)
(6)数据库
sqlite
(7)整体解决方案
gpe2
android的java平台
openmoko
qtopia