收藏 分享(赏)

嵌入式操作系统_教案_ch1.ppt

上传人:dzzj200808 文档编号:3721608 上传时间:2018-11-16 格式:PPT 页数:42 大小:1.18MB
下载 相关 举报
嵌入式操作系统_教案_ch1.ppt_第1页
第1页 / 共42页
嵌入式操作系统_教案_ch1.ppt_第2页
第2页 / 共42页
嵌入式操作系统_教案_ch1.ppt_第3页
第3页 / 共42页
嵌入式操作系统_教案_ch1.ppt_第4页
第4页 / 共42页
嵌入式操作系统_教案_ch1.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、嵌入式操作系统,王 璐dqx_ 中原工学院计算机学院 2010-2,课程组成及考核方式,课程组成 理论课32学时+实验12学时 答疑:周四全天计算机教研室 成绩组成 期末考核:闭卷笔试80% 平时成绩:作业5%;实验10%;考勤5% 参考资料 陈渝. 嵌入式系统原理及应用开发. 北京:机械工业出版社 陈香兰(中科大)http:/ 绪论,嵌入式系统概述 定义/应用实例 /发展概况/特点/组成 嵌入式系统的知识结构及本课程的地位 嵌入式操作系统的课程内容 嵌入式操作系统课程的学习方式 工程实践+理论知识 认清学习目标:基于EOS的嵌入式系统开发 开发环境及实验箱简介,嵌入式系统概述,定义 嵌入到对

2、象体系中的专用计算机系统 Devices used to control, monitor, or assist the operation of equipment, machinery or plants(IEEE) 普遍接受的定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。,日常生活中的嵌入式系统,即使不可见,嵌入式系统也无处不在。嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。例如神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车

3、中也有多达几十个嵌入式系统。 在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统。,日常生活中的嵌入式系统,手机的大概组成,发展概况,嵌入式系统起源于微型计算机时代的嵌入式应用 例:将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机监测系统;但对于小对象,如家用电器,就无法嵌入通用计算机系统。 微型计算机的体积、价位、可靠性都无法满足嵌入式应用的要求。因此,嵌入式系统必须走独立发展道

4、路。 通用计算机系统与嵌入式计算机系统,形成了现代计算机技术发展的两大分支。 通用-技术要求面向高速计算,海量存储 嵌入-技术要求面向对象的智能化控制能力,其技术发展方向是与对象系统密切相关的嵌入性能、控制能力与可靠性。,发展概况,单片机开创了嵌入式系统独立发展道路 嵌入式系统必须走独立发展道路,即单芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。 从嵌入式处理器(芯片)看嵌入式系统的发展 嵌入式微控制器(MCU, Micro-Controller Unit) 嵌入式微处理器(MP, Micro-Processor) 嵌入式DSP处理器(Digital Signa

5、l Processor) 嵌入式片上系统SoC(SOPC, System On Programmable Chip),嵌入式微控制器(MCU),嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM、RAM、总线逻辑、定时器等各种必要的功能模块。与嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。 微控制器是目前嵌入式系统应用的主流。由于微控制器的片上资源一般比较丰富,适合于控制,因此称微控制器。 嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51

6、XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。另外,还有许多半通用系列,如支持USB接口的MCU 8XC930/931、C540、C541。,嵌入式微处理器(Embedded Microprocessor Unit, EMPU),嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的功能,这样可以大大减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

7、嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。,嵌入式DSP(EDSP),DSP对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面。 比较有代表性的产品是Texas Instruments的TMS320系列和Motorola的DSP56000系列。TMS320系列处理器包括用于控制的C2000系列,用于移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP的设计者们把重点放在了处理连续的数据流上。如果嵌入式应用中强调对连续的数据

8、流的处理及高精度复杂运算,则应该选用DSP器件。,嵌入式片上系统(SOC),随着VLSI设计的普及和半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就是SOC(System on-Chip)。SOPC即可编程的片上系统,或者说基于大规模FPGA(现场可编程门阵列)的单片系统。各种通用处理器内核和其他外围设备都将成为SOC设计公司的标准库中的器件,用标准的VHDL等硬件描述语言描述。用户只需定义出整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作芯片样品。这样,整个嵌入式系统大部分都可以集成到一块芯片中去,应用系统的电路板将变得很简洁,这将有利于减小体积和功耗,提高系统的可

9、靠性。 SOC可以分为通用和专用两类。通用系列包括Motorola的M-Core、某些ARM系列器件、Echelon 和Motorola联合研制的Neuron芯片等。专用SOC一般专用于某类系统中,一个有代表性的产品是Philips的Smart XA,可用于Internet安全方面。,嵌入式系统的特点,嵌入式系统通常是面向特定应用的。嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点。 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能完成功能、可靠性和功耗的苛刻要求。 实时操作系统支持。嵌入式系

