从事嵌入式开发很多年了,但大多都是应用程序的开发(也就是常说的api调用工程师)。
当然这些应用其实也不是简单的独立功能,其实更像是一个系统基础功能的整合应用。
正是基于此,在实际的工作中接触到了大量的linux系统功能和驱动等,如网络、usb驱动,音频,视频,显示等。
所以会迫使自己更深入的了解系统底层的一些原理,开始一路的学习但是,嵌入式是非常考验工程师的全方面能力的,比如硬件,操作系统,中间层。
并会涉及性能问题如:系统内存优化,启动优化,进程响应时间优化等。
开始一头扎进去,感觉是问题之多,知识之广,完全无从下手。看了各种书(有些是复习),如《计算机组成原理》,《操作系统原理》,《程序员的自我修养》,《编译原理》《嵌入式系统开发》。
发现有的根本看了不懂,懂了会忘。不知道具体的对应作用在哪里。学习起来没有尽头,看不到效果。
最后请教了一些比较厉害的大佬,得到了一些方法。实际在运用的过程中发现是比较有效的:
- 嵌入式开发知识面要求很广,不要想一口吃下去,也不要想各个位置同时学习。
- 应该从自己熟悉的位置开始向下拓展。
- 把学习的有把握的领域列出明确的计划,可以得到很好的学习反馈尽量还是找到一个自己主攻的方向动手实践,计算机的很多课程学习都是可以实际操作的,不动手效果大打折扣。
因为之前的应用主要是涉及到一些实时功能,也涉及到了调优,程序性能提升。所以就打算从系统性能优化方面进行。