嵌入式系软件架构

嵌入式系软件架构

嵌入式软件架构 嵌入式软件基础 嵌入式操作系统

1. 嵌入式软件基础

考点分析:嵌入式软件分类设备驱动层板级支持包引导加载程序设备驱动程序

1.1 嵌入式软件分类

嵌入式软件是指应用在嵌入式计算机系统当中的各种软件

  • 系统软件:控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件
  • 应用软件:嵌入式系统的上层软件,定义了嵌入式设备的主要功能和用途,并负责与用户交互,一般面向特定的应用领域
  • 支撑软件:辅助软件开发的工具软件
1.2 设备驱动层

设备驱动层又称为板级支持包BSP,包含了嵌入式系统中所有与硬件相关的代码,直接与硬件打交道,对硬件进行管理和控制,并为上层软件提供所需的驱动支持

BSP的基本思想是把嵌入式操作系统与具体的硬件平台隔离,即把所有与硬件相关的代码都封装起来,并向上提供一个虚拟的硬件平台,而操作系统就运行在这个虚拟的硬件平台上。它使用一组定义好的编程接口来与BSP进行交互,并通过BSP来访问真正的硬件

BSP主要包括两个方面的内容:引导加载程序设备驱动程序

1.3 引导加载程序

引导加载程序是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之前运行的一小段程序,通过这段程序,初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境设置到一个合适的状态,以便为最终调用操作系统内核做好准备。包括以下功能

  • 片级初始化:主要完成微处理器的初始化
  • 板级初始化:主要完成微处理器以外的其他硬件设备的初始化
  • 系统级初始化:加载内核,将操作系统和应用程序的映像从Flash存储器复制到系统的内存当中,然后跳转到系统内核的第一条指令处继续执行
1.4 设备驱动程序

设备驱动程序就是一组库函数,用来对硬件进行初始化和管理,并向上层软件提供良好的访问接口。

不同的硬件设备,功能不一样,所以他们的设备驱动程序也是不一样的,但大多数的设备驱动程序都会具备以下的基本功能

  • 硬件启动:开机上电或系统重启时,对硬件进行初始化
  • 硬件关闭:将硬件设置为关机状态
  • 硬件停用:暂停使用该硬件
  • 硬件启用:重新启用该硬件
  • 读操作:从硬件中读取数据
  • 写操作:往硬件中写入数据

2. 嵌入式操作系统

考点分析:嵌入式操作系统嵌入式实时操作系统多任务系统上下文切换BIT自检测微内核操作系统

2.1 嵌入式操作系统概述

嵌入式操作系统(EOS)是指用于嵌入式系统的操作系统,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通讯协议、图形界面、标准化浏览器等

嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。其特点如下:

– 系统内核小
– 专业性强
– 系统精简
– 高实时性
– 多任务的操作系统

2.2 嵌入式实时操作系统

嵌入式实时操作系统是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。在嵌入式实时系统中,要求系统在投入运行前即具有确定性和可预测性

实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作;软实时则只要按照任务的优先级,尽可能快地完成操作即可

实时操作系统的特征包括:

– 高精度计时系统
– 多级中断机制
– 实时调度机制

2.3 多任务系统上下文切换

在多任务系统中,上下文切换指的是当处理器的控制权由运行任务转移到另外一个就绪任务时所执行的操作。任务的上下文是任务控制块(TCB)的组成部分,记录着任务的寄存器、状态等信息。当运行的任务转为就绪、挂起或删除时,另外一个被选定的就绪任务就成为当前任务。上下文切换包括保存当前任务的状态,决定哪一个任务运行,恢复将要运行的任务的状态。保护和恢复上下文的操作是依赖特定的处理器的。上下文切换时间是影响嵌入式实时操作系统性能的一个重要指标

2.4 机内自检

在嵌入式实时系统中,通常用机内自检BIT(Built In Test)完成对故障的检测和定位。BIT一般包括以下四种

  • 上电BIT:系统上电时对所有硬件资源进行自检测的程序,拥有100%CPU控制权,可对系统中所有的硬件进行完整测试
  • 周期BIT:在系统运行的空闲时间,周期性对硬件进行检测,由于系统处于正常运行状态,测试程序必须采取非破坏性测试算法,对部分可测部件进行测试
  • 维护BIT:是在地面维护状态下,对系统硬件的部分或全部进行维护性测试,测试软件拥有100%CPU控制权,可对系统中所有的硬件进行完整测试
  • 启动BIT:是在系统维护或检修时进行,通过控制按钮等手段启动BIT,检查或确认硬件资源故障
2.5 微内核操作系统

微内核操作系统的基本思想是尽可能地将操作系统核心缩小,仅仅实现核心基础部分,如中断、并行调度等于硬件有关的部分,而策略、应用层次则面向用户,这样大量的代码就移向进程,因此其只是操作系统中最基本的部分。微内核可以支持多处理机运行,适用于分布式系统环境

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月3日
下一篇 2020年10月3日

相关推荐