佚名通过本文主要向大家介绍了嵌入式底层驱动开发,嵌入式底层开发,嵌入式底层驱动,嵌入式底层软件开发,嵌入式底层等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:正学嵌入式操作系统,是做底层呢还是上层应用呢?各位前辈给点建议。
描述:
解决方案1:
描述:
嵌入式操作系统
正学嵌入式操作系统,是做底层呢还是上层应用呢?各位前辈给点建议。解决方案1:
嵌入式软件在我看来分以下几部分:
(1)BSP开发,需要看较多的芯片手册,看一些原理图,实际上就是编写一些芯片操作的抽象函数或者宏出来。
(2)驱动开发,在BSP的基础上,按照操作系统的驱动结构,向操作系统提供一些接口函数的实现,这一块对芯片知识仍然有一定要求,但是要低一些,实际中BSP和驱动往往是一拨人开发,并且简单的情况下,BSP和驱动就不区分了,尤其在无操作系统时。
(3)kernel开发,内核的裁剪、扩充、修改,这一块一般是属于偏上层了,对操作系统原理有要求,驱动和BSP在这里是作为一个组件包含进来的,具体的硬件知识不需要了解太多,但是嵌入式系统来讲,一般会接触一些吧。
(4)应用开发,这一块是在kernel的基础上进行的,特点在于多任务应用程序、中断函数等方面,更多的和公司所涉及的业务内容挂钩,有的公司这一块很简单,有的则复杂得很,我是做无线通信协议的,这一块一般都有几万行代码,这块就算是应用层面的了。
以上这几块,由1到4,越来越上层,对软件能力要求越来越高,对底层要求越来越低,一般公司分得不太细的话,kernel+应用程序分一拨人管,因为kernel和应用程序联系比较紧密,而BSP+驱动又是一拨人,因为这两块有时候根本就不分的。我们这比较悲催,软件室领导不给力,我们只管应用程序,每天讨论什么协议,连kernel都归驱动那帮人管了。