1 / 32
文档名称:

嵌入式系统设计师学习笔记 转.doc

格式:doc   大小:68KB   页数:32页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式系统设计师学习笔记 转.doc

上传人:wangzhidaol 2018/2/3 文件大小:68 KB

下载得到文件列表

嵌入式系统设计师学习笔记 转.doc

相关文档

文档介绍

文档介绍:嵌入式系统设计师学转
心血来潮,翻看去年买的嵌入式系统设计师的教程,有点想看的冲动,索性收集下资料,感谢作者。
一、引言
原定于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存储器复制到系统内存当中,然后跳转到系统内核的第一条指令处继续执行。
补充:PC系统的引导加载过程。
PC系统的引导加载程序由两部分代码组成―― BIOS和MBR中的引导程序。BIOS在完成硬件检测和资源配置后,将硬盘主引导记录MBR中的引导程序读到系统的内存当中,然后将控制权交给它,由它负责把操作系统的内核映象从硬盘读入到内存,然后跳转到内核入口去运行,即启动操作系统。
9)设备驱动程序
在一个嵌入式系统中,操作系统可能有也可能无,但是设备驱动程序是必不可少的。设备驱动程序,就是一组库函数,用来对硬件进行初始化和管理,并向上层软件提供良好的访问接口。大多数设备驱动程序都具备下面的基本功能:启动、关闭、停用、启用、读操作、写操作。这些功能一般用函数的形式来实现,这些函数之间的组织结构主要有两种:分层结构和混合结构。
10)关于分层结构
A、硬件接口:直接操作和控制硬件。
B、调用接口:不直接跟硬件大交道,为上层软件提供服务和函数接口。
C、优点:把所有与硬件相关的细节都封装在硬件接口中,在硬件需要升级,需要更新设备驱动程序的时候,只需要改动硬件接口中的函数即可,而上层调用接口中的函数不用做任何修改。
D、混合结构:在设备驱动程序当中,没有明确的层次关系,上层接口和硬件接口混在一起,相互调用。
11