周立功ARM培训精华全套.ppt_第1页
周立功ARM培训精华全套.ppt_第2页
周立功ARM培训精华全套.ppt_第3页
周立功ARM培训精华全套.ppt_第4页
周立功ARM培训精华全套.ppt_第5页
已阅读5页,还剩1210页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录,第一章 嵌入式系统概述 第二章 嵌入式系统工程设计 第三章 ARM7体系结构 第四章 ARM7TDMI(-S)指令系统 第五章 LPC2000系列ARM硬件结构 第六章 接口技术与硬件设计 第七章 移植C/OS-II到ARM7 第八章 嵌入式系统开发平台,第1章 嵌入式系统概述,第1章 目录,1. 嵌入式系统 2. 嵌入式处理器 3. 嵌入式操作系统,第1章 目录,1. 嵌入式系统 2. 嵌入式处理器 3. 嵌入式操作系统,1.1 嵌入式系统,概述,经过几十年的发展,嵌入式系统已经在很大程度改变了人们的生活、工作和娱乐方式,而且这些改变还在加速。嵌入式系统具有无数的种类,每类都具有自己独特的个性。例如,MP3、数码相机与打印机就有很大的不同。汽车中更是具有多个嵌入式系统,使汽车更轻快、更干净、更容易驾驶。,现实中的嵌入式系统,即使不可见,嵌入式系统也无处不在。嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。例如神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。 在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统。,现实中的嵌入式系统,嵌入式系统的概念,目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义: 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。,嵌入式系统示例,汽车控制系统,嵌入式系统示例,汽车控制系统,尾灯控制系统,后车门控制系统,前车门控制系统,座椅控制系统,发动器控制系统,所有的控制系统都是一个完整的嵌入式系统,嵌入式系统的未来,早在1990年之前,嵌入式系统通常是很简单的且具有很长的产品生命周期的自主设备。近些年来,嵌入式工业经历了巨大的变革。 产品市场窗口现在预计翻番的周期狂热到69个月。 全球重新定义市场的机会和膨胀的应用空间。 互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术。 基于电子的产品更复杂化。 互联嵌入式系统产生新的依赖网络基础设施的应用。 微处理器的处理能力按莫尔定律(Moores L aw)预计的速度在增加。该定律认为集成电路和晶体管个数每18个月翻一番。,第1章 目录,1. 嵌入式系统 2. 嵌入式处理器 3. 嵌入式操作系统,嵌入式处理器,早期的嵌入式系统通常使用普通个人计算机(PC)中的通用处理器。近年来,随着大量先进的微处理器制造技术的发展,越来越多的嵌入式系统用嵌入式处理器建造,而不是用通用目的的处理器。 这些嵌入式处理器可以大致分为以下几类: 注重嵌入式处理器的尺寸、能耗和价格。应用于PDA等不注重计算的设备; 注重嵌入式处理器的性能。应用于路由器等计算密集型的设备; 注重嵌入式处理器的性能、尺寸、能耗和价格。应用于蜂窝电话等设备;,概述,1.2 嵌入式处理器,分类,嵌入式处理器可以分为以下几大类: 嵌入式微处理器; 嵌入式微控制器; 嵌入式DSP处理器; 嵌入式片上系统(SOC)。,嵌入式处理器,嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等。,嵌入式微处理器,嵌入式处理器,嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成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的市场份额。,嵌入式微控制器,嵌入式处理器,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结构和双乘/累加单元,应用目标是大批量消费类产品。,嵌入式DSP处理器,嵌入式处理器,随着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安全方面。,嵌入式片上系统(SOC),第1章 目录,1. 嵌入式系统 2. 嵌入式处理器 3. 嵌入式操作系统,1.3 嵌入式操作系统,概述,计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了操作系统(Operating System)。发展到现在,广泛使用的有三种操作系统即多道批处理操作系统、分时操作系统以及实时操作系统。,1.3 嵌入式操作系统,概述,时 间 先 后,1.3 嵌入式操作系统,概述,监 控 程 序,操 作 系 统,实时操作系统,分时操作系统,多道批处理操作系统,时 间 先 后,实时操作系统是我们介绍的重点,1.3 嵌入式操作系统,实时操作系统的特点,IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点: 异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步,1.3 嵌入式操作系统,实时操作系统的特点,总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。 从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统和嵌入式实时操作系统。,1.3 嵌入式操作系统,实时操作系统的特点,一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。 嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K几十K 内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点 。,1.3 嵌入式操作系统,基本概念,对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。 很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。,前后台系统,基本概念,中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。,前后台系统,1.3 嵌入式操作系统,基本概念,操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。,操作系统,1.3 嵌入式操作系统,基本概念,实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。,实时操作系统(RTOS),1.3 嵌入式操作系统,基本概念,代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。,代码的临界区,1.3 嵌入式操作系统,基本概念,程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。,资源,1.3 嵌入式操作系统,基本概念,可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。,共享资源,访问共享资源之前申请信号量,其它任务访问受阻 而不能使用共享资源,得到允许后,才能使用共享资源,1.3 嵌入式操作系统,基本概念,一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。,任务,1.3 嵌入式操作系统,基本概念,当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。,任务切换,1.3 嵌入式操作系统,基本概念,多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如25的CPU运行时间、RAM和ROM等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。,内核,1.3 嵌入式操作系统,基本概念,调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。,调度,1.3 嵌入式操作系统,基本概念,非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。,非占先式内核,1.3 嵌入式操作系统,基本概念,当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。,占先式内核,1.3 嵌入式操作系统,基本概念,任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。,任务优先级,1.3 嵌入式操作系统,基本概念,中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到: 1. 在前后台系统中,程序回到后台程序; 2. 对非占先式内核而言,程序回到被中断了的任务; 3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。,中断,1.3 嵌入式操作系统,基本概念,中断,1.3 嵌入式操作系统,基本概念,时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。,时钟节拍,1.3 嵌入式操作系统,使用实时操作系统的必要性,嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素: 嵌入式实时操作系统提高了系统的可靠性。 提高了开发效率,缩短了开发周期。 嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。,1.3 嵌入式操作系统,实时操作系统的优缺点,优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。 缺点:但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,25%的CPU额外负荷,以及内核的费用。,uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。,1.3 嵌入式操作系统,常见的嵌入式操作系统,嵌入式Linux,1.3 嵌入式操作系统,常见的嵌入式操作系统,Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的Windows 95。Windows CE的图形用户界面相当出色。Win CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。Win CE不仅继承了传统的Windows图形界面,并且在Win CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C+等)、使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。,Win CE,1.3 嵌入式操作系统,常见的嵌入式操作系统,VxWorks,1.3 嵌入式操作系统,常见的嵌入式操作系统,OSE主要是由ENEA Data AB 下属的ENEA OSE Systems AB负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。 OSE的客户深入到电信,数据,工控,航空等领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信,诺基亚,西门子等知名公司确定了良好的关系。,OSE,1.3 嵌入式操作系统,常见的嵌入式操作系统,Nucleus PLUS是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。 Nucleus PLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使Nucleus PLUS 的各个组件非常易于替换和复用。,Nucleus,1.3 嵌入式操作系统,常见的嵌入式操作系统,eCos是RedHat公司开发的源代码开放的嵌入式RTOS产品,是一个可配置、可移植的嵌入式实时操作系统,设计的运行环境为RedHat的GNUPro和GNU开发环境。eCOS的所有部分都开放源代码,可以按照需要自由修改和添加。eCOS的关键技术是操作系统可配置性,允许用户组和自己的实时组件和函数以及实现方式,特别允许eCOS的开发则定制自己的面向应用的操作系统,使eCos能有更广泛的应用范围。,eCos,1.3 嵌入式操作系统,常见的嵌入式操作系统,C/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用ANSI C写的,使其可以方便的移植并支持大多数类型的处理器。C/OS-II通过了联邦航空局(FAA)商用航行器认证。自1992年问世以来,C/OS-II已经被应用到数以百计的产品中。C/OS-II占用很少的系统资源,并且在高校教学使用是不需要申请许可证。,C/OS-II,1.3 嵌入式操作系统,常见的嵌入式操作系统,TRON是指“实时操作系统内核(The Real-time Operating system Nucleux)”,它是在1984年由东京大学的Sakamura博士提出的,目的是为了建立一个理想的计算机体系结构。通过工业界和大学院校的合作,TRON方案正被逐步用到全新概念的计算机体系结构中。 uITRON是TRON的一个子方案,它具有标准的实时内核,适用于任何小规模的嵌入式系统,日本国内现有很多基于该内核的产品,其中消费电器较多。目前已成为日本事实上的工业标准。,uITRON,1.3 嵌入式操作系统,常见的嵌入式操作系统,TRON明确的设计目标使其甚至比Linux更适合于做嵌入式应用,内核小,启动速度快,即时性能好,也很适合汉字系统的开发。另外,TRON的成功还来源于如下两个重要的条件: 1.它是免费的 2.它已经建立了开放的标准,形成了较完善的软硬件配套开发环境,较好地形成了产业化。,uITRON,第2章 嵌入式系统工程设计,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,2.1 嵌入式系统项目开发生命周期,概述,可以把嵌入式系统的开发看作对一个项目的实施。项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。嵌入式系统项目开发也是如此。,概述,1.识别需求 识别需求是项目生命周期的最初阶段。当需求被客户确定时,项目就产生了。这个阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 2.提出方案 主要由各厂商向客户提交标书、介绍解决方案。这个阶段是赢得项目的关键,公司既要展示实力又要合理报价。如果竞标成功则签定合同,厂商开始承担项目成败的责任。 3.执行项目 从公司角度来看这才是项目的开始。这个阶段项目经理和项目组将代表公司完全承担合同规定的任务。一般需要细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。 4.结束项目 主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。,项目开发周期,识别需求对于嵌入式系统项目开发是很重要的。这是因为嵌入式系统往往需要嵌入到其它产品中,不能独立工作,而这个产品往往不是嵌入式开发承包商(部门)所熟悉的,不了解需求做成的产品往往是失败的。,识别需求,项目开发周期,对于嵌入式系统项目来说,这个阶段的主要工作是系统规划与设计。在设计规划阶段中,开发团队需要分析所有可行的解决方案,并拟定进程,使项目在合理的进程范围中逐渐建构完成。在系统的设计方面最重要的一件事就是确定系统的框架。,提出方案,项目开发周期,这个阶段的主要工作就是系统的实现和系统的测试。由于嵌入式系统的特殊性,嵌入式系统项目既要实现系统的硬件,又要在硬件上实现软件。所以在项目的开发过程中,软硬件实现和系统测试是不断反复进行的。事实上,系统的实现、测试和调试贯穿整个“执行项目”阶段。,执行项目,项目开发周期,产品开发完毕并移交给客户并不等于项目已经结束。客户在使用产品的过程中还会发现一连串的问题,此时开发团队还需要服务客户,这就是售后服务。售后服务是一种保障客户权利的措施,相对的也是开发团队的义务。当售后服务也结束,项目结案了,项目也没有结束,这时需要项目讨论来总结、学习一些东西。项目讨论是一个项目的反馈机制,通过这一程序,项目团队的经验才可以被记录下来,也就是说,这是一个撰写项目历史的过程。,结束项目,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,2.2 嵌入式系统工程设计方法简介,由上而下与由下而上,由上而下是一个正统的设计方式,也就是说,所有的设计皆是遵循系统工程的流程来进行。相对而言,由下而上表示一个系统是由已经有的基础(或组件)为起点,开始往上延伸,最后将系统完成。,由 上 而 下,由 下 而 上,2.2 嵌入式系统工程设计方法简介,UML系统建模,UML(Unified Modeling Language)是一种原本设计用来描述对象导向程序语言开发的图形化语言。由于它具有描述事物的多重性,所以理论上也可以被拉到其他领域使用。 在实际使用上,根据不同的使用情况,UML提供了不同的图形来描述系统。在UML中,包括了下面几种图形:类图、状态图、对象图、用例图、顺序图、协作图、活动图、组件图和部署图。,2.2 嵌入式系统工程设计方法简介,使用UML的好处,语言的用处在于沟通。UML也是一种语言,它利用视觉化的方法来制定、构建以及记录对象导向系统。因此,可以把UML当作一种软件工程用的语言。 使用UML的好处在于可以在短时间内了解别人要传达的消息,而不是花时间在了解消息本身如何解读。UML提供给用户基础的工具与基本的规范,在这个基础上,用户可以利用这个语言去描述他所想要描述的系统,用不同的界面去描绘出系统的不同方面。,2.2 嵌入式系统工程设计方法简介,面向对象OO的思想,随着系统的需求日益增加,系统的功能及复杂程度不断增大,为了使系统开发变得容易,我们要逐步改进我们对系统的思考方式以及我们开发系统的的方式,这项新技术我们称之为面向对象的的开发。 传统的结构化方法是将系统分解为很多基本函数的集合,数据被孤立分离,并且不考虑并发。而面向对象方法的基本分解单位为对象。在面对较复杂的系统设计时,我们可以将它作为一个对象来进行分析。同样,这个对象也可以分解为多个对象,多个对象各司其职,相互协作以完成目标。,第2章 嵌入式系统工程设计,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,2.1 嵌入式系统项目开发生命周期,概述,可以把嵌入式系统的开发看作对一个项目的实施。项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。嵌入式系统项目开发也是如此。,概述,1.识别需求 识别需求是项目生命周期的最初阶段。当需求被客户确定时,项目就产生了。这个阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 2.提出方案 主要由各厂商向客户提交标书、介绍解决方案。这个阶段是赢得项目的关键,公司既要展示实力又要合理报价。如果竞标成功则签定合同,厂商开始承担项目成败的责任。 3.执行项目 从公司角度来看这才是项目的开始。这个阶段项目经理和项目组将代表公司完全承担合同规定的任务。一般需要细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。 4.结束项目 主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。,项目开发周期,识别需求对于嵌入式系统项目开发是很重要的。这是因为嵌入式系统往往需要嵌入到其它产品中,不能独立工作,而这个产品往往不是嵌入式开发承包商(部门)所熟悉的,不了解需求做成的产品往往是失败的。,识别需求,项目开发周期,对于嵌入式系统项目来说,这个阶段的主要工作是系统规划与设计。在设计规划阶段中,开发团队需要分析所有可行的解决方案,并拟定进程,使项目在合理的进程范围中逐渐建构完成。在系统的设计方面最重要的一件事就是确定系统的框架。,提出方案,项目开发周期,这个阶段的主要工作就是系统的实现和系统的测试。由于嵌入式系统的特殊性,嵌入式系统项目既要实现系统的硬件,又要在硬件上实现软件。所以在项目的开发过程中,软硬件实现和系统测试是不断反复进行的。事实上,系统的实现、测试和调试贯穿整个“执行项目”阶段。,执行项目,项目开发周期,产品开发完毕并移交给客户并不等于项目已经结束。客户在使用产品的过程中还会发现一连串的问题,此时开发团队还需要服务客户,这就是售后服务。售后服务是一种保障客户权利的措施,相对的也是开发团队的义务。当售后服务也结束,项目结案了,项目也没有结束,这时需要项目讨论来总结、学习一些东西。项目讨论是一个项目的反馈机制,通过这一程序,项目团队的经验才可以被记录下来,也就是说,这是一个撰写项目历史的过程。,结束项目,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,2.2 嵌入式系统工程设计方法简介,由上而下与由下而上,由上而下是一个正统的设计方式,也就是说,所有的设计皆是遵循系统工程的流程来进行。相对而言,由下而上表示一个系统是由已经有的基础(或组件)为起点,开始往上延伸,最后将系统完成。,由 上 而 下,由 下 而 上,2.2 嵌入式系统工程设计方法简介,UML系统建模,UML(Unified Modeling Language)是一种原本设计用来描述对象导向程序语言开发的图形化语言。由于它具有描述事物的多重性,所以理论上也可以被拉到其他领域使用。 在实际使用上,根据不同的使用情况,UML提供了不同的图形来描述系统。在UML中,包括了下面几种图形:类图、状态图、对象图、用例图、顺序图、协作图、活动图、组件图和部署图。,2.2 嵌入式系统工程设计方法简介,使用UML的好处,语言的用处在于沟通。UML也是一种语言,它利用视觉化的方法来制定、构建以及记录对象导向系统。因此,可以把UML当作一种软件工程用的语言。 使用UML的好处在于可以在短时间内了解别人要传达的消息,而不是花时间在了解消息本身如何解读。UML提供给用户基础的工具与基本的规范,在这个基础上,用户可以利用这个语言去描述他所想要描述的系统,用不同的界面去描绘出系统的不同方面。,2.2 嵌入式系统工程设计方法简介,面向对象OO的思想,随着系统的需求日益增加,系统的功能及复杂程度不断增大,为了使系统开发变得容易,我们要逐步改进我们对系统的思考方式以及我们开发系统的的方式,这项新技术我们称之为面向对象的的开发。 传统的结构化方法是将系统分解为很多基本函数的集合,数据被孤立分离,并且不考虑并发。而面向对象方法的基本分解单位为对象。在面对较复杂的系统设计时,我们可以将它作为一个对象来进行分析。同样,这个对象也可以分解为多个对象,多个对象各司其职,相互协作以完成目标。,第2章 嵌入式系统工程设计,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,2.1 嵌入式系统项目开发生命周期,概述,可以把嵌入式系统的开发看作对一个项目的实施。项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。嵌入式系统项目开发也是如此。,概述,1.识别需求 识别需求是项目生命周期的最初阶段。当需求被客户确定时,项目就产生了。这个阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 2.提出方案 主要由各厂商向客户提交标书、介绍解决方案。这个阶段是赢得项目的关键,公司既要展示实力又要合理报价。如果竞标成功则签定合同,厂商开始承担项目成败的责任。 3.执行项目 从公司角度来看这才是项目的开始。这个阶段项目经理和项目组将代表公司完全承担合同规定的任务。一般需要细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。 4.结束项目 主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。,项目开发周期,识别需求对于嵌入式系统项目开发是很重要的。这是因为嵌入式系统往往需要嵌入到其它产品中,不能独立工作,而这个产品往往不是嵌入式开发承包商(部门)所熟悉的,不了解需求做成的产品往往是失败的。,识别需求,项目开发周期,对于嵌入式系统项目来说,这个阶段的主要工作是系统规划与设计。在设计规划阶段中,开发团队需要分析所有可行的解决方案,并拟定进程,使项目在合理的进程范围中逐渐建构完成。在系统的设计方面最重要的一件事就是确定系统的框架。,提出方案,项目开发周期,这个阶段的主要工作就是系统的实现和系统的测试。由于嵌入式系统的特殊性,嵌入式系统项目既要实现系统的硬件,又要在硬件上实现软件。所以在项目的开发过程中,软硬件实现和系统测试是不断反复进行的。事实上,系统的实现、测试和调试贯穿整个“执行项目”阶段。,执行项目,项目开发周期,产品开发完毕并移交给客户并不等于项目已经结束。客户在使用产品的过程中还会发现一连串的问题,此时开发团队还需要服务客户,这就是售后服务。售后服务是一种保障客户权利的措施,相对的也是开发团队的义务。当售后服务也结束,项目结案了,项目也没有结束,这时需要项目讨论来总结、学习一些东西。项目讨论是一个项目的反馈机制,通过这一程序,项目团队的经验才可以被记录下来,也就是说,这是一个撰写项目历史的过程。,结束项目,第2章 目录,1. 嵌入式系统项目开发生命周期 2. 嵌入式系统工程设计方法简介,2.2 嵌入式系统工程设计方法简介,由上而下与由下而上,由上而下是一个正统的设计方式,也就是说,所有的设计皆是遵循系统工程的流程来进行。相对而言,由下而上表示一个系统是由已经有的基础(或组件)为起点,开始往上延伸,最后将系统完成。,由 上 而 下,由 下 而 上,2.2 嵌入式系统工程设计方法简介,UML系统建模,UML(Unified Modeling Language)是一种原本设计用来描述对象导向程序语言开发的图形化语言。由于它具有描述事物的多重性,所以理论上也可以被拉到其他领域使用。 在实际使用上,根据不同的使用情况,UML提供了不同的图形来描述系统。在UML中,包括了下面几种图形:类图、状态图、对象图、用例图、顺序图、协作图、活动图、组件图和部署图。,2.2 嵌入式系统工程设计方法简介,使用UML的好处,语言的用处在于沟通。UML也是一种语言,它利用视觉化的方法来制定、构建以及记录对象导向系统。因此,可以把UML当作一种软件工程用的语言。 使用UML的好处在于可以在短时间内了解别人要传达的消息,而不是花时间在了解消息本身如何解读。UML提供给用户基础的工具与基本的规范,在这个基础上,用户可以利用这个语言去描述他所想要描述的系统,用不同的界面去描绘出系统的不同方面。,2.2 嵌入式系统工程设计方法简介,面向对象OO的思想,随着系统的需求日益增加,系统的功能及复杂程度不断增大,为了使系统开发变得容易,我们要逐步改进我们对系统的思考方式以及我们开发系统的的方式,这项新技术我们称之为面向对象的的开发。 传统的结构化方法是将系统分解为很多基本函数的集合,数据被孤立分离,并且不考虑并发。而面向对象方法的基本分解单位为对象。在面对较复杂的系统设计时,我们可以将它作为一个对象来进行分析。同样,这个对象也可以分解为多个对象,多个对象各司其职,相互协作以完成目标。,第3章 ARM7体系结构,第3章 目录,1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器,9.异常 10.中断延迟 11.复位 12.存储器及存储器映射I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介,第3章 目录,1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器,9.异常 10.中断延迟 11.复位 12.存储器及存储器映射I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介,3.1 ARM简介,ARM公司简介,ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。 公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。,3.1 ARM简介,ARM公司简介,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,3.1 ARM简介,ARM体系结构,ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的特点:,3.1 ARM简介,ARM体系结构,ARM体系结构的特点:,3.1 ARM简介,各ARM体系结构版本,ARM体系结构从最初开发到现在有了巨大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了5种主要的ARM指令集体系结构版本,以版本号V1V5表示。,3.1 ARM简介,各ARM体系结构版本V1,该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为: 基本的数据处理指令(不包括乘法); 字节、字和半字加载/存储指令; 具有分支指令,包括在子程序调用中使用的分支和链接指令; 在操作系统调用中使用的软件中断指令。,3.1 ARM简介,各ARM体系结构版本V2,同样为26位寻址空间,现在已经废弃不再使用,它相对V1版本有以下改进: 具有乘法和乘加指令; 支持协处理器; 快速中断模式中的两个以上的分组寄存器; 具有原子性加载/存储指令SWP和SWPB。,3.1 ARM简介,各ARM体系结构版本V3,寻址范围扩展到32位(事实上也基本废弃),具有独立的程序: 具有乘法和乘加指令; 支持协处理器; 快速中断模式中具有的两个以上的分组寄存器; 具有原子性加载/存储指令SWP和SWPB。,3.1 ARM简介,各ARM体系结构版本V4,不在为了与以前的版本兼容而支持26位体系结构,并明确了哪些指令会引起未定义指令异常发生,它相对V3版本作了以下的改进: 半字加载/存储指令; 字节和半字的加载和符号扩展指令; 具有可以转换到Thumb状态的指令; 用户模式寄存器的新的特权处理器模式。,3.1 ARM简介,各ARM体系结构版本V5,在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并并增加了指令,具体如下: 改进了ARM/Thumb状态之间的切换效率; 允许非T变量和T变量一样,使用相同的代码生成技术; 增加计数前导零指令和软件断点指令; 对乘法指令如何设置标志作了严格的定义。,3.1 ARM简介,ARM处理器核简介,ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:,3.1 ARM简介,ARM处理器核简介ARM7,该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。 ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。,3.1 ARM简介,ARM处理器核简介ARM9,该系列包括ARM9TDMI、ARM920T和带有告诉缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。 ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。,3.1 ARM简介,ARM处理器核简介ARM10,该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。 可以用于视频游戏机和高性能打印机等场合。,3.1 ARM简介,ARM处理器核简介SecurCore,该系列涵盖了SC100、SC110、SC200和SC210处理核。该系列处理器主要针对新兴的安全市场,以一种全新的安全处理器设计为智能卡和其它安全IC开发提供独特的32位系统设计,并具有特定反伪造方法,从而有助于防止对硬件和软件的盗版。,3.1 ARM简介,ARM处理器核简介Xscale,Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。,第3章 目录,1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器,9.异常 10.中断延迟 11.复位 12.存储器及存储器映射I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介,3.2 ARM7TDMI,简介,ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM核。具有广泛的应用,其最显著的应用为数字移动电话。,注意:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。,3.2 ARM7TDMI,简介,ARM7TDMI支持32位寻址范围,并弥补了ARM6不能在低于5V电源电压下工作的不足。ARM7TDMI的后缀意义为:,3.2 ARM7TDMI,简介,ARM7TDMI处理器是ARM通用32位微处理器家族的成员之一。它具有优异的性能,但功耗却很低,使用门的数量也很少。它属于精简指令集计算机(RISC),比复杂指令集计算机(CISC)要简单得多。这样的简化实现了:,高的指令吞吐量; 出色的实时中断响应; 小的、高性价比的处理器宏单元。,3.2 ARM7TDMI,三级流水线,ARM7TDMI处理器使用流水线来增加处理器指令流的速度。这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。 ARM7TDMI的流水线分3级,分别为:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论