标题:
嵌入式系统设计师考试笔记之操作系统基础 01
[打印本页]
作者:
samwalton
时间:
2013-11-26 09:35
标题:
嵌入式系统设计师考试笔记之操作系统基础 01
原定于
11
月
8
号的嵌入式系统设计师考试由于某种原因推迟,得以让我有时间再写几篇文章,在最后的时刻为大家提供最后的帮助。
我觉得,嵌入式系统设计主要包含系统设计、硬件设计和软件设计。其中大部分工作是嵌入式软件方面,包括操作系统的移植、系统体系架构设计、设备驱动程序编写、用户应用程序设计等等。所以在嵌入式系统设计师的考试中也应该集中在这几点上面。前面的几篇文章对嵌入式硬件方面做了几个总结,现在对嵌入式软件方面做一些个人的归纳,再结合历年真题分析一下,对我认为常见的考点梳理了一下,不知道对大家有没有用处。
在嵌入式软件设计中,操作系统基础尤为重要,可以考查的考点也特别的多。我觉得它的地位就跟四六级英语考试中的阅读部分一样。这部分内容不能吃透,很难将这个考试拿下来,当然也有例外的。我只是想说明这部分的重要性。闲话少数,进入正题。
二、复习笔记
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
存储器复制到系统内存当中,然后跳转到系统内核的第一条指令处继续执行。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0