基于s3c44B0X嵌入式uCLinux系统原理及应用

Slides:



Advertisements
Similar presentations
嵌入式系統 資工系 魏 凱 城. 什麼是嵌入系統 提到 CPU 我們很直覺的會聯想到 PC ,但事實上 CPU 的應用領域、範圍及採用的數量都遠遠超過 PC 的範疇。 提到 CPU 我們很直覺的會聯想到 PC ,但事實上 CPU 的應用領域、範圍及採用的數量都遠遠超過 PC 的範疇。 以數量來看 x86.
Advertisements

第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
報酬遞增與新的商業世界.
《单片机原理及应用》 《微型计算机原理及接口技术 》 授课专业:测控13级 授课学时: 78 学时 理论教学:52学 实验教学:26学时
提高阶段: ——ARM部分 电气工程系 赵志衡.
第一章 微型计算机系统概述 1.1 计算机的发展与应用 微型计算机的发展与分类 微型计算机的应用
教员信息 姓 名:仲崇权 单 位:电子与信息工程学院 电 话: 办公室:创新院大厦720房间 :
单片机应用技术 彭选荣
嵌入式系统简介 Introduction to Embedded System
嵌入式系统 主讲人: 赵宏伟 学时: 32 吉林大学计算机科学与技术学院.
第 2 章 中央處理單元.
第一章 计算机基本知识 网考小组.
第二部分 嵌入式硬件系统 第2章 嵌入式处理器 第3章 ARM内核与ARM处理器 第4章 嵌入式系统的外围设备.
嵌入式系统与结构 —基于ARM的体系结构和应用开发
计算机硬件设备图片 go 珠海市第四中学 信息技术组.
NEUSOFT Institute of information Technology .ChengDu
第二章 嵌入式处理器.
微型计算机技术及应用 王 健 主讲 授课学时:40学时 大连理工大学计算机系.
嵌入式控制系统 学时:45,1~12周,第13周闭卷考试 实验课:18学时,穿插在本课程间进行
大连理工大学软件学院 嵌入式系统工程系 赖晓晨
第一章 嵌入式系统概况 大连理工大学 马洪连.
电子商务 2013级电子商务专业.
第四章 電腦軟體 課前指引 實體的電腦裝置,我們稱之為「硬體」(Hardware),至於軟體則是個抽象的概念,軟體是經由人類以各種不同的程式語言撰寫而成,以達到控制硬體、進行各種工作的抽象化(例如文書處理)等動作。有些讀者經常迫不及買了一台新電腦,就以為可以開始使用!事實不然,一部配備齊全的電腦,如果沒有合適的軟體來控制與搭配,絕對也是英雄無用武之地。一般來說,我們將軟體分「系統軟體」(System.
信息技术基础 Windows 7 + Office 2007.
第四讲 中文平台与中文操作系统 计算机科学与技术学院.
Strata PC HTE硬件技术工程师 第一章 桌面计算机系统组件.
操作系统原理 Principles of Operating System
William Stallings 计算机组成与结构(第8版)
嵌入式操作系统 陈天洲、陈文智.
计算机组成原理.
作業系統的結構 日期 : 2018/9/17.
教师:王宣银 地址:浙江大学机械电子控制 工程研究所 电话:
單晶片原理與應用 魏兆煌 整理 南台科技大學 電機系 Sep
資策會 南區資訊處 教育訓練中心 吳建興 個人電腦組裝 PC DIY 資策會 南區資訊處 教育訓練中心 吳建興
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
第5章 中央處理單元與主記憶體 5-1 中央處理單元-CPU 5-2 主記憶體.
高科技產業策略與競爭 第六章 IA資訊家電產業-以PDA為例.
C H A P T E R 11 体系结构对操作系统的支持.
Pocket PC & WIN CE.
基本硬體介紹 1.主機板 2.CPU(運算中心) 3.記憶體(RAM-短暫記憶資料處) 4. 硬碟(HDD儲存資料處) 5.顯示卡(接螢幕)
计算机应用基础 第二章 操作系统基础 2018/11/16.
PDA的紹介及比較 (個人數位助理) 1. 什麼是PDA? 2. PDA的發展 3. PDA的功能 4. PDA的架構
主講:王穎聰 電腦與通訊工程學系講師 銘傳大學資訊網路處
99(1)義守大學工讀職場技能精進訓練班 資訊工程系 林義隆 老師
作 業 系 統 第三組 楊育翰 顏瑞霖.
嵌入式系統架構 長高科技 顏旭偉.
讲师:田家华 第1章 认识计算机 本章要点   计算机的发展 计算机的组成.
嵌入式系统设计与开发 第1章 概述 第2章 ARM及其编程模型 第3章 ARM指令集 第4章 嵌入式程序设计
微机原理及单片机接口技术 电话: Tel:84192 山东大学生物医学工程.
嵌入式系统教案 武汉创维特信息技术有限公司 2018/11/27.
PDA基本操作介紹 建國科技大學 資管系 饒瑞佶.
第1章 嵌入式系统概述 嵌入式系统的发展、定义、特点、组成、分类 嵌入式系统硬件核心、软件核心 嵌入式实时操作系统
单片机应用技术 项目一 循环彩灯装置 第2讲 51单片机的结构与引脚 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
嵌入式系統概論-以S3C2440核心為架構 第1章 嵌入式系統概念.
2018年12月29日 单片机原理与应用 单片机概述.
WINDOWS 報告者: 洪仁修.
和諧社區資訊服務推廣計畫 -軟體雲端社區 資訊研習營
第2章 ARM微处理器硬件结构 计算机体系结构分类 ARM版本及系列 ARM处理器结构 存储系统机制.
嵌入式系統 資工系 魏 凱 城.
嵌入式系统设计与实例开发 ——ARM与C/OS-Ⅱ 北京航空航天大学 智能嵌入式技术工作室 王田苗 魏洪兴.
认识计算机系统.
作業系統 第三章 作業系統結構.
单片机原理与应用技术 是一门重要的专业基础课程 是一门应用极广的课程 是一门实践性很强的课程 要求大家理论、实验、仿真并重.
第2章ARM/THUMB微处理器结构及指令系统
嵌入式系統 資工系 魏 凱 城.
導 論 教學投影片.
ARM處理器.
第12章 Linux與 嵌入式uClinux系統
课程介绍 1、嵌入式系统开发先序课程; 2、共32+8课时: 3、本期采用混合式教学成绩计算方式:
第三章 计算机体系结构.
Presentation transcript:

基于s3c44B0X嵌入式uCLinux系统原理及应用 主讲人:李岩 哈尔滨理工大学计算机学院

本章主要内容: (1)嵌入式系统的概念 (2)嵌入式系统的特点,分类及应用领域 (3)主流嵌入式微处理器和嵌入式操作系统 (4)嵌入式系统的设计方法

第 1 章 目录 ★1 概述 1.1 什么是嵌入式系统 ★2 嵌入式微处理器和嵌入式操作系统 ★3 嵌入式系统设计过程 1.2嵌入式系统的特点及分类 ★2 嵌入式微处理器和嵌入式操作系统 2.1 嵌入式微处理器 2.2 嵌入式操作系统 ★3 嵌入式系统设计过程 3.1 需求分析 3.2 规格说明 3.3 体系结构设计 3.4 设计硬件和软件构件 3.5 系统集成 3.6 系统测试

第 1 章 目录 ★1 概述 1.1 什么是嵌入式系统 ★2 嵌入式微处理器和嵌入式操作系统 ★3 嵌入式系统设计过程 1.2嵌入式系统的特点及分类 ★2 嵌入式微处理器和嵌入式操作系统 2.1 嵌入式微处理器 2.2 嵌入式操作系统 ★3 嵌入式系统设计过程 3.1 需求分析 3.2 规格说明 3.3 体系结构设计 3.4 设计硬件和软件构件 3.5 系统集成 3.6 系统测试

1.1 什么是嵌入式系统 简介 经过几十年的发展,嵌入式系统已经在很大程度改变了人们的生活、工作和娱乐方式,而且这些改变还在加速。嵌入式系统具有无数的种类,每类都具有自己独特的个性。例如,MP3、数码相机与打印机就有很大的不同。汽车中更是具有多个嵌入式系统,使汽车更轻快、更干净、更容易驾驶。

现实中的嵌入式系统 嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。例如神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。 在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲…)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统。

