28
嵌嵌嵌嵌嵌嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌嵌嵌 2006 2006 2. 2. 嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌

嵌入式软件开发导论

Embed Size (px)

DESCRIPTION

嵌入式软件开发导论. 2. 嵌入式操作系统. 同济大学软件学院 2006. 目录. 什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux. 目录. 什么是嵌入式操作系统? 常用嵌入式操作系统简介 Windows Embedded VxWorks Embedded Linux. 各式各样的 OS. 桌面机 Windows (9X, XP Home, XP/2000 Pro) Mac 服务器 Windows (XP/2000 Server &Advanced Server) - PowerPoint PPT Presentation

Citation preview

Page 1: 嵌入式软件开发导论

嵌入式软件开发导论嵌入式软件开发导论

同济大学软件学院同济大学软件学院

20062006

2. 2. 嵌入式操作系统嵌入式操作系统

Page 2: 嵌入式软件开发导论

目录目录 什么是嵌入式操作系统?什么是嵌入式操作系统? 常用嵌入式操作系统简介 常用嵌入式操作系统简介

Windows EmbeddedWindows Embedded VxWorksVxWorks Embedded LinuxEmbedded Linux

Page 3: 嵌入式软件开发导论

目录目录 什么是嵌入式操作系统?什么是嵌入式操作系统? 常用嵌入式操作系统简介 常用嵌入式操作系统简介

Windows EmbeddedWindows Embedded VxWorksVxWorks Embedded LinuxEmbedded Linux

Page 4: 嵌入式软件开发导论

各式各样的各式各样的 OSOS

桌面机桌面机 Windows (9X, XP Home, XP/2000 Pro)Windows (9X, XP Home, XP/2000 Pro) MacMac

服务器服务器 Windows (XP/2000 Server &Advanced Server)Windows (XP/2000 Server &Advanced Server) Unix VarietiesUnix Varieties

嵌入式嵌入式 Many Many

Page 5: 嵌入式软件开发导论

什么是嵌入式操作系统?什么是嵌入式操作系统? 嵌入式系统是使用特定嵌入式软件完成特定功嵌入式系统是使用特定嵌入式软件完成特定功

能的计算机系统,嵌入式操作系统作为软件的能的计算机系统,嵌入式操作系统作为软件的组成部分,为嵌入式软件的开发和运行提供良组成部分,为嵌入式软件的开发和运行提供良好的环境。好的环境。

嵌入式系统可以是基于嵌入式系统可以是基于 ROMROM 或者是磁盘的系或者是磁盘的系统,类似统,类似 PCPC ,,但它并不能替代通用计算机系但它并不能替代通用计算机系统。统。

Page 6: 嵌入式软件开发导论

什么是嵌入式操作系统?什么是嵌入式操作系统? 模块化模块化 可升级可升级 可配置可配置 小内存损耗小内存损耗 CPUCPU 支持支持 设备驱动设备驱动 等等等等 ......

Page 7: 嵌入式软件开发导论

什么构成实时操作系统什么构成实时操作系统 RTOSRTOS ??

多线程和抢占式调度多线程和抢占式调度 由于非时限驱动由于非时限驱动 OSOS 的存在,具有线程的存在,具有线程

优先级优先级 必须支持可预测线程同步机制必须支持可预测线程同步机制 优先级继承系统优先级继承系统

Page 8: 嵌入式软件开发导论

常用嵌入式操作系统 常用嵌入式操作系统 Microsoft Microsoft

Embedded NT/XPEmbedded NT/XP ““实时” 控制实时” 控制

Windows CE (CE.NET)Windows CE (CE.NET) Internet Internet 设备设备

Pocket PC 2002Pocket PC 2002 Handheld PC’s and PDA’sHandheld PC’s and PDA’s

Wind River SystemsWind River Systems VxWorksVxWorks pSOSpSOS

Page 9: 嵌入式软件开发导论

目录目录 什么是嵌入式操作系统?什么是嵌入式操作系统? 常用嵌入式操作系统简介常用嵌入式操作系统简介

