嵌入式安卓工控主板系统软件结构-深圳联智通达科技有限公司
来源:
|
作者:LANXUS
|
发布时间: 2020-05-21
|
5783 次浏览
|
分享到:
总体来说,嵌入式系统软件包含4个层次,分别是驱动层、操作系统层、中间件层、应用层,也有些书籍将嵌入式安卓工控主板应用程序接口API归属于操作系统层。由于硬件电路的可裁剪性和嵌入式系统本身的特点,其软件部分也是可裁剪的。
总体来说,嵌入式系统软件包含4个层次,分别是驱动层、操作系统层、中间件层、应用层,也有些书籍将嵌入式安卓工控主板应用程序接口API归属于操作系统层。由于硬件电路的可裁剪性和嵌入式系统本身的特点,其软件部分也是可裁剪的。嵌入式软件系统的体系结构如图1-10所示。
(1)驱动层。驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何外部设备都需要相应驱动层程序的支持。驱动层为上层软件提供了设备的接口,上层软件不必关注设备的具体内部操作,只需要调用驱动层提供的接口即可。驱动层程序一般包括硬件抽象层(HAL,用于提高系统的可移植性)、板极支持包(BSP,提供访问硬件设备寄存器的函数包),以及为不同设备配置的驱动程序。
板级初始化程序的作用是在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA、定时器等的初始化。与嵌入式系统软件相关的驱动程序是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照嵌入式系统软件的要求进行。和中间件等系统软件所需的驱动程序,它们的开发要按照嵌入式系统软件的要求进行。
(2)操作系统(OS)层。操作系统的作用是隐含底层不同硬件的差异,为应用程序提供一个统一的调用接口,主要完成内存管理、多任务管理和外围设备管理三个任务。在设计一个简单的应用程序时,可以不使用操作系统,仅有应用程序和设备驱动程序即可。例如,一个指纹识别系统要完成指纹的录入和指纹识别功能,尤其是在指纹识别的过程中需要高速的算法,所以需要32位处理器;但是指纹识别系统本身的任务并不复杂,也不涉及烦琐的协议和管理,对于这样的系统就没有必要安装操作系统,安装的话反而会带来新的系统开销,降低系统的性能,这是因为运行和存储操作系统需要大量的RAM和ROM,启动操作系统也需要时间。在系统运行较多任务、任务调度、内存分配复杂、系统需要大量协议支持等情况下,就需要一个操作系统来管理和控制内存、多任务、周边资源等。另外,如果想让系统有更好的可扩展性或可移植性,那么使用操作系统也是一个不错的选择。因为操作系统里含有丰富的网络协议和驱动程序,这样可以大大简化系统的开发难度,并提高系统的可靠性。现代高性能嵌入式操作系统的应用越来越广泛,操作系统的使用成为必然发展趋势。
简单来说,操作系统的功能就是隐藏硬件细节,只提供给应用程序开发人员抽象的接口。用户只需要和这些抽象的接口打交道,而不用在意这些抽象的接口和函数是如何与物理资源相联系的,也不用安卓主板去考虑这些功能是如何通过操作系统调用具体的硬件资源来完成的。如果硬件体系发生变化,只要在新的硬件体系下仍运行着同样的操作系统,那么原来的程序还能完成原有的功能。
操作系统层包括嵌入式内核、嵌入式 TCP/IP 网络系统、嵌入式文件系统、嵌入式 GUI系统和电源管理等部分。其中,嵌入式内核是基础和必备的部分,其他部分可根据嵌入式系统的需要来确定。对于使用操作系统的嵌入式系统而言,操作系统一般是以内核映像的形式下载到目标系统中的。
(3)中间件层。目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式 CORBA、嵌入式 Java、嵌入式 DCOM 和面向应用领域的中间件软件等,如基于嵌入式CORBA的应用于软件无线电台的中间件SCA等。
(4)应用层。应用层软件主要由多个相对独立的应用任务组成,每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。实际的嵌入式系统应用软件建立在系统的主任务基础之上,用户应用程序主要通过调用系统的 API函数对系统进行操作,完成用户应用功能的开发。在用户的应用程序中,也可创建用户自己的任务,任务之间的协调主要依赖于系统的消息队列。
本文由嵌入式主板厂家整理发布,咨询热线:0755-86026005 手机热线:13316974674