现实中的嵌入式系统

嵌入式系统的概念 目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义: 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。

嵌入式系统示例 ——汽车控制系统

嵌入式系统示例 ——汽车控制系统 后车门控制系统 前车门控制系统 尾灯控制系统 发动器控制系统 所有的控制系统都是一个完整的嵌入式系统 马达 控制器 车灯 前车门控制系统 尾灯控制系统 发动器控制系统 所有的控制系统都是一个完整的嵌入式系统 座椅控制系统

嵌入式系统的未来 早在1990年之前,嵌入式系统通常是很简单的且具有很长的产品生命周期的自主设备。近些年来,嵌入式工业经历了巨大的变革。 产品市场窗口现在预计翻番的周期狂热到6~9个月。 全球重新定义市场的机会和膨胀的应用空间。 互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术。 基于电子的产品更复杂化。 互联嵌入式系统产生新的依赖网络基础设施的应用。 微处理器的处理能力按莫尔定律(Moore’s L aw)预计的速度在增加。该定律认为集成电路和晶体管个数每18个月翻一番。

第 1 章 目录 ★1 概述 1.1 什么是嵌入式系统 ★2 嵌入式微处理器和嵌入式操作系统 ★3 嵌入式系统设计过程 1.2嵌入式系统的特点及分类 ★2 嵌入式微处理器和嵌入式操作系统 2.1 嵌入式微处理器 2.2 嵌入式操作系统 ★3 嵌入式系统设计过程 3.1 需求分析 3.2 规格说明 3.3 体系结构设计 3.4 设计硬件和软件构件 3.5 系统集成 3.6 系统测试

