ucos与ARM7移植

上传人:痛*** 文档编号:120780079 上传时间:2022-07-18 格式:PPTX 页数:75 大小:4.88MB
返回 下载 相关 举报
ucos与ARM7移植_第1页
第1页 / 共75页
ucos与ARM7移植_第2页
第2页 / 共75页
ucos与ARM7移植_第3页
第3页 / 共75页
点击查看更多>>
资源描述
嵌入式系统简介Introduction to EmbeddedSystem南开大学 孙凤池 Mar.12,2007报告内容报告内容n认识嵌入式技术n嵌入式技术的起源n嵌入式技术的现状n嵌入式系统的开发nWinCE系统开发n展望与总结认识嵌入式技术认识嵌入式技术n丰富多彩的嵌入式产品n无处不在的嵌入式技术n嵌入式系统的概念n嵌入式系统的特点n嵌入式系统的结构丰富多彩的嵌入式产品丰富多彩的嵌入式产品无处不在的嵌入式技术无处不在的嵌入式技术l消费电子:数码相机、MP3、游戏机等l信息家电:数字电视、机顶盒l智能电器:能上网的冰箱、空调、洗衣机等l通信设备:手机、IP电话、网络设备等l便携设备:PDA、数据采集、测试装置等l工业设备:数控设备、过程工业控制设备l商业金融:售货机、收款机、取款机等l汽车电子:智能化汽车l航空航天:飞行器控制、外星探测器l医疗设备:CT机,电子血压计等l交通管理:GPS导航、智能监控设施l军事领域:武器控制、车载电子设备等嵌入式系统的概念嵌入式系统的概念l定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件、硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。l与通用计算机系统的不同:嵌入式系统是不同于常见计算机系统的一种计算机系统,它不以独立设备的物理形态出现,嵌入式系统的部件根据主体设备及其应用的需要,嵌入在主体设备内部,发挥着运算、处理、存储及控制的作用,是“用于控制、监视或者辅助操作机器和设备的装置”。嵌入式系统的结构嵌入式系统的结构l从体系结构来看,嵌入式系统包括两部分:1)嵌入式处理器为中心的嵌入式硬件系统;2)由嵌入式操作系统和用户应用程序组成的嵌入式软件系统。注意:与传统的嵌入式控制系统相比,现在的嵌入式系统,强调“系统”-指的是嵌入式操作系统。处理器处理器存储器存储器输入输入输出输出操作系统操作系统应用程序应用程序软件软件结构结构硬件硬件结构结构嵌入式系统的特点嵌入式系统的特点l嵌入式系统是多学科融合的结果:计算机、电子、半导体、通信、控制等;l嵌入式系统通常是面向用户、面向产品、面向特定应用,开发人员很可能是各个应用领域的专家;l产品具有较长的生命周期;l软件固化存储,OS内核小,OS和应用程序的区分不明显;l需要另外的开发工具和环境:宿主机+目标机的开发方式/集成开发环境;报告内容报告内容n认识嵌入式技术n嵌入式技术的起源n嵌入式技术的现状n嵌入式系统的开发nWinCE系统开发n展望与总结嵌入式技术的起源嵌入式技术的起源n早期的嵌入式技术n嵌入式操作系统的出现n采用嵌入式操作系统的优点早期的嵌入式技术早期的嵌入式技术l微处理器-单板机-单片机、DSP等l早期的嵌入式应用大都不采用操作系统,只是为了实现某些特定功能,使用一个简单的循环控制程序对外界的控制请求进行处理。l问题:l不利于扩展新功能;l加入网络协议栈比较麻烦;l应用程序移植性差;嵌入式操作系统的出现嵌入式操作系统的出现n随着嵌入式系统的功能要求日益复杂,硬件功能越来越强大,使用操作系统是必须的,并且可能的;nC语言被广泛用于嵌入式操作系统开发;n从20世纪80年代开始,出现了各种各样;商用嵌入式操作系统,大多为专用系统开发,从而形成了目前多种嵌入式操作系统并存的局面;n嵌入式操作系统的功能包括:任务管理、存储管理、时钟管理、进程间通信与同步、设备管理、文件系统、图形界面、网络接口等。采用嵌入式操作系统的优点采用嵌入式操作系统的优点l在嵌入式应用中使用操作系统,可以把复杂的应用分解成多个任务,简化了应用系统软件的设计;l程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能;l使控制系统的实时性得到保证;l通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用;l良好的多任务设计,有助于提高系统的稳定性和可靠性.报告内容报告内容n认识嵌入式技术n嵌入式技术的起源n嵌入式技术的现状n嵌入式系统的开发nWinCE系统开发n展望与总结嵌入式技术的现状嵌入式技术的现状n嵌入式微处理器发展现状n嵌入式操作系统发展现状n嵌入式技术市场现状嵌入式微处理器现状嵌入式微处理器现状l由于嵌入式系统应用环境比较特殊,因而嵌入式微处理器在对实时系统的支持能力、工作温度、电磁兼容性、功耗、可靠性方面的要求较通用微处理器更高;但嵌入式微处理器在基本功能方面与通用微处理器类似.嵌入式处理器分类嵌入式处理器分类l五种主流的嵌入式微处理器体系lARMXscalelMIPSlIBM的Power PClINTEL的X86lMotorola的 68000(68K)嵌入式操作系统的发展现状嵌入式操作系统的发展现状 l嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备管理、网络通信、图形界面、文件系统等模块;l嵌入式操作系统具有通用操作系统的基本特点,能够有效管理越来越复杂的系统资源;l能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;l能够提供库函数、驱动程序、工具集以及一些典型应用程序。l嵌入式操作系统可以分为两类:l面向控制、通信等领域的实时操作系统RTOS,实时系统能在确定的时间内执行其功能,并对外部的异步事件做出响应;l面向消费电子产品的非实时操作系统,这类系统用于对响应时间要求不严格的场合。n实时系统的定义:系统执行的正确性不仅取决于计算的逻辑结果,还取决于结果产生的时间。n特点:通过任务调度,使得对于重要事件在规定的时间内做出正确的响应。n硬实时系统:必须对事件做出及时的反应,绝对不能错过事件处理的时限。n软实时系统:如果在系统负荷比较严重的时候,允许发生错过时限的情况,而不会造成太大的危害。l内核是操作系统的核心程序,多任务系统中,内核负责管理各个任务:为每个任务分配CPU时间,并且负责任务之间的通信。l任务调度(Scheduler)是内核的主要职责,就是要决定运行哪一个任务。多数实时内核是基于优先级调度法的:每个任务根据其重要程度的不同被赋予一定的优先级,CPU总是让“处在就绪态的优先级最高的任务先运行”。l当系统响应时间很重要时,要使用占先式(preemptive)调度的内核:最高优先级的任务一旦就绪,总能得到CPU的控制权。l当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。l如果是中断服务程序使一个高优先级高的任务进入了就绪态,则中断完成时,原来被中断了的任务被挂起,优先级高的任务开始运行。l占先式内核的任务级响应时间是可知的。调度方式调度方式l几款主流嵌入式操作系统lVxWorkslWindows CEl嵌入式LinuxluC/OSlPalm OSlQNXVxWorksVxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的扩展能力、高性能的内核以及友好的用户开发环境。该公司在实时操作系统领域是世界公认最具有领导作用的公司。VxWorks具有很高的可靠性、实时性和可裁减性,它支持多种处理器,被广泛应用在通信、军事、航空、航天等对实时性要求极高的领域中,在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹、火星探测器上也使用到了VxWorks。VxWorksVxWorks的特点的特点l具有高性能实时微内核Wind;l友好的开发调试环境Tornado:运行在宿主机上,包含编辑器、编译器、调试器的集成开发环境;l兼容POSIX 100.1b 标准;l良好的自由配置能力;l广泛的CPU支持高性能武器中广泛应用高性能武器中广泛应用Windows CEWindows CEl Windows CE是一种针对小内存、移动式、智能化设备推出的模块化嵌入式操作系统。l由于其Windows背景,界面比较统容易接受,系统功能丰富,如具有多媒体能力、网络和通信支持、高级应用程序服务。l Win CE3.0 以前的版本实时性能不高。l 另外两种版本:Windows Mobile 和Windows AutomotiveWindows CEWindows CE的开发环境的开发环境lPlatform Builder用于定制Windows CE平台 Platform Builder能够根据用户的需求,选择构建(定制)具有不同功能配置的CE系统;定制的平台编译后,就会得到一个OS映像文件;将该文件下载到目标平台,就能够调试、运行CE系统了。lVisual Sudio.NET 2003/eMbedded Vsiual C+用于Windows CE应用程序的开发。嵌入式嵌入式LinuxLinuxl嵌入式Linux(Embedded Linux)是指对Linux经过小型化裁剪后,固化在容量只有几百K字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统。l前几年的嵌入式Linux主要有RTLinux和uCLinux两个版本。uClinux内核不关心实时性问题,可用于各种手持设备等场合,RTLinux适合处理实时任务,可用于工业控制等场合。lLinux是开放源码的,并具有内核小、功能强大、运行稳定、系统健壮、效率高、易于定制剪裁等优点,在价格上极具竞争力,因此嵌入式Linux是一种最有前途的嵌入式操作系统。嵌入式嵌入式LinuxLinux的交叉编译环境的交叉编译环境lLinux内核编译时,默认的配置是对i386平台,如果要编译其他CPU内核,要先建立针对该处理器的编译环境,包括:Linux内核源代码、GNU的C库和线程库、GNU的C编译器、连接器ld、汇编代码编译器as、用来将文件打包重组的ar以及为ar打包的文件建立符号表的ranlib等。l例如针对ARM处理器的交叉开发环境中:arm-linux-gcc是编译器,arm-linux-ld是连接器嵌入式嵌入式LinuxLinux的开发环节的开发环节l引导装载程序(BootLoader)lLinux系统内核l嵌入式设备文件系统l设备驱动程序l应用程序高 48 cm重:6 kg灵活性:20 DOF操作系统:RT-Linux接口形式:USB 1.0(12Mbps)响应周期:1ms能源:DC24V x 6.2A(150W)制造:富士通基于嵌入式基于嵌入式Linnux的电子书的电子书uc/OSuc/OSuc/OS是一个源代码公开、免费的嵌入式操作系统,是一个高实时性的多任务系统内核,其应用面覆盖了诸多领域,如照相机、网络设备、医疗器械、音响设备、高速公路电话系统、自动提款机等,并于2000年得到美国航空管理局(FAA)的认证,可以用于飞行器中。基于基于uc/OSuc/OS的产品的产品l3-Axis Motor Control Card C/OS-II Hitachi SH2 running at 29.4912 MHz 7 Tasks/10 Hz Tick RateSelf Service Terminal(SST)C/OS-II Intel 80386 CPU 33 MHz 9 Tasks 20 Hz Tick Rate基于基于uc/OSuc/OS的机器鱼的机器鱼尾鳍驱动子尾鳍驱动子系统系统GPSGPS导导航航子子系系统统罗罗盘盘定定位位子子系系统统上升下潜上升下潜子系统子系统水泵/水柜装置水泵/水柜装置机器鱼关节电机器鱼关节电机机基于ARM的嵌入式控制器基于ARM的嵌入式控制器测测距距传传感感器器压压力力深深度度传传感感器器无线通信无线通信模块模块智能机器鱼的嵌入式控制器智能机器鱼的嵌入式控制器主控计算主控计算机机机器鱼的嵌入式控制器机器鱼的嵌入式控制器uC/OS-II RTOSPalmOSPalmOSlPalm OS是Palm Computing公司为其掌上电脑产品开发的嵌入式操作系统,Palm OS在PDA市场上占有很大的市场份额,目前主要与WinCE(Pocket PC)进行激烈竞争。l采用Palm OS的掌上电脑:QNXQNXl加拿大QNX公司的产品。内核只有8K字节,QNX是一个实时的、可扩充的嵌入式操作系统,遵循POSIX(可移植操作系统接口)相关标准,QNX具有强大的图形界面功能。l应用于机顶盒、手持设备(手掌电脑、手机)、GPS设备等,在工业控制领域也有比较广泛的应用。采用采用QNXQNX的机器人的机器人“EMIEW”“EMIEW”日立公司设计,在2005年爱知世博会展出。050317hit1.mpeg050317hit2.mpeg附:手机操作系统附:手机操作系统lLinuxl微软Windows MobilelSymbine 嵌入式技术市场现状嵌入式技术市场现状l引用:“PC和因特网之后最伟大的发明”,“福特出售的计算能力已超过了IBM”l发展嵌入式软件有以下几个有利条件:1.通用软件容易被盗版,但是嵌入式软件由于固化存储的原因不易被盗版。2.和开发通用系统软件相比,嵌入式软件的开发成本低,风险小,门槛低。3.嵌入式软件和具体行业、应用联系紧密,国外垄断程度和垄断能力相对较弱。l嵌入式应用软件是除行业应用软件、软件外包之外的又一个有前途的方向嵌入式技术市场现状嵌入式技术市场现状l嵌入式技术相关的企业的运营模式:l生产、销售嵌入式系统相关产品的大公司;l提供嵌入式技术、应用解决方案的中小型技术公司;l用嵌入式技术进行生产设备改造或者产品升级的传统企业;报告内容报告内容n认识嵌入式技术n嵌入式技术的起源n嵌入式技术的现状n嵌入式系统的开发nWinCE系统开发n展望与总结嵌入式系统的开发嵌入式系统的开发n设计流程n软件开发调试方式n宿主机-目标机开发模式n嵌入式软件集成开发环境n操作系统移植n系统定制nBoot Loader设计nBSP的概念设计流程设计流程l系统需求分析:分功能性需求和非功能性需求两方面.l体系结构设计:对硬件、软件和执行装置的功能划分,对操作系统、微处理器选型.l硬件/软件协同设计:软硬件设计工作并行;采用基于开发平台的方式进行硬件开发;大部分工作集中在软件设计上,采用标准化的软件设计方法.l系统集成与测试软件开发调试方式软件开发调试方式l在线仿真器 使用仿真头代替目标板上的CPU,可以完全仿真ARM芯片的行为,速度快。但结构较复杂,价格昂贵,通常用于ARM硬件开发中。lJTAG仿真器 通过ARM芯片的JTAG边界扫描口与ARM内核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段。l指令集模拟器l驻留监控软件宿主机宿主机-目标机开发模式目标机开发模式嵌入式软件集成开发环境嵌入式软件集成开发环境l集成开发环境(IDE)的意义:加快开发进度,节省开发成本。lIDE集成了丰富的功能模块和资源:编辑、编译、连接、调试、工程管理、函数库等。l例如:ARM SDT(ARM Software Development Toolkit)用于在ARM微处理器上进行应用软件开发的集成开发工具,由ARM公司提供,可以直接用于uC/OS系统移植和应用程序开发。lARM SDT 可以在多个系统平台上运行,可以支持C语言和汇编语言。嵌入式操作系统的移植嵌入式操作系统的移植l操作系统的移植,是指使一个实时操作系统能够在某个微处理器平台上运行。l操作系统移植成功的要求:l微处理器能够支持l编译器能够支持l移植步骤和移植工作复杂程度,因选定的嵌入式操作系统而异。举例:移植举例:移植 COS-IICOS-II所需条件所需条件 n处理器的C编译器能产生可重入代码;n在程序中可以打开或者关闭中断;n处理器支持中断,并且能产生定时中断(通常在10-100Hz之间);n处理器支持能够容纳一定量数据的硬件堆栈;n处理器有将堆栈指针和其他CPU寄存器存储和读出到堆栈(或者内存)的指令.移植移植 C/OS-IIC/OS-II所需工作所需工作l在includes.h中设置与处理器和编译器相关的代码 l用C语言编写六个操作系统相关的函数(OS_CPU_C.C)l用汇编语言编写四个与处理器相关的函数(OS_CPU.ASM)系统定制系统定制l嵌入式操作系统的定制:用户可以根据自己系统的功能需求,通过交叉开发环境对操作系统进行配置,保留所需要的功能,删除不需要的功能,以节省硬件存储空间。l定制方式:l选择组件方式l条件编译方式l在编译之前定制Boot LoaderBoot Loader的设计的设计lBootLoader是嵌入式系统最底层的引导软件,它在系统加电后初始化主板的基本设置,为接收外部程序做硬件上的准备。lBootLoader是一段单独的程序代码,它存放于目标平台的非易失存储介质中,如ROM或Flash ROMlBoot Loader的作用l硬件系统自检;l配置其他存储体或者端口、外设的工作模式;l处理系统的中断;lFlash ROM编程、映像文件下载;l接收用户命令,参数和数据的设置、存储和传递.l引导操作系统lBootLoader 设计方法l从操作系统厂商提供的例程中寻找与硬件平台最接近的作为标本程序,然后再根据自己的硬件平台做相应的改动。l一些新的评估板可能会由供应商或者第三方的厂商来提供Bootloader。如果硬件平台是从这样的基板设计而来,寻求厂商获取Bootloader来移植,可以减少工作量。l参考其他来源的近似系统的设计。l编写BootLoader是开发第一步。BSP的概念的概念lBSP是板级支持包,是介于主板硬件和操作系统之间的层次,是操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。lBSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,BSP一定要按照该系统BSP的定义形式来写,才能与上层OS保持正确的接口。l通常,BSP包括硬件适配层和设备驱动程序,其编程过程大多数是在某一个成型的BSP模板上进行修改。报告内容报告内容n认识嵌入式技术n嵌入式技术的起源n嵌入式技术的现状n嵌入式系统的开发nWinCE系统开发n展望与总结WinCE系统开发的环节系统开发的环节l操作系统定制lBootLoader开发l硬件适配层(OAL)开发l驱动程序开发l应用程序设计WinCE应用程序开发应用程序开发lWinCE支持本地应用程序和托管应用程序:lNative application:开发工具是Embedded Visual C+lManaged application:开发工具是Visaul Studio.NET开发环境比较开发环境比较lEmbedded Visual C+:l直接编译C/C+代码到CPU指令l可使用Win32API应用程序接口存取Windows CE 函数l可使用MFC(Microsoft Foundation Classes)及ATL(Active Template Library)库函数开发GUI和COM应用程序lVisual Studio.NET:l编译成独立于CPU的中间语言代码l托管应用程序不直接使用Win32APIl必须通过.NET Compact Framework库才能访问操作系统功能本地(Native)应用程序开发l从Platform Builder导出 SDK(Software Development Kit);l使用 eVC进行开发前要安装SDK;lWin32编程开发。注:若只是进行应用程序开发,只要工作站上有eVC,就可以安装SDK,而不必要安装Platform Builder.关于关于SDKlSDK包含了一个特定平台的所有函数,SDK决定于包含在平台中的操作系统配置、运行时库、OAL(OEM Adaption Layer)、和设备驱动程序;l导出的SDK是一个Windows安装程序(.msi文件);l在使用eVC进行开发前,必须安装特定平台的SDK,而且进行开发时必须了解特定平台支持的函数,SDK中不包括的函数不能使用;lMicorosoft提供了一些SDK,如Standard SDK、Pocket PC2003、SmartPhone2003等等。开发人员可以使用这些SDK进行相应程序开发,程序中使用的函数需要在这些SDK中支持的范围以内。报告内容报告内容n认识嵌入式技术n嵌入式技术的起源n嵌入式技术的现状n嵌入式系统的开发nWinCE系统开发n展望与总结展望展望l软件设计比重日益突出;l采用组件设计技术;lSOC是发展趋势;l硬件软件化。总结总结l嵌入式系统开发与桌面应用开发存在很大区别,软件和系统平台紧密相关;l嵌入式系统将迅速普及和发展,但不会取代传统的单片机嵌入式测控系统,二者的发展空间并不冲突;l嵌入式系统设计开发中的处理器、操作系统选择。Thank you!演讲完毕,谢谢观看!
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!