10、统的应用程序可以不需要操作系统的支持直接运行,但是为了合理地调度多任务,充分利用系统资源,用户必须自行选配实时操作系统开发平台。 嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中。 专门开发工具支持。嵌入式系统本身不具备自主开发能力,即使在设计完成以后,用户通常也不能对程序功能进行修改,必须有一套开发工具和环境才能进行开发。,嵌入式系统的组成,微处理器 外围硬件 嵌入式操作系统 很多ES可以在没有操作系统的情况下运行 EOS的作用一般只是为应用程序提供必要的运行环境(任务调度),附加任务通信、内存管理等功能。 使嵌入式系统可以利用通用的功能模块,实现多层次、模块化的设计方式,可以使嵌入式

11、系统的开发更加高效 嵌入式操作系统和系统的硬件基础关系紧密,一般需要经过移植和配置才可以使用。 应用程序 开发环境,嵌入式操作系统的地位,微处理器由CPU和片内外设组成,是整个系统的核心;外围硬件扩展与具体处理器和功能要求相关;程序设计与处理器的指令系统相关,启动代码与具体处理器相关;操作系统建立在上述基础上;应用程序又建立在操作系统之上。 与Windows/Linux不同,一般嵌入式操作系统只提供系统运行的基础环境 其核心包括:任务调度、任务间通信、内存管理等模块。 常见:uC/OS-II,Windows CE,VxWorks等 移植是嵌入式操作系统应用最需要关注的问题。,嵌入式操作系统的作

12、用,既然嵌入式系统中,操作系统并不是一个必要部件,很多嵌入式系统可以在没有操作系统的情况下运行,那为什么需要嵌入式操作系统呢?(作用) 若没有,只能单任务,CPU利用低效。对复杂任务,EOS可以提供多任务并发执行,高效内存管理。 操作系统可以提供对硬件管理操作的API,应用程序可以调用,使开发不必直接针对硬件,从而更加高效。 操作系统还可以提供网络通信、图形化界面等功能。 例如:手机、PDA等产品,嵌入式操作系统课程的内容,绪论(4学时) 构建嵌入式操作系统环境实践(16学时) 目的:建立感性认识 移植bootloader/内核/文件系统(3个实验) 嵌入式RTOS内核原理分析(8学时) 偏重

13、于实时性 嵌入式OS的驱动程序开发(10学时,3个实验) 嵌入式OS示例剖析-uc os/ii(2学时),嵌入式操作系统课程的学习方式,从工程实践入手,建立感性认识;进而以理论知识给工程实践提供指导,逐步做到理论知识与工程实践相结合。 嵌入式教学的根本目的是能够开发嵌入式产品。与纯软件开发不同,嵌入式产品开发需要较多相关知识。EOS及应用程序的开发同样需要掌握: 开发方式 开发环境及工具,嵌入式系统的开发,开发方式 基于主机环境下的嵌入式开发 主机(PC)、目标机(嵌入式系统) 适合与硬件无关的开发,如数据库;或者虽然与硬件相关,但软件层级提供了统一的接口,如网络编程、图形界面、操作系统移植等

14、。 基于开发板的嵌入式开发 适合与系统硬件密切相关的开发和调试工作 基于仿真环境的嵌入式开发 综合,但对仿真环境有较高要求。,嵌入式系统的开发,交叉开发 开发软件的系统与运行软件的系统不同(主机、目标机) 开发环境及工具 编译器 GCC交叉编译工具集合:gcc/binutils/libc等 调试工具 gdb 软件工程工具 make、CVS 通信:主机与目标机间的通信,基于EOS的嵌入式产品开发,确定需求 根据需求选择合适的硬件 什么处理器?哪些辅助硬件? 硬实时/ 软实时系统? 选择嵌入式操作系统 选择开发平台 编程语言、软件开发工具 实际的开发平台包括硬件开发平台、操作系统、编程语言以及软件

15、开发工具,基于EOS的嵌入式产品开发,编写并优化代码 一般在主机系统上进行开发和优化工作。 代码优化主要在软件执行速度和软件尺寸之间取得平衡,满足嵌入式系统对速度和存储空间的限制。在嵌入式开发中,一般需要避免使用大型的软件库,避免使用递归编程,减少堆栈的消耗。 移植操作系统,在模拟器或者开发板上调试运行,典型的嵌入式操作系统,常见嵌入式实时操作系统 RTlinux 及其他嵌入式实时Linuxwind river systems 公司的VxWorks eCOS 常见嵌入式非实时操作系统 Microsoft 公司的windows CE Palm 公司的Palm OS,嵌入式Linux操作系统,嵌入

16、式Linux 内核 为特殊的硬件配置、或为了支持特别的应用而经过特别的裁剪的修改过的Linux 内核 常见的基于Linux的嵌入式操作系统 uCLinux ARMLinux RT-Linux/RTAI Embedix Blue Cat Linux Hard Hat Linux等等,嵌入式操作系统选型,一般而言,在选择嵌入式操作系统时,可以遵循以下6 个原则: 市场进入时间 可移植性 可利用资源 系统定制能力 成本 中文内核支持,市场进入时间,制定产品时间表与选择操作系统有关系 例如:Windows 系列嵌入式操作系统WinCE,由于具有丰富的人力资源。使用WinCE 能够很快进入市场。因为Wi