1.2嵌入式系统的特点及分类 ●嵌入式系统的特点 ●嵌入式系统的分类 ●嵌入式系统的应用

1.2嵌入式系统的特点及分类 嵌入式系统的特点: 系统内核小 专用性强 系统精简 高实时性 多任务的操作系统 专门的开发工具和环境

1.2嵌入式系统的特点及分类 嵌入式系统的分类 由于嵌入式系统由硬件和软件两大部分组成,所以其分类也可以从硬件和软件进行划分。

1.2嵌入式系统的特点及分类 嵌入式系统的分类 ---------嵌入式系统的硬件 嵌入式处理器 嵌入式微控制(MCU) 嵌入式DSP处理器(DSP) 嵌入式处理器 嵌入式微处理器MPU 嵌入式片上系统(SOC)

嵌入式处理器 ——嵌入式微处理器 嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等。 嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。 嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等。 CPU ROM RAM 外设1 外设2 单板计算机

嵌入式处理器 ——嵌入式微控制器 嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。 和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。 嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、数目众多ARM芯片等。目前MCU占嵌入式系统约70%的市场份额。 复位 部件 看门狗 晶振 I/O 中断 ROM SRAM 定时器 CPU核

嵌入式处理器 ——嵌入式DSP处理器 DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。 嵌入式DSP处理器比较有代表性的产品是Texas Instruments的TMS320系列和Motorola的DSP56000 系列。TMS320系列处理器包括用于控制的 C2000系列,移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000,DSP56100,DSP56200和DSP56300等几个不同系列的处理器。另外PHILIPS公司近年也推出了基于可重置嵌入式DSP结构低成本、低功耗技术上制造的R. E. A. L DSP处理器,特点是具备双Harvard结构和双乘/累加单元,应用目标是大批量消费类产品。

