图表及程序目录 图2.1异步中断和中断响应时间 9 图2.2关中断时间… .10 图3.1 RTLINUX详细结构图 .17 图4.1程序结构图 26 图4.2实时程序结构图… 30 表2.1中断关闭时间直方图 .10 表2.2中断关闭时间概率密度函数直方图. .1l 表2.3上下文切换时间 12 表5.1实时中断延迟时间 37 程序2.1简单的发声程序… 6 程序3.1“软”CLL STI.和RET .18 程序3.2 RTL THREAD_STRUCT结构 21 VIl
VII 图表及程序目录 图 2.1 异步中断和中断响应时间........................................................................9 图 2.2 关中断时间 ..............................................................................................10 图 3.1 RTLINUX 详细结构图...........................................................................17 图 4.1 程序结构图 ..............................................................................................26 图 4.2 实时程序结构图......................................................................................30 表 2.1 中断关闭时间直方图..............................................................................10 表 2.2 中断关闭时间概率密度函数直方图......................................................11 表 2.3 上下文切换时间......................................................................................12 表 5.1 实时中断延迟时间..................................................................................37 程序 2.1 简单的发声程序.......................................................................................6 程序 3.1 “软”CLI, STI 和 IRET..........................................................................18 程序 3.2 RTL_THREAD_STRUCT 结构 ..........................................................21
缩略语 API Application Program Interface ATM Automated Teller Machine CPU Central Processor Unit DMA Direct Memory Access EDF Eariest Deadline First FIFO First-In-First-Out GUI Graphical User Interface I/O Input/Output IPC Interprocess Communication ISR Interrupt Service Routine IST Interrupt Service Thread MCU Micro-Controller Unit OS Operating System PC Personal Computer PDA Personal Data Assistant POS Point Of Sells POSIX Portable Operating System Interface for computer Environments RAM Random-Access Memory ROM Read-Only Memory RT Real Time RTOS Real Time Operating Systems TLB Translation Lookaside Buffer VⅢ
VIII 缩略语 API Application Program Interface ATM Automated Teller Machine CPU Central Processor Unit DMA Direct Memory Access EDF Eariest Deadline First FIFO First-In-First-Out GUI Graphical User Interface I/O Input/Output IPC Interprocess Communication ISR Interrupt Service Routine IST Interrupt Service Thread MCU Micro-Controller Unit OS Operating System PC Personal Computer PDA Personal Data Assistant POS Point Of Sells POSIX Portable Operating System Interface for computer Environments RAM Random-Access Memory ROM Read-Only Memory RT Real Time RTOS Real Time Operating Systems TLB Translation Lookaside Buffer
第一章 嵌入式实时系统概况 1.1嵌入式系统概况 1.1.1嵌入式技术的历史发展 嵌入式系统的出现至今己经有30多年的历史了,嵌入式技术也历经了 几个发展阶段。进入90年代后,以计算机和软件为核心的数字化技术取得 了迅猛发展,不仅广泛渗透到社会经济、军事、交通、通信等相关行业, 而且深入到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化 技术革命。多媒体技术与Internet的应用迅速普及,消费电子(Consumptive electron),计算机(Computer),通信(Communication),3C一体化趋势日趋明显, 嵌入式技术再度成为一个研究热点。综观嵌入式技术的发展,大致经历了 以下4个阶段[1] ●第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与 监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专 业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语 言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的 主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量 较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低, 以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、 需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需 求。 ●第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系 统。这一阶段系统的主要特点是:CPU种类繁多,通用性比较弱:系 统开销小,效率高;操作系统具有一定的兼容性和扩展性:应用软件 较专业,用户界面不够友好:系统主要用来控制系统负载以及监控应 用程序运行。 ●第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的 主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上, 兼容性好:操作系统内核精小、效率高,并且具有高度的模块化和扩 展性:具备文件和目录管理、设备支持、多任务、网络支持、图形窗 口以及用户界面等功能:具有大量的应用程序接口(API),开发应 yan_joseph@163.net Copyright2002杨立峰
ryan_joseph@163.net Copyright 2002 杨立峰 1 第一章 嵌入式实时系统概况 1.1 嵌入式系统概况 1.1.1 嵌入式技术的历史发展 嵌入式系统的出现至今已经有 30 多年的历史了,嵌入式技术也历经了 几个发展阶段。进入 90 年代后,以计算机和软件为核心的数字化技术取得 了迅猛发展,不仅广泛渗透到社会经济、军事、交通、通信等相关行业, 而且深入到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化 技术革命。多媒体技术与 Internet 的应用迅速普及,消费电子(Consumptive electron),计算机(Computer),通信(Communication),3C 一体化趋势日趋明显, 嵌入式技术再度成为一个研究热点。综观嵌入式技术的发展,大致经历了 以下 4 个阶段[1]。 z 第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与 监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专 业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语 言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的 主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量 较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低, 以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、 需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需 求。 z 第二阶段是以嵌入式 CPU 为基础、以简单操作系统为核心的嵌入式系 统。这一阶段系统的主要特点是:CPU 种类繁多,通用性比较弱;系 统开销小,效率高;操作系统具有一定的兼容性和扩展性;应用软件 较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应 用程序运行。 z 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的 主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上, 兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩 展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗 口以及用户界面等功能;具有大量的应用程序接口(API),开发应
用程序简单:嵌入式应用软件丰富。 ●第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速 发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着 Internet的发展以及Internet技术与信息家电、工业控制技术等结合日 益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未 来。 1.1.2嵌入式系统的技术特点和应用前景 嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组 成,它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由 一个单片机或微控制器MCU)组成。而这些嵌入式CPU目前多是8位和 16位的,与32位或64位的高性能处理器相比,具有很强的经济性和现实 性。相关支撑硬件包括显示卡、存储介质(ROM和RAM等)、通讯设备、 IC卡或信用卡的读取设备等。嵌入式系统有别于一般的计算机处理系统, 它不具备像硬盘那样大容量的存储介质,而大多使用闪存(Flash Memory) 作为存储介质。嵌入式软件包括与硬件相关的底层软件、操作系统、图形 界面、通讯协议、数据库系统、标准化浏览器和应用软件等。 总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特 点,可以嵌入到现有任何信息家电和工业控制系统中。从软件角度来看, 嵌入式系统具有不可修改性、系统所需配置要求较低、系统专业性和实时 性较强等特点。 后P℃时代是一个真实的阶段,而且是一个可以预测的时代。嵌入式 系统就是与这一时代紧密相关的产物,它将拉近人与计算机的距离,形成 一个人机和谐的工作与生活环境。从某一个角度来看,嵌入式系统可应用 于人类工作与生活的各个领域,具有极其广阔的应用前景。嵌入式系统在 传统的工业控制和商业管理领域已经具有广泛的应用空间,如智能工控设 备、POS/ATM机、IC卡等:在家庭领域更具有广泛的应用潜力,如机顶 盒、数字电视、WbTV、网络冰箱、网络空调等众多消费类和医疗保健类 电子设备等:此外还有在媒体手机、袖珍电脑、掌上电脑、车载导航器等 方面应用,将极大地推动嵌入式技术深入到生活和工作的方方面面。它在 娱乐、军事方面的应用潜力也是巨大的,而且是有目共睹的。 yan_joseph@163.net Copyright2002杨立峰 2
ryan_joseph@163.net Copyright 2002 杨立峰 2 用程序简单;嵌入式应用软件丰富。 z 第四阶段是以基于 Internet 为标志的嵌入式系统,这是一个正在迅速 发展的阶段。目前大多数嵌入式系统还孤立于 Internet 之外,但随着 Internet 的发展以及 Internet 技术与信息家电、工业控制技术等结合日 益密切,嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未 来。 1.1.2 嵌入式系统的技术特点和应用前景 嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组 成,它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由 一个单片机或微控制器(MCU)组成。而这些嵌入式 CPU 目前多是 8 位和 16 位的,与 32 位或 64 位的高性能处理器相比,具有很强的经济性和现实 性。相关支撑硬件包括显示卡、存储介质(ROM 和 RAM 等)、通讯设备、 IC 卡或信用卡的读取设备等。嵌入式系统有别于一般的计算机处理系统, 它不具备像硬盘那样大容量的存储介质,而大多使用闪存(Flash Memory) 作为存储介质。嵌入式软件包括与硬件相关的底层软件、操作系统、图形 界面、通讯协议、数据库系统、标准化浏览器和应用软件等。 总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特 点,可以嵌入到现有任何信息家电和工业控制系统中。从软件角度来看, 嵌入式系统具有不可修改性、系统所需配置要求较低、系统专业性和实时 性较强等特点。 后 PC 时代是一个真实的阶段,而且是一个可以预测的时代。嵌入式 系统就是与这一时代紧密相关的产物,它将拉近人与计算机的距离,形成 一个人机和谐的工作与生活环境。从某一个角度来看,嵌入式系统可应用 于人类工作与生活的各个领域,具有极其广阔的应用前景。嵌入式系统在 传统的工业控制和商业管理领域已经具有广泛的应用空间,如智能工控设 备、POS/ATM 机、IC 卡等;在家庭领域更具有广泛的应用潜力,如机顶 盒、数字电视、WebTV、网络冰箱、网络空调等众多消费类和医疗保健类 电子设备等;此外还有在媒体手机、袖珍电脑、掌上电脑、车载导航器等 方面应用,将极大地推动嵌入式技术深入到生活和工作的方方面面。它在 娱乐、军事方面的应用潜力也是巨大的,而且是有目共睹的
1.1.3典型的嵌入式系统 信息家电商机引发全球嵌入式操作系统平台大战,全球4大操作系统 阵营WinCE18]、Palm OS[19]、EPOC20]和Linux21]展开规格战,各拥 有软件及硬件合作厂商逐鹿信息家电市场的份额。 全球手持式信息家电快速增长,据预测,2000年至2004年市场增长 率将到达77.4%,个人数字助理器(PDA)、智慧型手机等手持式信息家 电操作系统竞争日益激烈。除了为后个人电脑时代的硬件大厂带来新一轮 商机外,应用软件厂商包括电子字典、电子地图、游戏开发业者的商机也 大量涌现。 微软窗口操作系统拥有在个人电脑上的操作系统占有率的优势,使 WinCE拥有强大的窗口资源支援。不过Palm OS操作系统拥有全球PDA 产品70%的市场占有率:同时获得3COM、IBM和索尼等跨国公司的支持。 EPOC是发展自欧洲的操作系统、是由世界上最大的3家移动电话厂商诺 基亚、爱立信和摩托罗拉所共同开发、整合组成新公司,开发出来的新操 作系统:在3大电话厂商的合作下,EPOC市场潜力很大,且占有率高, 但应用功能以手机为主,目前并不开放授权。 此外,在3大主流操作系统品牌外,Liuⅸ也将是今后一股强劲的力 量:由于Liux开放源码,经过这些年的发展,已经成为一个健壮的可靠 的高性能的操作系统。愈来愈多的嵌入式系统设计员发现Liux可以成为 一个优秀的嵌入式操作系统。而Liux的最大的优势还在于它是一个开放 的操作系统。由于Liuⅸ开放源码,操作系统的一切对用户都是透明的, 用户可以最大限度地控制系统开发的进度和造价。在开发过程中遇到的各 种各样的硬件设备,可以方便地在网上找到这些设备的驱动程序,得到支 持。Liux内置网络支持,用户可以轻松地使自己的嵌入式具有网络功能。 Liuⅸ是模块化的操作系统,提供了优秀的可缩放功能,用户可以方便地 删除不需要的模块,大多数嵌入式系统对操作系统的体积非常敏感,Liuⅸ 的可以根据自己的需要,选择特定的功能模块,自主地搭建嵌入式操作系 统。Linux支持绝大多数CPU,包括Intel、MPS、ASIC、ALPHA、68K、 POWER PC等。这使Liux几乎可以嵌入到各种硬件设备上。成为各家厂 商极力发展的操作系统,加上其核心小,潜力可观。 ryan_joseph@163.net Copyright2002杨立峰 2
ryan_joseph@163.net Copyright 2002 杨立峰 3 1.1.3 典型的嵌入式系统 信息家电商机引发全球嵌入式操作系统平台大战,全球 4 大操作系统 阵营 WinCE[18]、Palm OS[19]、EPOC[20]和 Linux[21]展开规格战,各拥 有软件及硬件合作厂商逐鹿信息家电市场的份额。 全球手持式信息家电快速增长,据预测,2000 年至 2004 年市场增长 率将到达 77.4%,个人数字助理器(PDA)、智慧型手机等手持式信息家 电操作系统竞争日益激烈。除了为后个人电脑时代的硬件大厂带来新一轮 商机外,应用软件厂商包括电子字典、电子地图、游戏开发业者的商机也 大量涌现。 微软窗口操作系统拥有在个人电脑上的操作系统占有率的优势,使 WinCE 拥有强大的窗口资源支援。不过 Palm OS 操作系统拥有全球 PDA 产品 70%的市场占有率;同时获得 3COM、IBM 和索尼等跨国公司的支持。 EPOC 是发展自欧洲的操作系统、是由世界上最大的 3 家移动电话厂商诺 基亚、爱立信和摩托罗拉所共同开发、整合组成新公司,开发出来的新操 作系统;在 3 大电话厂商的合作下,EPOC 市场潜力很大,且占有率高, 但应用功能以手机为主,目前并不开放授权。 此外,在 3 大主流操作系统品牌外,Linux 也将是今后一股强劲的力 量;由于 Linux 开放源码,经过这些年的发展,已经成为一个健壮的可靠 的高性能的操作系统。愈来愈多的嵌入式系统设计员发现 Linux 可以成为 一个优秀的嵌入式操作系统。而 Linux 的最大的优势还在于它是一个开放 的操作系统。由于 Linux 开放源码,操作系统的一切对用户都是透明的, 用户可以最大限度地控制系统开发的进度和造价。在开发过程中遇到的各 种各样的硬件设备,可以方便地在网上找到这些设备的驱动程序,得到支 持。Linux 内置网络支持,用户可以轻松地使自己的嵌入式具有网络功能。 Linux 是模块化的操作系统,提供了优秀的可缩放功能,用户可以方便地 删除不需要的模块,大多数嵌入式系统对操作系统的体积非常敏感,Linux 的可以根据自己的需要,选择特定的功能模块,自主地搭建嵌入式操作系 统。Linux 支持绝大多数 CPU,包括 Intel、MIPS、ASIC、ALPHA、68K、 POWER PC 等。这使 Linux 几乎可以嵌入到各种硬件设备上。成为各家厂 商极力发展的操作系统,加上其核心小,潜力可观