《嵌入式系统课件打印》由会员分享,可在线阅读,更多相关《嵌入式系统课件打印(311页珍藏版)》请在金锄头文库上搜索。
1、第一部分 入门篇 教学内容:1.嵌入式系统概述2.嵌入式操作系统介绍3.嵌入式Linux操作系统4.嵌入式Linux开发环境5.嵌入式Linux系统开发要点1.1 嵌入式系统的定义 嵌入式系统本身是一个相对模糊的定义。一个手持的MP3和 一个PC104的微型工业控制计算机都可以认为是嵌入式系统。 嵌入式系统已经有了近30年的发展历史,它是硬件和软件交 替发展的双螺旋式发展。 第一款微处理器是Intel的4004,它出现在1971年,然后是 是Intel公司的8048,它出现在1976年。Motorola同时推出了 68HC05,Zilog公司推出了Z80系列,这些早期的单片机均含有256 字节
2、的RAM、4K的ROM、4个8位并口、1个全双工串行口、两个16位 定 时 器。 之后在80年代初,Intel又进一步完善了8048,在它的基础 上研制成功了8051。 1. 嵌入式系统概述1981年Ready System发展了世界上第1个 商业嵌入式实时内核(VTRX32)包含了许多传 统操作系统的特征,包括任务管理、任务间通 讯、同步与相互排斥、中断支持、内存管理等 功能。 随后,出现了如Integrated System Incorporation (ISI)的PSOS、IMG的VxWorks 、QNX公司的QNX 等,Palm OS,WinCE,嵌入 式Linux,Lynx,uCOS
3、、Nucleus,以及国内的 Hopen、Delta OS等嵌入式操作系统。 今天RTOS已经在全球形成了1个产业,根 据美国EMF(电子市场分析)报告,1999年全 球RTOS市场产值达3.6亿美元,而相关的整个 嵌入式开发工具(包括仿真器、逻辑分析仪、 软件编译器和调试器)则高达9亿美元。 IEEE定义根据IEEE(国际电气和电子工程师协 会)的定 义:嵌入式系统是“用于控制、监视 或者辅助 操作机器和设备的装置” (原文为:devices used to control, monitor, or assist the operation of equipment, machinery o
4、r plants)。可以看出此定义是从应用上考虑的 ,嵌入式系统是软件和硬件的综合体。 国内一般定义“以应用为中心、以计算 机技术为基础、软件硬件可裁剪、功能、 可靠性、成本、体积、功耗严格要求的专 用计算机系统。”n专用的计算机系统(非PC智能电子设备) l以应用为中心 l以计算机技术为基础 l软件硬件可裁剪 l适应应用系统对功能、可靠性、成本、体 积、功耗严格要求n 知识集成系统 l 技术密集资金密集 l 高度分散不可垄断 l 面向应用不断创新嵌入式系统一般指非PC系统,它包 括硬件 和软件两部分。 硬件包括:微处理器、存储器及外 围设备器 件和IO端口、图形控制器等。 软件包括:嵌入式操
5、作系统软件( OS)(要 求实时和多任务操作)和应用程序 软件。 应用程序控制着系统的运作和行为 ;而操 作系统控制着应用程序编程与硬件 的交互 作用。1.2嵌入式系统组成处理器存储器输入输出操作系统应用程序软件 结构硬件 结构1、嵌入式处理器嵌入式处理器是嵌入式系统的 核心,是控制、辅助系统运行的硬件单元 。 位、 位单片机,16位、 32位、64 位嵌入式CPU。 2、外围设备:存储器、接口、人 机交互 3、嵌入式操作系统实时操作系统是嵌入式系统目 前最主要的组成部分。实时性需要调度一 切可利用的资源完成实时控制任务,着眼 于提高计算机系统的使用效率,满足对时 间的限制和要求。 4、应用软
6、件嵌入式系统与PC机比较嵌入式系统的特点 1)嵌入式系统低功耗、体积小,专用性强。嵌入式系统与PC机的最大不同就是嵌入式CPU大多 工作在为特定用户群设计的系统中,能够把PC机中许 多由板卡完成的任务集成在芯片内部,从而有利于嵌 入式系统设计趋于小型化。 2)为了提高执行速度和系统可靠性,嵌入式系统中 的软件一般都固化在存储器芯片或单片机本身中,而 不是存贮于磁盘等载体中。 3)嵌入式系统的硬件和软件都必须高效率地设计, 系统要精简。 4)对软件代码质量要求很高。应该尽最大可能 避免死机的情况发生。 5)嵌入式系统开发需要专门的开发工具和开发 环境。1.3嵌入式系统的应用(1)军用; (2)家
7、用; (3)工业用; (4)商用; (5)办公用; (6)医用电子设备;现代化家庭家用电子产品嵌入式系统与机器人技术图:卡耐基梅隆大学和瑞士EPFL研制的机器人控制器(采用卡西欧PDA和Windows CE) 智能机器人智能机器人2.嵌入式操作系统介绍嵌入式软件的核心:嵌入式实时多任务操作系统(RTOS real time operation system)。现代信息社会的高效性、协同性客 观上要求软件的编写便于多人分工合作、编写 的软件具有可重用性。软件则日趋复杂。所有 这些迫切需要有一个屏蔽底层硬件的、功能强 大的操作系统来支持。why RTOS?数据采集终端:采集,处理,键盘 ,LCD显
8、示,微打数据采集处理数据处理键盘显示打印传统编程中断中断RTOS数据采集处理数据显示打印处理键盘中断基于RTOS编程嵌入式操作系统定义嵌入式操作系统:支持嵌入式系统 的工作的操作系统。嵌入式系统一般具有实 时特点,这里把嵌入式操作系统和实时操作 系统不加区别对待。实时操作系统的概念实时系统:系统的正确运行要同时满 足特定的逻辑和时间关系。 实时操作系统RTOS(real time operation system):是指能支持实时控制 系统工作的操作系统 硬实时(hard)与软实时(soft)的概念硬实时:通过系统特定的时序得不 到满足,将会引起灾难性的后果。 软实时:通过系统特定的时序得不
9、到满足,系统的性能会严重下降。deadlinetime01Hard System Soft System嵌入式操作系统的分类从嵌入式系统的应用来分类,可以 分为面向低端设备的嵌入式操作系统和面向 高端设备的嵌入式操作系统。低端:各种工业控制系统,计算机 外设,民用消费品的微波炉,洗衣机,冰箱 等,ucos高端:信息化家电,掌上电脑,机 顶盒、WAP手机,路由器 ,VxWorks、 QNX、wince, linux.从嵌入式系统的商业模式来分类, 可以分为商用型和免费型。商用型:功能稳定、可靠,有完善 的技术支持和售后服务,价格昂贵。免费型:价格优势。 linux. uCOS 。从实时性的角度来
10、分: 具有强实时特点的嵌入式操作系统:其系 统响应时间在毫秒或微秒级(航空/航天控制 装配),VxWORKS 具有弱实时特点的嵌入式操作系统:其系 统响应时间在毫秒几秒的数量级上,其实时 性的要求比强实时系统要差一些(电子菜谱的 查询)。 没有实时特点的嵌入式操作系统。当前主流的嵌入式操作系统 1.Linux在所有操作系统中,Linux是一个发展最快,应用最为广泛的操作系统, 这是由Linux本身的种种特性决定了它成为嵌入式开发中操作系统的首选。Linux已经成为全球第二大操作系统.预计在服务器市场上, Linux在 未来风年内将以每年25%的速度增长,中国的Linux市场将保持40%左右的增
11、 长速度。20042008年国内Linux软件市场总量预测2. uC/OSuC/OS是一个典型的实时操作系统.目前流行的是第二个版本,即:uC/OS II 。该操作系统短小精悍,是研究和学习实时操作系统的首选特点:公开源代码,代码结构清晰,注释详尽,组织有条理,可移植性好;可裁减,可固化等。3. Windows CEWindows CE 是微软的产品现在大部分的高价掌上电脑都采用了Windows CE嵌入式操作系统特点: Windows CE, 是弱实时操作系统, 非免费。4. VxWorksWindRiver 公司专门为实时嵌入式系统设计开发的操作系统软件。主要应用在单板机、数据网络(以太网
12、交换机、路由器)和通信方面等多方面特点:可靠、实时、可裁减,多种CPU支持,非免费,价格昂贵。5. QNX是一款实时操作系统,由加拿大QNX 软件系统有限公司开发。主要应用于自动化、控制、机器人科学、电信、数据通信、航空航天、计算机网 络系统、医疗仪器设备、交通运输、安全防卫系统、POS机、零售机等任务关键 型应用领域。特点:用户可以把应用程序代码和QNX 内核直接编译在一起,非常好的可移植性。3.嵌入式Linux操作系统 Linux简介姓名: Linux 生日: 1991 年10月 父亲: Linus Torvalds 堂兄: UNIX 国别:芬兰 家庭住址: http:/www.linux
13、.org/ 吉祥物:Linux优点 1.开放源代码,丰富的软件资源2.功能强大的内核,性能高效、稳定、多任务3.支持多种体系结构4.完善的网络通信、图形和文件管理机制5.支持大量的硬件设备,驱动丰富6.大小功能都可定制认识Linux内核版本主版本 1.0 2.0 2.2 2.4 2.6 2,3年更新稳定版 2.0.40 2.2.12 2.4.18 2.6.7 1,2月更新稳定版更新 2.6.11.1 - 2.6.11.7 1,2周更新4.嵌入式Linux开发环境通用计算机:可以直接安装发行版的Linux 操作系统,使用编辑器 、编译器等工具为本机开发软件,甚至可以完成整个Linux 系统的升级
14、。嵌入式系统:硬件一般有很大的局限性,或者处理器频率很低,或 者存储空间很小,或者没有键盘、鼠标设备。这样的硬件 平台无法胜任(或者不便于)庞大的Linux 系统开发任务 。因此,开发者提出了交叉开发环境模型。交叉开发环境交叉开发环境:是由开发主机和目标板两套计算机系统构成的。目 标板Linux 软件是在开发主机上编辑、编译,然后加载 到目标板上运行的。 n 宿主机 开发机器(编辑器、编译器、调试器、.) n 目标机 程序运行的机器 l 宿主机和目标机一样时为本地编译 l 交叉编译是指宿主机和目标机是不同的系统(必须做目 标文件下载)宿主机目标机磁带 磁盘 网络 串口连接 .Target bo
15、ard: UP-NETARM2410-S平台交叉开发环境举例(一)交叉开发环境举例(二)5.嵌入式Linux系统开发要点嵌入式Linux开发就是构建一个Linux系统,要求: 熟悉Linux系统组成部分;熟悉Linux开发工具;熟悉Linux 编程 。嵌入式Linux系统组成从整体上讲,可以分为五大部分 Bootloader Kernel Device drivers Filesystem Applications因此:嵌入式Linux系统开发要点可有如下几点(个人理解):(1)选择嵌入式Linux 发行版商业的Linux 发行版是作为产品开发维护的,经过 严格的测试验证,并且可以得到厂家的技
16、术支持。它为 开发者提供了可靠的软件和完整的开发工具包。(4)熟悉开发环境和工具交叉开发环境是嵌入式Linux 开发的基本模型。 Linux 环境配置、GNU工具链、测试工具甚至集成开 发环境都是开发嵌入式Linux开发的利器。(2)熟悉Linux 编程(3)熟悉处理器的体系结构及指令(5)熟悉Linux 内核因为嵌入式Linux 开发一般需要重新定制Linux 内核 ,所以熟悉内核配置、编译和移植也很重要。 (6)熟悉目标板引导方式开发板的Bootloader 负责硬件平台的最基本的初始 化,并且具备引导Linux 内核启动的功能。由于硬件平台 是专门定制的,一般需要修改编译Bootloader。 (7)熟悉Linux 根文件系统Linux 离不开文件系统,程序和文件都存放在文件系 统中。系统启动必需的程序和文件都必须放在根文件系统 中。Linux 内核命令行参数可以指定要挂接的根文件系统 。(8)理解Linux 内存模型Linux 是保护模式的操作系统。