嵌入式处理器 ——嵌入式片上系统(SOC) 随着EDA的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是System On Chip(SOC)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为 VLSI设计中一种标准的器件,用标准的 VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。 SoC可以分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的Smart XA,它将XA单片机内核和支持超过2048 位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于公众互联网如Internet安全方面。

1.2嵌入式系统的特点及分类 嵌入式系统的分类 ---------嵌入式系统的软件 硬实时系统 实时系统 软实时系统 嵌入式系统 分时系统

1.2嵌入式系统的特点及分类 嵌入式系统的应用 国防武器设备。 通信信息设备。 过程控制。 智能仪器。 消费产品。 生物微电子技术。

基于RTLinux的仿人机器人 高 48 cm 重: 6 kg 灵活性:20 DOF 操作系统: RT-Linux 接口形式: USB 1.0 (12Mbps) 响应周期: 1ms 能源: DC24V x 6.2A (150W) 制造:富士通

2004年“勇气号”再次登陆火星

第 1 章 目录 ★1 概述 1.1 什么是嵌入式系统 ★2 嵌入式微处理器和嵌入式操作系统 ★3 嵌入式系统设计过程 1.2嵌入式系统的特点及分类 ★2 嵌入式微处理器和嵌入式操作系统 2.1 嵌入式微处理器 2.2 嵌入式操作系统 ★3 嵌入式系统设计过程 3.1 需求分析 3.2 规格说明 3.3 体系结构设计 3.4 设计硬件和软件构件 3.5 系统集成 3.6 系统测试

2.1 嵌入式微处理器 嵌入式微处理器 嵌入式微处理器有许多种流行的处理器核,芯片生产厂家一般都基于这些处理器核生产不同型号的芯片。本节将主要介绍以下几种嵌入式处理器的架构,以及典型芯片制造商生产的芯片型号。

2.1 嵌入式微处理器 嵌入式微处理器 ARM已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。 --------ARM/StrongARM ARM已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。 ARM处理器有三大特点: 小体积、低功耗、低成本而高性能;16/32位双指令集;全球的合作伙伴众多。

2.1 嵌入式微处理器 嵌入式微处理器 -------- MIPS MIPS是Microprocessor without Inter---locked Pipeline Stages的缩写,是一种处理器内核标准,它是由MIPS技术公司开发的。

2.1 嵌入式微处理器 嵌入式微处理器 -------- MIPS MIPS是Microprocessor without Inter---locked Pipeline Stages的缩写,是一种处理器内核标准,它是由MIPS技术公司开发的。

2.1 嵌入式微处理器 嵌入式微处理器 -------- PowerPC PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备等各个方面。

2.1 嵌入式微处理器 嵌入式微处理器 -------- x86 x86系列处理器是我们最熟悉的了,它起源于Intel架构的8080,再发展出286、386、486,直到现在的Pentium4、Athlon和AMD的64位处理器Hammer。从嵌入式市场来看,486DX是当时和ARM、68K、MIPS和SuperH齐名的五大嵌入式处理器之一,8080是第一款主流的处理器。

2.1 嵌入式微处理器 嵌入式微处理器 -------- 68K/Cold fire Motorola 68000(68K) 是出现得比较早的一款嵌入式处理器,68K采用的是CISC结构,与现在的PC指令集保持了二进制兼容。

第 1 章 目录 ★1 概述 1.1 什么是嵌入式系统 ★2 嵌入式微处理器和嵌入式操作系统 ★3 嵌入式系统设计过程 1.2嵌入式系统的特点及分类 ★2 嵌入式微处理器和嵌入式操作系统 2.1 嵌入式微处理器 2.2 嵌入式操作系统 ★3 嵌入式系统设计过程 3.1 需求分析 3.2 规格说明 3.3 体系结构设计 3.4 设计硬件和软件构件 3.5 系统集成 3.6 系统测试

