我想说说我自己,最先接触的嵌入式操作系统是ucosII,谈谈感想吧,都是一些简单又浅显甚至肤浅地东西。刷了一遍源码,研究了它的内核与调度机制,学习它的IPC与定时器,还有内存分配。原本以为这些能够熟练应用就可以很好地完成项目或者产品,在MSP430上移植并成功运行就是很了不起的事情了,很遗憾,这些只算是掌握了工具的使用而已。
一款产品从研发设计到验证到文档的编写,以及各种标准认证,每个环节都要求开发者对其足够掌握,了然于胸。那么其中的系统架构就需要我们做到任务划分要合理,底层驱动要安全稳定,能够将嵌入式操作系统的各种机制熟练应用于产品设计中的细节中,做到简约不简单。如果,任务划分得稀里糊涂,就好比写代码时函数做成了低内聚高耦合,十足失败,所以一定要知道如何划分任务。既然用到了操作系统,驱动代码的编写就不要像逻辑编程一样简单粗暴显得没有文化了,一开始,可能是知识体系没有搭建起来,但是,一定要多学习优秀的操作系统的代码,取长补短,不断学习,不断总结审视增加以往的代码,并改进。
知道多少操作系统完全是个人兴趣爱好,彻底掌握并精通一门,其他学起来会事半功倍。优秀的操作系统非常多,没有必要去比较那一个最好,因为各具特色,我们有必要去了解哪个操作系统与其他的操作系统相比,在某一个环节上具有的独特优势,并有机会利用到。
我有时会用到QP状态机,我认为它也是很不错的。目前,因为喜欢瞎琢磨,所以用到操作系统比较杂,像freertos,rtthread,alios-thing,以及rtems和liunux等,就像做菜的厨师要放少许or适量的料,该用啥时用啥,自己琢磨。
|