Windows EmbeddedWindows Embedded VxWorksVxWorks Embedded LinuxEmbedded Linux

Page 10: 嵌入式软件开发导论

微软的移动平台微软的移动平台

更强的功能

笔记本 PC• 复杂的文档编辑和读写• 桌面键盘输入• 键盘和鼠标输入法• 完整的 .NET framework

支持

Windows XP/XPEWindows XP/XPE

平板电脑• 复杂的文档编辑和读写• 桌面键盘输入• 支持数字墨水• 可以支持键盘,也可以把

键盘拿走• 键盘、鼠标、数字墨水和

语音输入• 完整的 .NET framework

支持• 提供笔,数字墨水,手写

和语音识别 API

Windows CEWindows CE

小型个人产品

• 单向网络• 信息消费

Windows MobileWindows Mobile

Smartphone• 信息消费• 基本数据浏览• 把 PDA 融入电话• 可以与 Exchange

交互• .NET Compact

Framework

• ASP.NET 移动控件

Pocket PC • 信息消费• 浏览和输入数据• 把电话融入 PDA

• 可以与 Office, Exchange 和 SQL Server 交互

• .NET Compact Framework

• ASP.NET 移动控件

Page 11: 嵌入式软件开发导论

Windows Embedded Windows Embedded 家族家族

Page 12: 嵌入式软件开发导论

目录目录 什么是嵌入式操作系统?什么是嵌入式操作系统? 常用嵌入式操作系统简介常用嵌入式操作系统简介

Windows EmbeddedWindows Embedded VxWorksVxWorks Embedded LinuxEmbedded Linux

Page 13: 嵌入式软件开发导论

VxWoksVxWoks

VxWorks VxWorks 是风河公司开发的一款商用硬是风河公司开发的一款商用硬实时操作系统实时操作系统

主要思想:在嵌入式系统中最大限度地实主要思想:在嵌入式系统中最大限度地实现内核的时间可预测性,根据用户定义的现内核的时间可预测性,根据用户定义的任务优先级对任务实现调度。任务优先级对任务实现调度。

给用户最大的控制权给用户最大的控制权

Page 14: 嵌入式软件开发导论

VxWoksVxWoks

为追求系统的实时性而设计的,并不是以为追求系统的实时性而设计的,并不是以通用通用 OSOS 为设计目标。为设计目标。

