欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    嵌入式系统教学课件:第二章嵌入式系统的基本知识软件.ppt

    • 资源ID:2070644       资源大小:2.29MB        全文页数:55页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统教学课件:第二章嵌入式系统的基本知识软件.ppt

    2,C H A P T E R,嵌入式系统的基本知识,本节提要,1,3,2,4,嵌入式系统硬件基础,嵌入式系统软件基础,嵌入式操作系统,嵌入式系统设计方法,嵌入式软件体系结构,无操作系统的情形在嵌入式系统的发展初期,由于硬件的配置比较低,对于是否有系统软件的支持,要求还不是很强烈。在那个阶段,嵌入式软件的设计主要是以应用为核心,应用软件直接建立在硬件上,没有专门的操作系统。有操作系统的情形,无操作系统的情形,循环轮询系统:(Polling Loop)最简单的软件结构,程序依次检查系统的每个输入条件,一旦条件成立就进行相应的处理。Initialize();while(1)if(condition_1)action_1();if(condition_2)action_2();if(condition_n)acition_n();,事件驱动系统(Event-Driven system)事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。应用程序是一个无限循环,循环中调用相应的函数完成相应操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可看成前台行为(foreground)。后台也可以叫做任务级,前台也叫中断级。,例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。,前后台系统(后台循环、前台中断),ISR,ISR,后台 前台,ISR,时间,有操作系统的情形,硬件,板级初始化,设备驱动层,以太网驱动,串口驱动,LCD驱动,键盘驱动,操作系统层,中间件层,应用软件层,TCP/IP网络系统,文件系统,内核,嵌入式GUI,嵌入式CORBA,嵌入式JAVA,嵌入式DCOM,面向领域的中间件,WWW浏览器,MP3播放器,电子邮件,嵌入式操作系统概述,An Embedded Operating System(EOS)isan Operating System(OS)in an Embedded System environment.,Being an OS means,系统软硬件资源的管理者:进程管理存储管理I/O设备管理文件管理,Being an EOS means,完成某一项或有限项功能,非通用型;在性能和实时性方面可能有严格限制;能源、成本和可靠性通常是影响设计的重要因素;占有资源少,适合在有限存储空间运行;系统功能可针对需求进行裁剪、调整,以便满足最终产品的设计要求。,按响应时间分类,嵌入式实时操作系统当事件/请求发生时,相应的任务应该在规定的时间内完成;分时操作系统基于公平性原则,各个进程分享处理器,获得大致相同的运行时间。当一个进程在进行I/O操作时,交出处理器,让其他进程运行。,soft real time,hard real time,按软件结构分类,单体结构(Monolithic Structure)分层结构(Layered Structure)Out of date微内核结构(Microkernel Model),单体结构,最常用的组织结构;整个系统只有一个可执行文件,包含所有的操作系统组件;系统的结构就是无结构,由一组函数组成,相互之间可以随意地调用。,应用软件,文件I/O,存储管理,进程管理,I/O驱动,存储驱动,中断驱动,硬件,单体内核,分层结构,在分层结构(layered)中,一个操作系统被划分为若干个层次(0.N),各个层次之间的调用关系是单向的,即某一层次上的代码只能调用比它低层的代码。这种结构要求在每个层次上都要提供一组API接口函数,这就会带来额外的开销,微内核,设备驱动程序,微内核结构,操作系统内核只包含最少的功能,如存储管理和进程管理;其他的操作系统组件以中间件的形式存在于内核之外;设备驱动程序完全从内核中剥离,独立成为一层。,中间件、应用软件,存储管理,进程管理,I/O驱动,存储驱动,中断驱动,硬件,几种常见的嵌入式操作系统,Wince LinuxPalmVxWorksuCOS,嵌入式操作系统WinCE,Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是一个基于掌上型电脑类的电子设备的操作系统。Windows CE是精简的Windows 95。Windows CE的图形用户界面相当出色。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200K的ROM。,嵌入式操作系统WinCE,Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98/2000上的编程工具(如Visual Basic、Visual C+等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用目前主要应用于PDA,跟微软一系列Windows系统一样,Windows CE也承袭了原有的缺点:耗系统资源、不稳定、效率不佳.等等。后来将整个架构重新改写后推出 Windows CE 3.0 版,或称为 Pocket PC。,嵌入式操作系统Linux,Linux是一个类似于Unix的操作系统。它起源于芬兰一个名为Linus Torvalds的业余爱好,但是现在已经是最为流行的一款开放源代码的操作系统。Linux从1991年问世到现在,短短10几年的时间内已发展成为一个功能强大、设计完善的操作系统,伴随网络技术进步而发展起来的Linux OS已成为Microsoft公司Windows 95/98的强劲对手。Linux系统不仅能够运行于PC平台,还在嵌入式系统方面大放光芒,在各种嵌入式Linux OS迅速发展的状况下,Linux OS逐渐形成了可与Windows CE等EOS进行抗衡的局面。目前正在开发的嵌入式系统中,50%以上的项目选择Linux作为嵌入式操作系统。Linux现已成为嵌入式操作的理想选择。,嵌入式操作系统Linux,开放原始码、模块化设计 Linux采用GPL授权,除了把原始码公开以外,任何人都可以自由使用、修改、散布,而Linux核心本身采用模块化设计,让人很容易增减功能,例如我的平台并不需要蓝牙的功能,我只要不把这项功能加入,有需要就加入,不需要就删除,由于这样的高的弹性,我们可以调校出最适合我们硬件平台的核心出来。,嵌入式操作系统Linux,相较于Linux,Windows是走封闭原始码路线,所以我们完全无法得知或修改它的核心部份。另外因为是采用GPL授权自然就没有什么权利金或保密协议的约束。,嵌入式操作系统Linux,嵌入式Linux OS的特点精简的内核,性能高、稳定,多任务。适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等。能够提供完善的嵌入式GUI以及嵌入式X-Windows。提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等多种应用。提供完整的开发工具和SDK,同时提供PC上的开发版本。,嵌入式操作系统Linux,用户可定制,可提供图形化的定制和配置工具。支持常用嵌入式芯片的驱动,支持大量的周边硬件设备,驱动丰富。针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。完善的中文支持,强大的技术支持,完整的文档。开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适用面广。,嵌入式操作系统Palm,由Palm Computing公司的嵌入式操作系统,目前最大的应用在PDA,是市场占有率最高的PDA操作系统。Palm操作系统架构非常简洁,可以非常不耗系统资源,硬件需求低,连带的整体耗电量便可压缩到非常低,因此采用Palm操作系统的PDA都有待机时间长的优点。,嵌入式操作系统VxWorks,VxWorks是目前嵌入式系统领域中使用广泛、市场占有率较高的一个操作系统。它支持多种处理器,如x86、i960、Sun Sparc、ARM、Motorola MC68xxx、MIPS RX000、POWER PC等等。大多数的VxWorks API是专有的。采用GNU的编译和调试器。,嵌入式操作系统uCOS,C/OSmicro O S,微控制器操作系统,美国人Jean Labrosse 1992年完成应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等 1998年C/OS-II,目前的版本C/OS-II V2.612000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中网站www.ucos-II.com(),嵌入式操作系统uCOS,公开源代码可移植性(Portable)绝大部分C/OS-II的源码是用移植性很强的ANSI C写的。和微处理器硬件相关的那部分是用汇编语言写的。汇编语言写的部分已经压到最低限度,使得C/OS-II便于移植到其他微处理器上。C/OS-II可以在绝大多数8位、16位、32位以至64位微处理器、微控制器、数字信号处理器(DSP)上运行。可固化(ROMable)C/OS-II是为嵌入式应用而设计的,只要读者有固化手段(C编译、连接、下载和固化),C/OS-II可以嵌入到读者的产品中成为产品的一部分。,嵌入式操作系统uCOS,可裁剪(Scalable):可以只使用 C/OS-II中应用程序需要的那些系统服务。也就是说某产品可以只使用很少几个 C/OS-II调用,而另一个产品则使用了几乎所有 C/OS-II的功能,这样可以减少产品中的 C/OS-II所需的存储器空间(RAM和ROM)。这种可剪裁性是靠条件编译实现的。占先式(Preemptive)多任务:C/OS-II可以管理64个任务,然而,目前这一版本保留8个给系统。应用程序最多可以有56个任务可确定性:全部 C/OS-II的函数调用与服务的执行时间具有可确定性。,嵌入式操作系统uCOS,任务栈:每个任务有自己单独的栈,C/OS-II允许每个任务有不同的栈空间,以便压低应用程序对RAM的需求。系统服务:C/OS-II提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。中断管理:中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255层。稳定性与可靠性,其他嵌入式操作系统,QNX 的 QNX OS、WindRiver 的 VxWorks、Microware 的 OS9、pSOS 等等。,本节提要,1,3,2,4,嵌入式系统硬件基础,嵌入式系统软件基础,嵌入式操作系统,嵌入式系统设计方法,嵌入式系统的开发流程,确定产品需求,选择主要芯片,确定编程语言,选择开发环境,RTOS的使用,测试工具与其他辅助设备,桌面应用程序编译和加载过程,嵌入式应用程序的编译和加载过程,嵌入式系统的开发设计与调试,设计,生产,IDE,评估板,仿真器,逻辑分析仪,边界扫描测试仪,编程器,开发环境,什么是嵌入式开发环境:,源程序,目标文件,可重定位程序,可执行文件,编译器/汇编器/链接定位器调试器/仿真器主机(Host)及其工作平台实时操作系统(可选)目标评估系统(可选)测试工具(软件/硬件/协议等,可选)其他辅助设备(可选),典型的开发环境,ARM的编译器(1),ADS1.2ARM公司出品IDE环境,包括ARM/Thumb汇编器:armasmANSI C 编译器-armcc 和 tccISO/Embedded C+编译器-armcpp and tcpp链接器 armlinkWindows 集成开发环境 CodeWarrior格式转换器 fromelf库管理器-armar调试器模拟调试器:ARMulatorJTAG调试:AXD(与Multi-ICE配合)支持所有ARM内核,最新版本:RealView2.0,ARM的编译器(2),EW-ARM瑞典IAR公司出品著名的嵌入式工具提供商,以提供编译器/协议栈/统一建模工具著称主要产品:Embeded Workbench(EW)、Make APP、Visual State等EW-ARM:针对ARM的集成开发环境:C/C+编译器C-SPY 模拟调试器ROM-Monitor多种级别代码优化方法,满足用户在速度、文件大小方面的要求内建ARM特性优化器支持多种断点模式支持Nucleus,VxWorks等RTOSGreenhillsGNU,嵌入式系统的调试(1),嵌入式系统的调试有四种基本方法:模拟调试(Simulator)软件调试(Debugger)BDM/JTAG调试(BDM/JTAG Debugger)全仿真调试(Emulator),嵌入式系统的调试(2),模拟调试(Simulator)调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。优点:简单方便,不需要目标板,成本低缺点:功能非常有限,无法实时调试大多数调试工具都提供Simulator功能,嵌入式系统的调试(3),软件调试(Debugger)主机和目标板通过某种接口(通常是串口)连接,主机上提供调试界面,待调试软件下载到目标板上运行。这种方式的先决条件是要在Host和Target之间建立起通信联系(目标板上称为监控程序Monitor),嵌入式系统的调试(3),软件调试(Debugger)优点:纯软件,价格较低,简单,软件调试能力较强缺点:需要事先烧制Monitor(往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。,PC,Target,Monitor,串口,嵌入式系统的调试(4),BDM/JTAG调试 这种方式有一个硬件调试体。该硬件调试体与目标板通过BDM、JTAG等调试接口相连,与主机通过串口、并口、网口或USB口相连。待调试软件通过BDM/JTAG调试器下载到目标板上运行。优点:方便、简单,无须制作Monitor,软硬件均可调试缺点:需要目标板,且目标板工作基本正常(至少MCU工作正常),仅适用于有调试接口的芯片,Target,PC,接口,BDM/JTAG Debugger,嵌入式系统的调试(5),全仿真调试(Emulator)这种方式用仿真器完全取代目标板上的MCU,因而目标系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或USB口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板(Stand alone)。优点:功能非常强大,软硬件均可做到完全实时在线调试缺点:价格昂贵。,ARM的调试方式,模拟调试SDT2.52:ARMulatorADS1.2:ARMulatorTrace32:SimulatorEW-ARM:C-spy软件调试ADS1.2:Angel(串口)SDT2.52 Angel(串口)JTAG调试ARM:Multi-ICE,简易型仿真器Trace32-ICD for ARMHitex:Tanto for ARM全仿真调试Trace32-FIRE/ICE,ARM调试工具,Multi-ICEARM公司出品与ADS配套使用支持不同的ARM内核另有Multi-trace模块可选,选择实时操作系统RTOS,对于复杂的嵌入式系统应考虑使用RTOSRTOS的作用:提供API(应用编程接口):操作系统为应用程序员提供可供调用的API,允许程序员致力于应用程序的开发 简化系统设计:实时嵌入式系统比非实时系统更难设计.使用实时多任务的内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去对他们协调处理实验平台如下支持ARM的实时操作系统:uC/OSLinux,嵌入式系统编程语言,Data from Japan ITRON survey for new embedded systems,嵌入式系统的测试,新技术,新方法使用边界扫描测试技术可以有效地解决这些问题!边界扫描来源于IEEE Std 1149.1,是由联合测试行动小组(Joint Test Action Group)制定的一种测试逻辑,所以又称JTAG标准。JTAG作为集成电路的一部分,可以完成以下功能:测试器件间的相互连线;测试集成电路本身;在线编程CPLD、FPGA、FLASH;JTAG仿真调试,嵌入式开发工具与开发环境,嵌入式系统软件的开发模式交叉开发交叉开发:在一台通用计算机上进行软件的编辑、编译,然后下载到嵌入式设备中运行调试的开发方式。,嵌入式软件开发流程,

    注意事项

    本文(嵌入式系统教学课件:第二章嵌入式系统的基本知识软件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开