2.2 嵌入式操作系统 概述 计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了操作系统(Operating System)。发展到现在,广泛使用的有三种操作系统即多道批处理操作系统、分时操作系统以及实时操作系统。

2.2 嵌入式操作系统 概述 适用于多个用户共享系统资源 适用于计算中心等较大的计算机系统 适用于嵌入式设备和有实时性要求的系统中 监 控 程 序 操 作 系 统 实时操作系统 分时操作系统 多道批处理操作系统 时 间 先 后

2.2 嵌入式操作系统 概述 适用于多个用户共享系统资源 适用于计算中心等较大的计算机系统 适用于嵌入式设备和有实时性要求的系统中 监 控 程 序 操 作 系 统 多道批处理操作系统 分时操作系统 实时操作系统 时 间 先 后 实时操作系统是我们介绍的重点

2.2 嵌入式操作系统 实时操作系统的特点 IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点: 异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步

2.2 嵌入式操作系统 实时操作系统的特点 总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。 从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统和嵌入式实时操作系统。

2.2 嵌入式操作系统 实时操作系统的特点 一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。 嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K~几十K 内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点 。

2.2 嵌入式操作系统 基本概念 ——前后台系统 对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。 很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。

基本概念 ——前后台系统 循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。 ISR 后台 前台 中断服务程序 时 间 中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。

2.2 嵌入式操作系统 基本概念 ——操作系统 操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。 硬件 硬件驱动 操作系统 用户程序

2.2 嵌入式操作系统 基本概念 ——实时操作系统(RTOS) 实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。

2.2 嵌入式操作系统 基本概念 ——代码的临界区 代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。

2.2 嵌入式操作系统 基本概念 ——资源 程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。

2.2 嵌入式操作系统 基本概念 ——共享资源 可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。 其它任务访问受阻 而不能使用共享资源 访问共享资源之前申请信号量 得到允许后,才能使用共享资源 任务A 共享资源 任务B 任务C 信号量

2.2 嵌入式操作系统 基本概念 ——任务 一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。

2.2 嵌入式操作系统 基本概念 ——任务切换 当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。

2.2 嵌入式操作系统 基本概念 ——内核 多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如2%~5%的CPU运行时间、RAM和ROM等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。

2.2 嵌入式操作系统 基本概念 ——调度 调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。

2.2 嵌入式操作系统 基本概念 ——非占先式内核 非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。

2.2 嵌入式操作系统 基本概念 ——占先式内核 当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。

2.2 嵌入式操作系统 基本概念 ——任务优先级 任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。

2.2 嵌入式操作系统 基本概念 ——中断 中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到: 1. 在前后台系统中,程序回到后台程序; 2. 对非占先式内核而言,程序回到被中断了的任务; 3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。

2.2 嵌入式操作系统 基本概念 ——中断 前后台系统 ISR 非占先操作系统 任务A 任务B 任务C ISR 占先操作系统 任务A 任务B

2.2 嵌入式操作系统 基本概念 ——时钟节拍 时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。

2.2 嵌入式操作系统 使用实时操作系统的必要性 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素: 嵌入式实时操作系统提高了系统的可靠性。 提高了开发效率,缩短了开发周期。 嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。