去掉了一些去掉了一些 OSOS 模块,因为这些模块在某模块,因为这些模块在某种程度上会影响系统的实时性 种程度上会影响系统的实时性 (( 如在内存如在内存管理中没有采用页面管理模式,采用的是管理中没有采用页面管理模式,采用的是平板式内存。平板式内存。

Page 15: 嵌入式软件开发导论

VxWoksVxWoks 任务调度采用的是基于优先级的抢占式任任务调度采用的是基于优先级的抢占式任

务调度模式,优先级分务调度模式,优先级分 256256 级级 (0-255)(0-255)

用户可以动态的改变优先级用户可以动态的改变优先级,,但是这种做但是这种做法不提倡法不提倡

用户可以锁定一个任务使它不被更高的任用户可以锁定一个任务使它不被更高的任务或中断抢占务或中断抢占

允许使用固定优先级响应时间来检查任务允许使用固定优先级响应时间来检查任务调度的性能调度的性能

Page 16: 嵌入式软件开发导论

VxWoksVxWoks

资源共享和优先级继承机制资源共享和优先级继承机制 采用最优化的上下文切换和中断返回机制采用最优化的上下文切换和中断返回机制 ..

内核从不禁止非屏蔽中断内核从不禁止非屏蔽中断 NMI (non-NMI (non-maskable interrupts)maskable interrupts)

Page 17: 嵌入式软件开发导论

VxWoks – VxWoks – 缺点缺点 缺少某些缺少某些 OSOS 特性特性 保证时限要求是设计者自己的任务保证时限要求是设计者自己的任务 (( 系统系统

的灵活性带来的弊端的灵活性带来的弊端 ))

不支持很多应用和不支持很多应用和 APIs(APIs( 只支持部分只支持部分POSIXPOSIX 标准的函数集标准的函数集 ))

尽管采用了平板式内存管理,但是由于内尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性然存在时间上的不可预测性

Page 18: 嵌入式软件开发导论

VxWoks – VxWoks – 缺点缺点 应用领域主要局限在对实时性要求较严格应用领域主要局限在对实时性要求较严格

的硬实时系统中的硬实时系统中 带给用户最大的控制权的同时,用户对系带给用户最大的控制权的同时,用户对系

统的实时性调度责任也更大统的实时性调度责任也更大

Page 19: 嵌入式软件开发导论

Tornado —— Tornado —— 集成开发环境集成开发环境

Page 20: 嵌入式软件开发导论

GDB —— GDB —— 调试工具调试工具

Page 21: 嵌入式软件开发导论

WindViewWindView ———— 多任务跟踪和观察工具多任务跟踪和观察工具

Page 22: 嵌入式软件开发导论

目录目录 什么是嵌入式操作系统?什么是嵌入式操作系统? 常用嵌入式操作系统简介常用嵌入式操作系统简介

Windows EmbeddedWindows Embedded VxWorksVxWorks Embedded LinuxEmbedded Linux

Page 23: 嵌入式软件开发导论

主要内容主要内容 嵌入式嵌入式 LinuxLinux 概览概览

使用嵌入式使用嵌入式 LinuxLinux 的开发过程的开发过程

嵌入式嵌入式 LinuxLinux 与与 Windows CEWindows CE

Page 24: 嵌入式软件开发导论

将将 LinuxLinux 嵌入到嵌入到各种设备中各种设备中 ::

NASA NASA 个人助理个人助理

Page 25: 嵌入式软件开发导论

开发过程开发过程

Linux Linux 操操作系统选作系统选择择

操作系统的移植操作系统的移植与改进与改进

Driver and Driver and Application Application software software developmentdevelopment

从系统设计从系统设计

测测试 试

Rehat,bluecat,RTRehat,bluecat,RTLinux,Monta Vista Linux,Monta Vista Linux,RTAI,…Linux,RTAI,…

http://http://linux.orghttp://linux.orghttp://www.gnu.orgwww.gnu.org……

Tekram,HP,IntelTekram,HP,Intel,…,…

Page 26: 嵌入式软件开发导论

嵌入式嵌入式 Windows Windows 与与嵌入式嵌入式 LinuxLinux

Jerry KrasnerJerry Krasner 与与 Rick RehrbraumRick Rehrbraum 之争之争

版权费版权费

开发环境开发环境

功能功能上市时间上市时间开人员数开人员数

非常便宜非常便宜 并非所有的嵌入式并非所有的嵌入式windowswindows 产品都便宜产品都便宜

更好更好 不同意不同意

更多更多 不同意不同意更短更短更少更少

不确定不确定不确定不确定

硬件支持硬件支持 差不多差不多 LinuxLinux 更好更好

Page 27: 嵌入式软件开发导论

嵌入式嵌入式 Windows Windows 与与嵌入式嵌入式 LinuxLinux

目前嵌入式系统项目中使用的目标操作系统以及目前嵌入式系统项目中使用的目标操作系统以及二年后使用的操作系统,二年后使用的操作系统, 20022002 ,数据来自,数据来自 EDCEDC

两者都两者都呈强健呈强健的上升的上升趋势趋势 !!

续续

Page 28: 嵌入式软件开发导论

作业作业1.1. VxworksVxworks 操作系统有哪些优缺点?操作系统有哪些优缺点?2.2. 什么是嵌入式什么是嵌入式 embedded Linux?embedded Linux? 给出几给出几

个例子。个例子。3.3.与嵌入式与嵌入式 LinuxLinux 相比嵌入式相比嵌入式 WindowsWindows 有有何优点?何优点?

4.4. 应用应用 Windows CEWindows CE 与嵌入式与嵌入式 LinuxLinux 进行进行嵌入式系统开发,二者的开发流程有什么嵌入式系统开发,二者的开发流程有什么不一样?不一样?