17、nCE+X86 做产品实际上是在做减法,去掉你不要的功能,能很快出产品。缺点:成本偏高,核心竞争力差。 但一些高效的操作系统可能由于编程人员缺乏,或由于这方面的技术积累不够,影响开发进度。,可移植性,主要指操作系统的相关性。当进行嵌入式软件开发时,可移植性是要重点考虑的问题 较好的软件的移植性应该也比较好,可以在不同平台、不同系统上运行,跟操作系统无关。 但,软件的通用性和软件的性能通常是矛盾的。 通用以损失某些特定情况下的优化性能为代价。 很难设想开发一个嵌入式浏览器而仅能在某一特定环境下应用。反过来说,当产品与平台和操作系统紧密结合时,往往你的产品的特色就蕴含其中。,可利用资源,操作系统的

18、可利用资源对于选型是一个重要参考条件 产品开发不同于学术课题研究,其目的是快速、低成本、高质量的推出适合用户需求的产品。 因此,要集中精力研发出产品的特色,其他功能尽量由操作系统附加或采用第三方产品。 Linux 和WinCE 都有大量的资源可以利用。其它有些实时操作系统由于比较封闭,开发时可以利用的资源比较少,因此多数功能需要自己独立开发。从而影响开发进度。 近来的市场需求显示,越来越多的嵌入式系统,均要求提供全功能的Web 浏览器。而这要求有一个高性能、高可靠的GUI 的支持。,系统定制能力,信息产品不同于传统PC 的Wintel 结构的单纯性,用户的需求是千差万别的,硬件平台也都不一样,

19、所以对系统的定制能力提出了要求。 要分析产品是否对系统底层有改动的需求,这种改动是否伴生着产品特色? Linux 由于其源代码开放的天生魅力,在定制能力方面具有优势。 随着Wince 3.0 源码的开放,以及微软在嵌入式领域力度的加强,其定制能力会有所提升。,成本,操作系统的选择会对成本有什么影响呢? 免费? Linux 免费,WinCE 等商业系统需要支付许可证使用费,但这都不是问题的答案。 成本是需要综合权衡以后进行考虑的: 选择某一系统可能会对其它一系列的因素产生影响,如对硬件设备的选型、人员投入、以及公司管理和与其它合作伙伴的共同开发之间的沟通等许多方面的影响。,中文内核支持,国内产品

20、需要对中文的支持。 由于操作系统多数采用西文方式,是否支持双字节编码方式,是否遵循GBK,GB18030 等各种国家标准,是否支持中文输入与处理,是否提供第三方中文输入接口是针对国内用户的嵌入式产品的必需考虑的重要因素。,目标机:本课程中使用的实验箱,深圳英蓓特公司Embest EDUKIT-III实验平台 S3C44B0(ARM7TDMI) S3C2410(ARM920T),Embest EduKit-III 开发板的基本资源,SDRAM: 2410为64M,44B0 为8/16M 兼容,芯片为HY57V561620 或HY57V641620; 具有2/4M 兼容的 Nor Flash(AM

21、D公司的AM29LV160DB) 和8/16/32/64/128M 兼容的Nand Flash(K9F5608UOB); 提供10M 以太网接口,芯片是CS8900A; 2 个RS232 串行口(MAX3232),可以跟上位机通讯; STN/TFT 兼容接口的彩色LCD(标配320*240 CSTN 5.7英寸LCD); 54 键盘,8个LED数码管,使用芯片ZLG7290BS; 2410集成的TSP触摸屏接口电路(标配4线5.7 英寸触摸屏); S3C2410 芯片集成的USB 控制器 ,主机环境,基于Linux的主机环境 安装Linux操作系统的主机 Windows + Cygwin 本课

22、程的大部分实验基于此主机环境 Windows + 虚拟机 + Linux操作系统,Cygwin,是在windows上运行的unix/linux模拟环境 组成: 一套库(cygwin.dll),即基于win32 api的一个unix系统库的模拟层,从而在windows平台上运行bash和开发工具、用户工具时,感觉好像在unix上工作。 一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发。 一些UNIX系统下的常见程序 是linux在windows环境下的部分替代物,占用资源相对较少,还有些不完善之处。 对于学习unix/linux操作环境,或者unix与windows的应用程

23、序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。,主机与目标机之间的连接,串口 串口线连接主机的COM1或COM2,到目标机上的UART0(RS232接口一般不支持热插拔,请在断电后插拔串口线) 串口设置软件:Windows的超级终端 设置波特率、数据位、奇偶校验等 网络 在移植EOS后,可以使用,速度快。 使用FTP软件,小结,嵌入式OS的地位和作用 嵌入式OS课程的内容 基于嵌入式OS的嵌入式产品开发过程 解释了三种开发方式 了解了所使用的开发环境及工具,主讲教师简介 王璐,副教授。1998年7月至今工作于中原工学院计算机学院。2007年6月,博士毕业于中南大学信息科学与工程学院计算机应用技术专业。 研究方向:人工智能、机器视觉、移动机器人导航、并行计算。发表论文15篇,其中SCI检索1篇,EI检索5篇,ISTP检索2篇。参加国家级科研项目2项,省厅级项目1项,完成湖南省科技成果鉴定1项,申请国家发明专利1项。 Email: dqx_,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报