2.2 嵌入式操作系统 实时操作系统的优缺点 优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。 缺点:但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2~5%的CPU额外负荷,以及内核的费用。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——嵌入式Linux uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——Win CE Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的Windows 95。Windows CE的图形用户界面相当出色。Win CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。Win CE不仅继承了传统的Windows图形界面,并且在Win CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——VxWorks VxWorks操作系统是美国 公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至在1997年4月登陆火星表面的火星探测器上也使用到了VxWorks。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——OSE OSE主要是由ENEA Data AB 下属的ENEA OSE Systems AB负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。 OSE的客户深入到电信,数据,工控,航空等领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信,诺基亚,西门子等知名公司确定了良好的关系。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——Nucleus Nucleus PLUS是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。 Nucleus PLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使Nucleus PLUS 的各个组件非常易于替换和复用。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——eCos eCos是RedHat公司开发的源代码开放的嵌入式RTOS产品,是一个可配置、可移植的嵌入式实时操作系统,设计的运行环境为RedHat的GNUPro和GNU开发环境。eCOS的所有部分都开放源代码,可以按照需要自由修改和添加。eCOS的关键技术是操作系统可配置性,允许用户组和自己的实时组件和函数以及实现方式,特别允许eCOS的开发则定制自己的面向应用的操作系统,使eCos能有更广泛的应用范围。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——μC/OS-II μC/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用ANSI C写的,使其可以方便的移植并支持大多数类型的处理器。μC/OS-II通过了联邦航空局(FAA)商用航行器认证。自1992年问世以来,μC/OS-II已经被应用到数以百计的产品中。μC/OS-II占用很少的系统资源,并且在高校教学使用是不需要申请许可证。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——uITRON TRON是指“实时操作系统内核(The Real-time Operating system Nucleux)”,它是在1984年由东京大学的Sakamura博士提出的,目的是为了建立一个理想的计算机体系结构。通过工业界和大学院校的合作,TRON方案正被逐步用到全新概念的计算机体系结构中。 uITRON是TRON的一个子方案,它具有标准的实时内核,适用于任何小规模的嵌入式系统,日本国内现有很多基于该内核的产品,其中消费电器较多。目前已成为日本事实上的工业标准。

2.2 嵌入式操作系统 常见的嵌入式操作系统 ——uITRON TRON明确的设计目标使其甚至比Linux更适合于做嵌入式应用,内核小,启动速度快,即时性能好,也很适合汉字系统的开发。另外,TRON的成功还来源于如下两个重要的条件: 1.它是免费的 2.它已经建立了开放的标准,形成了较完善的软硬件配套开发环境,较好地形成了产业化。

2.2 嵌入式操作系统 嵌入式系统的选择 几种嵌入式操作系统的比较

核心从几十KB到500KB,整个嵌入式环境最小才100KB左右,并且以后还将越来越小。 Palm OS Windows CE 3.0 嵌入式Linux 大小 核心几十KB,整个嵌入式环境也不大 核心占500KB的ROM和250KB的RAM。整个Windows CE操作系统,包括硬件抽象层(HAL和Hardware Abstraction Layer)、Windows CE Kernel、User、GDI、文件系统和数据库,大约共1.5MB 核心从几十KB到500KB,整个嵌入式环境最小才100KB左右,并且以后还将越来越小。 可开发定制 可以方便的开发定制 用户开发定制不方便,受Microsoft公司限制较多。 用户可以方便的开发定制,可以自由的卸装用户模块,不受任何限制。 互操作性 可操作性强 互操作性较强,Windows CE可通过OEM的许可协议使用于其他设备 互操作性很强 实用性 比较好 很好 适用的应用领域 应用领域较广,特别适用于掌上电脑大开发。 应用领域较广,Windows CE是为新一代非传统的PC设备而设计的,这些设备包括掌上电脑、手持电脑以及用于车载电脑。 由于Linux内核结构及功能等原因,嵌入式Linux应用领域非常广泛,特别适于进行信息家电的开发。

第 1 章 目录 ★1 概述 1.1 什么是嵌入式系统 ★2 嵌入式微处理器和嵌入式操作系统 ★3 嵌入式系统设计过程 1.2嵌入式系统的特点及分类 ★2 嵌入式微处理器和嵌入式操作系统 2.1 嵌入式微处理器 2.2 嵌入式操作系统 ★3 嵌入式系统设计过程 3.1 需求分析 3.2 规格说明 3.3 体系结构设计 3.4 设计硬件和软件构件 3.5 系统集成 3.6 系统测试

