当前位置:
文档之家› 第一章:嵌入式系统与嵌入式操作系统讲解
第一章:嵌入式系统与嵌入式操作系统讲解
嵌入式软件设计 康一梅 机械工业出版社 2008
第一章 嵌入式软件与嵌入式操作系统
本章内容
嵌入式系统 嵌入式应用软件 嵌入式操作系统
嵌入式系统
什么是嵌入式系统?它与其他系统相比,有何 特殊之处?
树立正确的嵌入式系统基本概念和基本目标, 对于开发嵌入式系统,了解、掌握安装运行于 嵌入式系统之上的软件,具有首要意义。
系统功能的实时中断和调度。针对嵌入式系统某些重 要功能的偶发控制需求,需要满足由某些重要条件引 发的功能需求,即满足重要事件的实时控制需求,也 确保后续系统的正常运行需求。
时限(Deadline)要求。如果不能在时限要求时间内, 实现既定功能,就视为系统发生运行错误。
早期的嵌入式系统平台开发简单
运行在嵌入式系统上的软件就是嵌入式操作系 统、应用程序、驱动程序及部分开发工具
嵌入式系统软件的特征
实时性(RealTime)。针对嵌入式系统各项功能的 控制需求,需要满足功能执行的时间限制。
事件响应(React to Event)。 针对嵌入式系统某些 功能的偶发控制需求,需要满足由某些条件引发的功 能需求。
固化代码。在嵌入系统中,嵌入式操作系统和应用软件被固 化在嵌入式系统计算机的ROM中。辅助存储器,如硬盘等, 在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管 理功能应该能够很容易地拆卸,而用各种内存文件系统。
开发嵌入式软件?
嵌入式计算机系统和通用计算机系统 的比较
嵌入式实时操作系统是通用操作系统的一个应 用特例
嵌入式系统通常是面向特定应用的
嵌入式系统的硬件和软件都必须高效率地设计, 量体裁衣、去除软硬件冗余
嵌入式系统中的软件一般都固化在存储器芯片 或单片机本身中
综合比对如下表所示:
嵌入式系统就是一个具有嵌入软件和计算机硬 件,并受嵌入软件和计算机硬件的运行控制, 完成特定功能的系统。通常将嵌入式计算机系 统简称为嵌入式系统。
嵌入式系统与通用计算机系统
嵌入式系统是不同于通用计算机系统的一种专 用计算机系统
不以独立的物理设备的形态出现,即:它没有 一个统一的外观,它的部件根据主体设备以及 应用的需要,嵌入在该设备的内部,发挥着运 算、处理、存储以及控制等作用。
从嵌入式操作系统的实时性上分类
可分为实时操作系统和非实时操作系统 时限要求严格的系统称为硬实时系统 时限要求不严格的称为软实时系统。
嵌入式操作系统概念
一般由内核、嵌入式TCP/IP网络系统、嵌入 式文件系统等组成。
内核是嵌入式操作系统的基础,也是必备的部 分。它提供任务管理、内存管理、通信、同步 与互斥机制、中断管理、时间管理及任务扩展 等功能。内核还提供特定的应用编程接口。
嵌入式应用系统
把计算机可执行程序嵌入到(或称安装到)某 个设备中,如,手机、汽车、照相机、洗衣机、 空调器等家用电器,或飞机、导弹、卫星等大 型设备,控制这些设备的运转,使设备工作运 行的自动化程度大大提高,并在功能和性能方 面都得到提升,整体系统的质量大大提高。
这些设备就可视为嵌入式系统 这些预制或安装的软件就是嵌入式软件。如何
早期的嵌入式系统功能比较简单,控制软件或 程序部分功能单一,常用汇编语言指令进行设 计开发。随着计算机系统和应用需求的不断发 展。仅仅使用底层编程技术已不能满足开发功 能、开发效率开发性能等方面的需求。
使用嵌入式操作系统作为开发平台已成为现实。
嵌入式开发需要操作系统的支持
由于日益增长的嵌入式软件的开发需求及其开 发平台的不断发展,嵌入式系统与嵌入式操作 系统硬件软件体系结构已密不可分,成为一个 公认稳定的系统平台,共同承担开发嵌入式系 统及其软件的必备工具和平台的任务。
操作方便、简单、提供友好的图形GUI,图形界面,易学易 用。
提供强大的网络功能,支持TCP/IP协议及其它协议,提供 TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各 种移动计算设备预留接口。
强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用 户过多的干预,这就要负责系统管理的EOS具有较强的稳定 性。嵌入式操作系统的用户接口一般不提供操作命令,它通 过系统调用命令向用户程序提供服务。
嵌入式操作系统
课程介绍
一.计算机科学与技术专业基础课 二.操作系统的后续课程,建立对某种操作系统
实现编程技术的理解和运用 三.讨论嵌入式软件开发技术,为嵌入式系统开
发建立软件基础 四.为嵌入式就业方向奠定软件技术基础,有市
场前景
课程目标
学会嵌入式操作系统平台的嵌入式应用软 件的设计与实现 一.理解嵌入式操作系统基本概念与技术 二.理解嵌入式操作系统内核的工作原理 三.理解嵌入式应用软件的设计与实现原理 四.理解嵌入式软件的运行机制 五.评价嵌入式软件运行性能
什么是系统,应该如何理解系统的概 念和含义?
一般说来,系统就是按照一些固定的程序和规 则,完成某些任务的组织或工作方式。
比如,一块表,是一个能显示时间的系统。
再比如,一台洗衣机,是一个能自动洗衣的系 统。
嵌入式系统定义
上面举例说明的两个系统实例中,表可以看成 是一个机械系统,洗衣机可以看成是一个嵌入 式系统,是一个具有嵌入软件和计算机硬件, 并受嵌入软件和计算机硬件的运行控制,完成 特定功能的系统。
应用软件是面向特定应用领域开发的软件。如 手机软件、路由器软件、交换机软件、飞控软 件等。
按照运行平台划分嵌入式软件
可以分为开发平台的嵌入式软件和嵌入式系统 上的软件。
运行在开发平台上的软件,负责完成嵌入式软 件的设计、开发、编码、运行测试等阶段的工 作,在开发平台上生成可执行软件程序
5. 链接和完成地址重定位之后,生成一个ROM映像文 件,一个能运行在目标硬件的ROM映像。
嵌入式软件开发概述
讨论并解决以下基本问题:
软件设计程序模型 基于实时操作系统(RTOS)多个任务的并发
处理和调度软件 基于操作系统的设备驱动和设备管理软件 设计实现嵌入式系统的软件工具
嵌入式开发工具一般使用说明
嵌入式系统的多种解释
嵌入式系统受内置于其中的计算机部件控制,这 个部件可能是微控制器。
嵌入式系统由微控制器控制,软件驱动运行,可 靠性好,具有实时控制性能。
嵌入式系统就是将计算机系统内置于一个电子产 品中。
嵌入式系统就是包含微处理器或微控制器的电子 产品。
嵌入式系统包含一个可编程的非通用计算机,即 基于可编程的微处理器控制的系统。
需要 不需要
需要 需要 需要 需要 需要 不需要 不需要 不需要 不需要 需要 不需要
机器人
需要 需要 需要 需要 需要 需要 需要 不需要 有时需要 不需要 不需要 不需要 不需要
手机
需要 不需要
需要 不需要 不需要
需要 需要 需要 需要 需要 需要 需系统
程序
需要 不需要
针对具体嵌入式系统,说明各类开发工具的可 用性
如下图所示:
软件工具
自动售 数据采集
货机
系统
编辑器 翻译程序
编译器 汇编程序 交叉编译程序 地址重定位程序 仿真程序 源代码工程软件
RTOS Stethoscope Trace scope 集成开发环境
原型系统
需要 需要 需要 需要 不需要 需要 不需要 不需要 需要 不需要 不需要 不需要 不需要
大多数情况下,嵌入式软件常使用高级语言进 行研发和编程实现。在众多的高级语言中,C 语言得到广泛认可。
基于C语言编程的程序软件生成的可执行程序 最终需要安装在ROM芯片上,控制系统的运 行。
如何将C程序转换为ROM映像文件及 其基本过程?
C程序函数
目标文件的机器代 码
代
编译
码
优
化
调用库函数的机 器指令代码
开发服务于嵌入式系统的嵌入式软件,采用基 于嵌入式操作系统内核功能进行开发,是功能、 性能较为有力的保障。
嵌入式操作系统的商业模式分类
可以分为商用型和开源型。 商用型系统功能稳定、可靠,有完善的技术支
持和售后服务,商品价格由开发费用和版税决 定,常用商用嵌入式操作系统,如windows CE、VxWorks。 开源型系统开放源码,使用花销只包括服务费, 不包括版税, 如Embedded linux,RTEMS, µC/OS-Ⅱ。
特征 外观
嵌入式系统 独特,面向应用,各不相同
通用计算机系统 具有台式机、笔记本等标准外观
组成 运行方式 开发平台
面向应用的嵌入式微处理器 总线和外部接口多集成在处理器 内部 软件与硬件紧密集成在一起
基于固定硬件,自动运行,不可修 改
采用交叉开发方式 开发平台一般采用通用计算机
通用处理器、标准总线和外设 软件和硬件相对独立安装卸载
嵌入式操作系统EOS特性
嵌入式操作系统EOS相对于一般操作系统而言, 它除具备了一般操作系统最基本的功能,如任 务调度、同步机制、中断处理、文件功能等外, 还有以下特性:
可装卸性。开放性、可伸缩性的体系结构。
强实时性。EOS实时性一般较强,可用于各种设备控制当中。
统一的接口。提供各种设备驱动接口。
按照软件作用划分嵌入式软件
一般分为系统软件、支撑软件和应用软件三大 类。
系统软件负责控制、管理计算机系统的资源。 如嵌入式操作系统、嵌入式中间件(CORBA、 Java)等。
支撑软件为辅助软件开发的工具。如系统分析 设计工具、仿真开发工具、交叉开发工具、测 试工具、配置管理工具、维护工具等。
用户可以任意选择运行 或修改生成后再运行
开发平台是通用计算机
二次开发性 应用程序
一般不能再做编程开发
固定 应用软件与操作系统整合一体
在系统中运行