接触Linux很久了,忽然想到一个问题,嵌入式开发中我能做什么呢?事情一件件的看吧:
1.Bootloader
满世界的bootloader,我还有必要重写一个吗?当然不。所以不用写bootloader。满世界的CPU和Dev-Board,还有什么开发板没有合适的bootloader?当然没有。所以我又不用改写bootloader。
那我需要做什么呢?配置。谁让我的RAM比人家的小一半,FLASH也没人家的大呢。
2.Kernel
如此庞大的kernel,我有能力自己写一个或者解析吗?当然没有。所以我仅仅需要选择合适的版本即可。我使用的CPU在特定版本的内核上支持了吗,还有CPU里面集成的外设,驱动有了吗?当然有了。你又不是第一个在linux上使用该CPU的人!公版的Kernel里面怎么没发现呢?公版的没有你不会去别的地方找啊!
那我需要做什么呢?配置。
3.Filesystem
很多现成的文件系统,我需要自己重新建立吗?当然不用。
那我需要做什么呢?检查以下/dev下的设备名是否对。看看/etc下面的配置文件有没有问题。
4.Qt or KDE
这次我可要大展拳脚了吧。不用。交叉编译QT,交叉编译KDE交叉编译MPlayer,交叉编译。
那我需要做什么呢?把所有软件的依赖关系找到就可以了。
从此,我还要做什么呢?一名程序员做什么,你就做什么了。远离bootloader,远离kernel,远离一切底层的东西。Helloworld就是我最该做的吧。
这样下去怎么行呢,有一天我的饭碗会丢的!新的想法产生了:
每个要做的产品中一定要带一个非标的设备,这样我就有事做了。开发那个非标设备的驱动。
如果你的产品中没有了新设备,你离辞职的日子越来越近了。