需求分析 规格说明 体系结构设计 硬件设计 系统集成 系统测试 产品 软件设计 执行装置设计 设计过程的主要抽象层次

3 嵌入式系统设计过程 概述 可以把嵌入式系统的开发看作对一个项目的实施。项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。嵌入式系统项目开发也是如此。 结束 项目 执行项目 提出 解决 方案 识别 需求 投入人力 时间

概述 1.需求分析 识别需求是项目生命周期的最初阶段。当需求被客户确定时,项目就产生了。这个阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 2.体系结构设计 主要由各厂商向客户提交标书、介绍解决方案。这个阶段是赢得项目的关键,公司既要展示实力又要合理报价。如果竞标成功则签定合同,厂商开始承担项目成败的责任。 3 硬件/软件设计 基于体系结构,对系统的软件,硬件进行详细设计。为了缩短产品 开发周期,设计往往并行的。应该说嵌入式系统设计的工作大部分都集 中在软件设计上,采用面向对象技术,软件组件技术,模块化设计是现 代软件工程经常采用的方法。

把系统的软件,硬件和执行装置集成在一起,进行调试,发现并 概述 4.系统集成 把系统的软件,硬件和执行装置集成在一起,进行调试,发现并 改进单元设计过程中的错误。 5.系统测试 对设计好的系统进行测试,看其是否满足规格说明书中给定的功 能要求。

项目开发周期 ——需求分析 识别需求对于嵌入式系统项目开发是很重要的。这是因为嵌入式系统往往需要嵌入到其它产品中,不能独立工作,而这个产品往往不是嵌入式开发承包商(部门)所熟悉的,不了解需求做成的产品往往是失败的。 风险分析 制定系统规范 需求风险 时间风险 资金风险 项目管理风险 系统功能 系统限制 系统开发资源 识别需求

项目开发周期 ——体系结构设计 对于嵌入式系统项目来说,这个阶段的主要工作是系统规划与设计。在设计规划阶段中,开发团队需要分析所有可行的解决方案,并拟定进程,使项目在合理的进程范围中逐渐建构完成。在系统的设计方面最重要的一件事就是确定系统的框架。 系统规划 系统设计 规划分析 预估项目进程 设计系统架构 寻找适当方案 提出方案

项目开发周期 ——硬件/软件设计,系统集成和集成 这个阶段的主要工作就是系统的实现和系统的测试。由于嵌入式系统的特殊性,嵌入式系统项目既要实现系统的硬件,又要在硬件上实现软件。所以在项目的开发过程中,软硬件实现和系统测试是不断反复进行的。事实上,系统的实现、测试和调试贯穿整个“执行项目”阶段。 系统实现 系统测试 从硬件做起 从驱动程序移植开始做起 从现成平台做起 功能测试 集成测试 执行项目 环境测试 出货测试 系统调试

嵌入式系统开发流程 用户需求 否 是 选择嵌入式处理器 及硬件平台 选择合适的嵌入式操作系统 在操作系统上开发应用程序 应用程序测试通过 开发结束 整个系统测试

小结 本章主要介绍了嵌入式系统的概念、嵌入式系统的特点及分类、嵌入式系统的主要应用领域、主流嵌入式微处理器、主流嵌入式实时操作系统以及嵌入式系统设计方法,希望读者能够通过对本章的阅读,对以上知识作到初步掌握,为学习以后章节知识打好基础。

练 习 题 1.嵌入式系统的定义。 2.嵌入式系统有哪些特点? 3.嵌入式系统是如何分类的? 4.简述嵌入式处理器、嵌入式实时操作系统的种类和特点。 5.如何选择嵌入式处理器和嵌入式操作系统? 6.简述嵌入式系统的设计过程。