前段时间,工作上不忙。所以就顺便补了下linux的基础知识。
随着慢慢研习《unix环境高级编程》,对其中的一些unix系统基础知识有了深刻的了解。
到现在,驱动上我只做过powerbutton,led,rtc,这些都是以前在wince平台上的经验,后来转了linux平台后做mfc,然后就是做vlc的codec了,随着后来的stagefright vdsp codec,我发现基本上最近一年来都是做视频相关的工作。
最近在工作中发现,其实我对除了视频的其他的模块几乎没有任何了解,像usb, wifi, sdcard,nandflash,audio,keyboard, 鼠标,i2s,network设备等我知识都是空白。我没有去做相关方面的工作,其实源于我之前的对工作的认识:我觉得公司里每个人负责一个模块,如果那个模块出了问题,一定是他去解决,这样的话这个系统就是稳定安全的。
我现在需要做更多的驱动,接触更大的范围来提升自己。之前的我不管是对生活,还是对工作都太注重细节了,然而在细节上花太多的心思会没有精力去顾及系统。而“系统”才是决定成败的。
其实做驱动有两方面:1,操作系统驱动模型。 2,这个驱动对应硬件的工作原理。
这两者相辅相成,操作系统驱动模型本身就是根据硬件的工作原理来开发出来的。
接下来的几个月里我只对这个感兴趣,加油。