2011软件水平考试嵌入式系统设计师辅导笔记(16)

企业动态
2011软件水平考试嵌入式系统设计师辅导笔记,帮助考生备考。

 1、嵌入式软件基础

(1)嵌入式软件的特点:

A、规模较小。

B、开发难度大。

C、实时性和可靠性要求高。

D、要求固化存储。

(2)嵌入式软件分类:

A、系统软件:控制和管理嵌入式系统资源,如嵌入式操作系统、驱动程序、中间件等。

B、应用软件:定义嵌入式设备的主要功能和用途,负载与用户进行交互。

C、支撑软件:辅助软件开发的工具软件。

(3)无操作系统的嵌入式软件的两种实现方式:

A、循环轮转

优点:简单、直观、开销小、可预测。

缺点:过于简单,所有代码顺序执行,无法处理异步事件,缺乏并行处理能力。

B、前后台系统(在循环轮转的基础上增加了中断处理功能)

前台(事件处理级):中断服务程序,负载处理异步事件。

后台(任务级):一个无限循环,负载资源分配、任务管理和系统调度。

(4)有操作系统的三大优点:

A、提高系统的可靠性。

B、提高了系统的开发效率,降低了开发成本,缩短了开发周期。

C、有利于系统的扩展与移植。

(5)设备驱动层(也叫板级支持包BSP:包含了嵌入式系统中所有与硬件相关的代码)

大多数的嵌入式硬件设备都需要某种类型软件的初始化和管理。这部分工作由设备驱

动层来完成的,它负责直接与硬件大交道,对硬件进行管理和控制,为上层软件提供所需的

驱动支持,类似PC 系统中的BIOS 和驱动程序。

(6)板级支持包BSP 的基本思想

把嵌入式操作系统与具体的硬件平台隔离开来。在BSP 当中,把所有与硬件相关的代

码都封装起来,并向上提供一个虚拟的硬件平台,而操作系统就运行在这个虚拟的硬件平台

上。它使用一组定义好的编程接口来与BSP 进行交互,并通过BSP 来访问真正的硬件。

(7)一般来说。BSP 主要包括两个方面的内容:

A、引导加载程序BootLoader。

B、设备驱动程序。

(8)关于引导加载程序BoorLoader

引导加载程序是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之

前运行的一段小程序,它的实现高度依赖于具体的硬件平台,主要的基本功能如下:

A、片级初始化:纯硬件初始化过程,把微处理器从上电的默认状态设置成系

统要求的工作状态。

B、板级初始化:同时有软件和硬件在内的初始化过程,设置各种硬件的寄

存器和设置某些软件的数据结构和参数。

C、加载内核:将操作系统和应用程序的映象从Flash 存储器复制到系统内存

当中,然后跳转到系统内核的第一条指令处继续执行。

补充:PC 系统的引导加载过程。

PC 系统的引导加载程序由两部分代码组成――BIOS 和MBR 中的引导程序。BIOS 在完成硬件检测和资源

配置后,将硬盘主引导记录MBR 中的引导程序读到系统的内存当中,然后将控制权交给它,由它负责把操

作系统的内核映象从硬盘读入到内存,然后跳转到内核入口去运行,即启动操作系统。

(9)设备驱动程序

在一个嵌入式系统中,操作系统可能有也可能无,但是设备驱动程序是必不可少的。

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

的访问接口。大多数设备驱动程序都具备下面的基本功能:启动、关闭、停用、启用、读

操作、写操作。这些功能一般用函数的形式来实现,这些函数之间的组织结构主要有两种:

分层结构和混合结构。

(10)关于分层结构

A、硬件接口:直接操作和控制硬件。

B、调用接口:不直接跟硬件大交道,为上层软件提供服务和函数接口。

C、优点:把所有与硬件相关的细节都封装在硬件接口中,在硬件需要升级,需要更新

设备驱动程序的时候,只需要改动硬件接口中的函数即可,而上层调用接口中的函数不用做

任何修改。

D、混合结构:在设备驱动程序当中,没有明确的层次关系,上层接口和硬件接口混在

一起,相互调用。

(11)嵌入式中间件

它是在操作系统内核、设备驱动程序和应用软件之外的所有系统软件,其基本思路是:

把原本属于应用软件层的一些通用的功能模块抽取出来,形成独立的一层软件,从而为运行

在它上面的那些应用软件提供一个灵活、安全。移植性好、相互通信、协同工作的平台。

 

【编辑推荐】

  1. 2011软件水平考试嵌入式系统设计师辅导笔记(15)
  2. 2011软件水平考试嵌入式系统设计师辅导笔记(14)
  3. 2011软件水平考试嵌入式系统设计师辅导笔记(13)
  4. 更多软考资料请点击51CTO软考专题
责任编辑:张攀 来源: 考试吧
相关推荐

2010-12-14 11:10:25

嵌入式系统设计师

2010-12-27 10:42:42

嵌入式系统设计师

2010-12-23 11:11:58

嵌入式系统设计师

2010-12-14 11:12:36

嵌入式系统设计师

2011-01-28 11:11:48

嵌入式系统设计师

2010-12-16 10:54:03

嵌入式系统设计师

2011-01-07 11:19:44

嵌入式系统设计师

2011-01-12 10:38:03

嵌入式系统设计师

2010-12-17 11:04:28

嵌入式系统设计师

2010-12-22 11:12:21

嵌入式系统设计师

2011-01-14 11:39:21

嵌入式系统设计师

2011-01-05 14:24:26

嵌入式系统设计师

2011-01-12 10:42:25

嵌入式系统设计师

2011-01-14 11:30:10

嵌入式系统设计师

2010-12-23 11:14:39

信息系统管理师

2010-12-10 10:32:15

软件设计师

2010-12-08 10:50:16

软件设计师

2010-12-08 10:54:27

软件设计师

2010-12-17 10:34:03

软件设计师

2010-12-09 10:51:56

考试软件设计
点赞
收藏

51CTO技术栈公众号