《嵌入式系统开发流程.pptx》由会员分享,可在线阅读,更多相关《嵌入式系统开发流程.pptx(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统开发流程嵌入式系统开发流程广义上讲,凡是带有广义上讲,凡是带有微处理器微处理器的的专用软硬专用软硬件系统件系统都可称为嵌入式系统。如各类都可称为嵌入式系统。如各类单片单片机和机和DSPDSP系统系统。这些系统在完成较为单一的。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件和软件他们没有操作系统,管理系统硬件和软件的能力有限,在实现复杂多任务功能时,的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现往往困难重重,甚至无法实现从狭义上讲,那些使用从狭义上讲,那些使用嵌入式微处理器嵌入式微处理器构构
2、成独立系统,具有自己成独立系统,具有自己操作系统操作系统,具有特,具有特定功能,用于特定场合的专用软硬件系统定功能,用于特定场合的专用软硬件系统称为嵌入式系统。称为嵌入式系统。9.1 嵌入式系统简介第1页/共52页嵌入式系统的几个重要特征 1.1.系统内核小:系统内核小:由于嵌入式系统一般是应用由于嵌入式系统一般是应用于小型电子装置的,系统资源于小型电子装置的,系统资源相对有限,所以内核较之传统相对有限,所以内核较之传统的操作系统要小得多。的操作系统要小得多。第2页/共52页2.2.专用性强:专用性强:嵌入式系统的个性化很强,嵌入式系统的个性化很强,其中的软件系统和硬件的结合其中的软件系统和硬
3、件的结合非常紧密,一般要针对硬件进非常紧密,一般要针对硬件进行行系统的移植系统的移植。即使在同一品牌、同一系列即使在同一品牌、同一系列的产品中也需要根据系统硬件的产品中也需要根据系统硬件的变化和增减不断进行的变化和增减不断进行修改修改。同时针对不同的任务,往往同时针对不同的任务,往往需要对系统进行较大更改,程需要对系统进行较大更改,程序的编译下载要和系统相结合,序的编译下载要和系统相结合,这种修改和通用软件的这种修改和通用软件的“升级升级”是完全不同的概念。是完全不同的概念。第3页/共52页3.系统精简:系统精简:嵌入式系统一般没有嵌入式系统一般没有嵌入式系统一般没有嵌入式系统一般没有系统软件
4、系统软件系统软件系统软件和和和和应用软件应用软件应用软件应用软件的明显区分,不要求其功能的明显区分,不要求其功能的明显区分,不要求其功能的明显区分,不要求其功能设计及实现上过于复杂,这样一方面设计及实现上过于复杂,这样一方面设计及实现上过于复杂,这样一方面设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现利于控制系统成本,同时也利于实现利于控制系统成本,同时也利于实现利于控制系统成本,同时也利于实现系统安全。系统安全。系统安全。系统安全。第4页/共52页4.高实时性高实时性OS:这是嵌入式软件的基本要求,而这是嵌入式软件的基本要求,而这是嵌入式软件的基本要求,而这是嵌入式软件的基
5、本要求,而且软件要求且软件要求且软件要求且软件要求固态存储固态存储固态存储固态存储,以提高速度。,以提高速度。,以提高速度。,以提高速度。软件代码要求高质量和高可靠性、实软件代码要求高质量和高可靠性、实软件代码要求高质量和高可靠性、实软件代码要求高质量和高可靠性、实时性。时性。时性。时性。第5页/共52页5.嵌入式软件开发走向标准化:嵌入式软件开发走向标准化:嵌入式系统的应用程序可以嵌入式系统的应用程序可以没有操作系统没有操作系统直接在芯片上运直接在芯片上运行行。为了合理地调度多任务、利为了合理地调度多任务、利用系统资源、系统函数以及和用系统资源、系统函数以及和专家库函数接口,用户必须自专家库
6、函数接口,用户必须自行选配行选配RTOSRTOS(RealRealTime Time Operating SystemOperating System)开发平台,)开发平台,这样才能保证程序执行的实时这样才能保证程序执行的实时性、可靠性,并减少开发时间,性、可靠性,并减少开发时间,保障软件质量。保障软件质量。第6页/共52页6.嵌入式系统需要开发工具和环境:嵌入式系统需要开发工具和环境:由于其本身不具备自主开发由于其本身不具备自主开发能力,即使设计完成以后,用能力,即使设计完成以后,用户通常也是不能对其中的程序户通常也是不能对其中的程序功能进行修改,必须有一套功能进行修改,必须有一套开开发工具
7、发工具和和环境环境才能进行开发。才能进行开发。这些工具和环境一般是基于这些工具和环境一般是基于通用计算机上的软硬件设备以通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号及各种逻辑分析仪、混合信号示波器等。开发时往往有示波器等。开发时往往有主机主机和和目标机目标机的概念,主机用于程的概念,主机用于程序的开发,目标机作为最后的序的开发,目标机作为最后的执行机,开发时需要交替结合执行机,开发时需要交替结合进行。进行。第7页/共52页9.2 嵌入式系统的组成第8页/共52页嵌入式系统由嵌入式系统由嵌入式硬件嵌入式硬件与与嵌嵌入式软件入式软件组成。组成。嵌入式硬件嵌入式硬件以芯片、模板、组以芯片、模
8、板、组件、控制器形式埋藏于设备内件、控制器形式埋藏于设备内部。部。嵌入式软件嵌入式软件是实时多任务操作是实时多任务操作系统和各种专用软件,一般固系统和各种专用软件,一般固化在化在ROMROM或闪存或闪存中。中。嵌入式系统嵌入式系统软硬兼施,融为一软硬兼施,融为一体,成为产品,但在开发过程体,成为产品,但在开发过程中需要一些开发工具进行辅助中需要一些开发工具进行辅助开发。开发。第9页/共52页嵌入式系统的整体架构第10页/共52页嵌入式微处理器对对实时多任务实时多任务有很强的支持能力,有很强的支持能力,能完成多任务并且有较短的中断能完成多任务并且有较短的中断响应时间,从而使内部的代码和响应时间,
9、从而使内部的代码和实时内核的执行时间减少到最低实时内核的执行时间减少到最低限度限度。具有功能很强的具有功能很强的存储区保护存储区保护功能。功能。这是由于嵌入式系统的软件结构这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模已模块化,而为了避免在软件模块之间出现错误的交叉作用,需块之间出现错误的交叉作用,需要设计强大的存储区保护功能,要设计强大的存储区保护功能,同时也有利于软件诊断。同时也有利于软件诊断。第11页/共52页嵌入式微处理器可扩展的可扩展的处理器结构,能迅速地处理器结构,能迅速地开发出满足应用需求的产品。开发出满足应用需求的产品。嵌入式微处理器必须嵌入式微处理器必须功耗很低功耗
10、很低,尤其是用于便携式的无线及移动尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要的嵌入式系统更是如此,如需要功耗只有功耗只有mWmW甚至甚至WW级。级。第12页/共52页嵌入式微处理器分类第13页/共52页嵌入式系统硬件核心是嵌入式处理器。嵌入式系统硬件核心是嵌入式处理器。嵌入式系统硬件核心是嵌入式处理器。嵌入式系统硬件核心是嵌入式处理器。嵌入式处理器可以分为四类:嵌入式处理器可以分为四类:嵌入式处理器可以分为四类:嵌入式处理器可以分为四类:嵌入式微处理器嵌入式微处理器嵌入式微处理器嵌入式微处理器EMPUEMPUEMPUEMPU
11、 (Embedded Microprocessor UnitEmbedded Microprocessor UnitEmbedded Microprocessor UnitEmbedded Microprocessor Unit)嵌入式微控制器嵌入式微控制器嵌入式微控制器嵌入式微控制器EMCUEMCUEMCUEMCU (Embedded Microcontroller UnitEmbedded Microcontroller UnitEmbedded Microcontroller UnitEmbedded Microcontroller Unit)嵌入式数字信号处理器嵌入式数字信号处理器嵌入
12、式数字信号处理器嵌入式数字信号处理器EDSPEDSPEDSPEDSP (Embedded Digital Signal ProcessorEmbedded Digital Signal ProcessorEmbedded Digital Signal ProcessorEmbedded Digital Signal Processor)嵌入式片上系统嵌入式片上系统嵌入式片上系统嵌入式片上系统ESoC ESoC ESoC ESoC (Embedded System on ChipEmbedded System on ChipEmbedded System on ChipEmbedded Syst
13、em on Chip)嵌入式系统硬件核心第14页/共52页嵌入式微处理器EMPU嵌入式微处理器嵌入式微处理器嵌入式微处理器嵌入式微处理器就是和通用计算机的微处理器对就是和通用计算机的微处理器对就是和通用计算机的微处理器对就是和通用计算机的微处理器对应的应的应的应的CPUCPU。在应用中,一般是将微处理器装配在。在应用中,一般是将微处理器装配在。在应用中,一般是将微处理器装配在。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式专门设计的电路板上,在母板上只保留和嵌入式专门设计的电路板上,在母板上只保留和嵌入式专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样
14、可以满足嵌入式系统体积相关的功能即可,这样可以满足嵌入式系统体积相关的功能即可,这样可以满足嵌入式系统体积相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。小和功耗低的要求。小和功耗低的要求。小和功耗低的要求。嵌入式微处理器制造商:嵌入式微处理器制造商:嵌入式微处理器制造商:嵌入式微处理器制造商:摩托罗拉、英特尔、摩托罗拉、英特尔、摩托罗拉、英特尔、摩托罗拉、英特尔、IBMIBM、日立、日立、日立、日立、NECNEC、东芝、东芝、东芝、东芝、AMDAMD、国家半导体、国家半导体、国家半导体、国家半导体、ZilogZilog、IDTIDT、富士通、富士通、富士通、富士通、AtmelAt
15、mel、太阳、微系统、太阳、微系统、太阳、微系统、太阳、微系统、夏普、夏普、夏普、夏普、OkiOki、飞利浦等。、飞利浦等。、飞利浦等。、飞利浦等。主要的嵌入式微处理器包括:主要的嵌入式微处理器包括:主要的嵌入式微处理器包括:主要的嵌入式微处理器包括:Motorola Motorola PowerPCPowerPC、Intel PentiumIntel Pentium、Motorola 68000Motorola 68000、strong ARMstrong ARM、MIPSMIPS、AMD X86AMD X86系列等等。系列等等。系列等等。系列等等。第15页/共52页嵌入式微控制器嵌入式微控
16、制器嵌入式微控制器嵌入式微控制器又称为又称为又称为又称为单片机单片机单片机单片机,它将,它将,它将,它将CPUCPUCPUCPU、存、存、存、存储器(少量的储器(少量的储器(少量的储器(少量的RAMRAMRAMRAM、ROMROMROMROM或两者都有)和其它或两者都有)和其它或两者都有)和其它或两者都有)和其它外设接口封装在同一片集成电路里。外设接口封装在同一片集成电路里。外设接口封装在同一片集成电路里。外设接口封装在同一片集成电路里。嵌入式微控制器制造商嵌入式微控制器制造商嵌入式微控制器制造商嵌入式微控制器制造商:摩托罗拉摩托罗拉摩托罗拉摩托罗拉、英特尔英特尔英特尔英特尔、英飞凌科技、英飞
17、凌科技、英飞凌科技、英飞凌科技、AtmelAtmelAtmelAtmel、日立、日立、日立、日立、NECNECNECNEC、三菱、东、三菱、东、三菱、东、三菱、东芝、松下、芝、松下、芝、松下、芝、松下、MicrochipMicrochipMicrochipMicrochip、富士、飞利浦、德州、富士、飞利浦、德州、富士、飞利浦、德州、富士、飞利浦、德州仪器、三星、三洋、索尼、仪器、三星、三洋、索尼、仪器、三星、三洋、索尼、仪器、三星、三洋、索尼、OkiOkiOkiOki、凌阳科技等。、凌阳科技等。、凌阳科技等。、凌阳科技等。主要的嵌入式微控制器包括:主要的嵌入式微控制器包括:主要的嵌入式微控制
18、器包括:主要的嵌入式微控制器包括:MCS-51MCS-51MCS-51MCS-51、MCS-MCS-MCS-MCS-251251251251、MCS-96/196/296MCS-96/196/296MCS-96/196/296MCS-96/196/296、P51XAP51XAP51XAP51XA、C166/167C166/167C166/167C166/167、68K68K68K68K、Z8Z8Z8Z8、C540C540C540C540、PICPICPICPIC、AVRAVRAVRAVR等系列。等系列。等系列。等系列。嵌入式微控制器EMCU第16页/共52页嵌入式嵌入式DSPDSP专门用来对离
19、散时间信号进行极专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。快的处理计算,提高编译效率和执行速度。在数字滤波、在数字滤波、FFTFFT、谱分析、图像处理等领、谱分析、图像处理等领域应用广泛。域应用广泛。DSPDSP正在大量进入嵌入式市场,目前广泛应正在大量进入嵌入式市场,目前广泛应用的是用的是TITI产品产品TMS320C2000TMS320C2000/C5000/C5000系列,系列,另外另外IntelIntel和和SiemensSiemens也有相应的产品。也有相应的产品。嵌入式数字信号处理器EDSP第17页/共52页ESoCESoCESoCESoC:在一个硅片上实现
20、一个更为复杂的系在一个硅片上实现一个更为复杂的系在一个硅片上实现一个更为复杂的系在一个硅片上实现一个更为复杂的系统。统。统。统。各种通用处理器内核将作为各种通用处理器内核将作为各种通用处理器内核将作为各种通用处理器内核将作为SoCSoCSoCSoC设计公司的标设计公司的标设计公司的标设计公司的标准库,成为准库,成为准库,成为准库,成为 VLSIVLSIVLSIVLSI设计中一种标准的器件,用设计中一种标准的器件,用设计中一种标准的器件,用设计中一种标准的器件,用标准的标准的标准的标准的VHDLVHDLVHDLVHDL等语言描述。等语言描述。等语言描述。等语言描述。用户只需定义出整个应用系统,仿
21、真通过后,用户只需定义出整个应用系统,仿真通过后,用户只需定义出整个应用系统,仿真通过后,用户只需定义出整个应用系统,仿真通过后,就可以将设计图交给半导体工厂制作样品。就可以将设计图交给半导体工厂制作样品。就可以将设计图交给半导体工厂制作样品。就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个这样除个别无法集成的器件以外,整个这样除个别无法集成的器件以外,整个这样除个别无法集成的器件以外,整个嵌入嵌入嵌入嵌入式系统大部分均可集成到一块或几块芯片中式系统大部分均可集成到一块或几块芯片中式系统大部分均可集成到一块或几块芯片中式系统大部分均可集成到一块或几块芯片中去去去去,应用
22、系统电路板将变得很简洁,对于减,应用系统电路板将变得很简洁,对于减,应用系统电路板将变得很简洁,对于减,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。小体积和功耗、提高可靠性非常有利。小体积和功耗、提高可靠性非常有利。小体积和功耗、提高可靠性非常有利。嵌入式片上系统ESoC 第18页/共52页嵌入式系统软件核心包括:嵌入式系统软件核心包括:系统软件系统软件:嵌入式操作系统:嵌入式操作系统 支撑软件支撑软件:嵌入式软件开发平台及工嵌入式软件开发平台及工嵌入式软件开发平台及工嵌入式软件开发平台及工具具具具 应用软件应用软件:嵌入式应用软件:嵌入式应用软件 嵌入式系统软件核心第
23、19页/共52页1 1 1 1软件要求固态化存储软件要求固态化存储软件要求固态化存储软件要求固态化存储 为了提高执行速度和系统可靠性,嵌入式系统为了提高执行速度和系统可靠性,嵌入式系统为了提高执行速度和系统可靠性,嵌入式系统为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本中的软件一般都固化在存储器芯片或单片机本中的软件一般都固化在存储器芯片或单片机本中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮在磁盘中。身中,而不是存贮在磁盘中。身中,而不是存贮在磁盘中。身中,而不是存贮在磁盘中。2 2 2 2软件代码高质量、高可靠性软件代码高质量、高可靠性软件代码高
24、质量、高可靠性软件代码高质量、高可靠性 尽管半导体技术的发展使处理器速度不断提高、尽管半导体技术的发展使处理器速度不断提高、尽管半导体技术的发展使处理器速度不断提高、尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,片上存储器容量不断增加,但在大多数应用中,片上存储器容量不断增加,但在大多数应用中,片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。存储空间仍然是宝贵的,还存在实时性的要求。存储空间仍然是宝贵的,还存在实时性的要求。存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以为此要求程序编写
25、和编译工具的质量要高,以为此要求程序编写和编译工具的质量要高,以为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。减少程序二进制代码长度、提高执行速度。减少程序二进制代码长度、提高执行速度。减少程序二进制代码长度、提高执行速度。嵌入式系统软件的特征第20页/共52页3 3 3 3操作系统软件具有高实时性操作系统软件具有高实时性操作系统软件具有高实时性操作系统软件具有高实时性 在在在在多多多多任任任任务务务务嵌嵌嵌嵌入入入入式式式式系系系系统统统统中中中中,对对对对各各各各项项项项任任任任务务务务进进进进行行行行统统统统筹筹筹筹兼兼兼兼顾顾顾顾、合合合合理理理理调调调
26、调度度度度是是是是保保保保证证证证系系系系统统统统功功功功能能能能的的的的关关关关键键键键,单单单单纯纯纯纯提提提提高高高高处处处处理理理理器器器器的的的的速速速速度度度度是是是是无无无无法法法法完完完完成成成成这这这这些些些些要要要要求求求求的的的的,也也也也是是是是没没没没有有有有效效效效率率率率的的的的,这这这这种种种种任任任任务务务务调调调调度度度度只只只只能能能能由由由由优优优优化化化化编编编编写写写写的的的的系系系系统统统统软软软软件件件件来来来来完完完完成成成成,因因因因此此此此操操操操作作作作系系系系统统统统软软软软件件件件的的的的高高高高实实实实时性是基本要求。时性是基本要求
27、。时性是基本要求。时性是基本要求。4 4 4 4 嵌入式系统应用语言:嵌入式系统应用语言:嵌入式系统应用语言:嵌入式系统应用语言:据统计,在嵌入式系统设计中,最受欢迎的前据统计,在嵌入式系统设计中,最受欢迎的前据统计,在嵌入式系统设计中,最受欢迎的前据统计,在嵌入式系统设计中,最受欢迎的前3 3 3 3种编程语言分别是种编程语言分别是种编程语言分别是种编程语言分别是C C C C(74.6%)(74.6%)(74.6%)(74.6%)、汇编汇编汇编汇编(69.6%)(69.6%)(69.6%)(69.6%)和和和和C+C+C+C+(50.1%)(50.1%)(50.1%)(50.1%)。嵌入式
28、系统软件的特征第21页/共52页通用计算机具有完善的操作系统通用计算机具有完善的操作系统通用计算机具有完善的操作系统通用计算机具有完善的操作系统,应用程序,应用程序,应用程序,应用程序的开发以及完成后的软件都在的开发以及完成后的软件都在的开发以及完成后的软件都在的开发以及完成后的软件都在OSOSOSOS平台上面运平台上面运平台上面运平台上面运行,但一般不是实时的。行,但一般不是实时的。行,但一般不是实时的。行,但一般不是实时的。嵌入式系统则不同,应用程序用汇编语言和嵌入式系统则不同,应用程序用汇编语言和嵌入式系统则不同,应用程序用汇编语言和嵌入式系统则不同,应用程序用汇编语言和C C C C语
29、言来开发,可以没有操作系统直接在芯片语言来开发,可以没有操作系统直接在芯片语言来开发,可以没有操作系统直接在芯片语言来开发,可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用上运行;但是为了合理地调度多任务、利用上运行;但是为了合理地调度多任务、利用上运行;但是为了合理地调度多任务、利用系统资源,用户必须自行系统资源,用户必须自行系统资源,用户必须自行系统资源,用户必须自行选配选配选配选配RTOSRTOSRTOSRTOS开发平台开发平台开发平台开发平台,这样才能保证程序执行的实时性、可靠性,这样才能保证程序执行的实时性、可靠性,这样才能保证程序执行的实时性、可靠性,这样才能保证程
30、序执行的实时性、可靠性,并减少开发时间,保障软件质量。并减少开发时间,保障软件质量。并减少开发时间,保障软件质量。并减少开发时间,保障软件质量。嵌入式实时操作系统第22页/共52页一般来说,操作系统内核只提供基本的功能,如建立一般来说,操作系统内核只提供基本的功能,如建立一般来说,操作系统内核只提供基本的功能,如建立一般来说,操作系统内核只提供基本的功能,如建立和管理进程、管理设备等。但是,一些桌面操作系统,和管理进程、管理设备等。但是,一些桌面操作系统,和管理进程、管理设备等。但是,一些桌面操作系统,和管理进程、管理设备等。但是,一些桌面操作系统,如如如如WindowsWindowsWind
31、owsWindows等,将许多功能引入内核,操作系统的内核等,将许多功能引入内核,操作系统的内核等,将许多功能引入内核,操作系统的内核等,将许多功能引入内核,操作系统的内核变得越来越大。内核变大使得占用的资源增多,变得越来越大。内核变大使得占用的资源增多,变得越来越大。内核变大使得占用的资源增多,变得越来越大。内核变大使得占用的资源增多,剪裁剪裁剪裁剪裁起来很麻烦起来很麻烦起来很麻烦起来很麻烦。嵌入式操作系统采用嵌入式操作系统采用嵌入式操作系统采用嵌入式操作系统采用微内核结构微内核结构微内核结构微内核结构,内核只提供基本的,内核只提供基本的,内核只提供基本的,内核只提供基本的功能,比如:任务的
32、调度、任务之间的通信与同步、功能,比如:任务的调度、任务之间的通信与同步、功能,比如:任务的调度、任务之间的通信与同步、功能,比如:任务的调度、任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,比如网络内存管理、时钟管理等。其它的应用组件,比如网络内存管理、时钟管理等。其它的应用组件,比如网络内存管理、时钟管理等。其它的应用组件,比如网络功能、文件系统等均工作在用户态,以系统进程或函功能、文件系统等均工作在用户态,以系统进程或函功能、文件系统等均工作在用户态,以系统进程或函功能、文件系统等均工作在用户态,以系统进程或函数调用的方式工作。因而系统都是可裁减的,用户可数调用的方式工作。因
33、而系统都是可裁减的,用户可数调用的方式工作。因而系统都是可裁减的,用户可数调用的方式工作。因而系统都是可裁减的,用户可以根据自己的需要选用相应的组件。以根据自己的需要选用相应的组件。以根据自己的需要选用相应的组件。以根据自己的需要选用相应的组件。嵌入式实时操作系统特点嵌入式实时操作系统特点 1 1微内核结构微内核结构第23页/共52页任务的调度有三种方式任务的调度有三种方式任务的调度有三种方式任务的调度有三种方式:可抢占式调度可抢占式调度可抢占式调度可抢占式调度、不可抢占式调不可抢占式调不可抢占式调不可抢占式调度度度度和和和和时间片轮转调度时间片轮转调度时间片轮转调度时间片轮转调度。不可抢占式
34、调度:不可抢占式调度:不可抢占式调度:不可抢占式调度:一个任务一旦获得一个任务一旦获得一个任务一旦获得一个任务一旦获得CPUCPUCPUCPU就独占就独占就独占就独占CPUCPUCPUCPU运行,运行,运行,运行,除非由于某种原因,它决定放弃除非由于某种原因,它决定放弃除非由于某种原因,它决定放弃除非由于某种原因,它决定放弃CPUCPUCPUCPU的使用权;的使用权;的使用权;的使用权;可抢占式调度:可抢占式调度:可抢占式调度:可抢占式调度:基于任务优先级,当前正在运行的任务基于任务优先级,当前正在运行的任务基于任务优先级,当前正在运行的任务基于任务优先级,当前正在运行的任务可以随时让位给优先
35、级更高的处于就绪态的其它任务;可以随时让位给优先级更高的处于就绪态的其它任务;可以随时让位给优先级更高的处于就绪态的其它任务;可以随时让位给优先级更高的处于就绪态的其它任务;时间片轮转调度:时间片轮转调度:时间片轮转调度:时间片轮转调度:当两个或两个以上任务有当两个或两个以上任务有当两个或两个以上任务有当两个或两个以上任务有同样的优先同样的优先同样的优先同样的优先级级级级,不同任务轮转地使用,不同任务轮转地使用,不同任务轮转地使用,不同任务轮转地使用CPUCPUCPUCPU,直到系统分配的,直到系统分配的,直到系统分配的,直到系统分配的CPUCPUCPUCPU时间时间时间时间片用完。片用完。片
36、用完。片用完。目前,大多数嵌入式操作系统对不同优先级的任务采用目前,大多数嵌入式操作系统对不同优先级的任务采用目前,大多数嵌入式操作系统对不同优先级的任务采用目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的基于优先级的基于优先级的基于优先级的抢占式调度法抢占式调度法抢占式调度法抢占式调度法,对相同优先级的任务则采,对相同优先级的任务则采,对相同优先级的任务则采,对相同优先级的任务则采用用用用时间片轮转调度法时间片轮转调度法时间片轮转调度法时间片轮转调度法。嵌入式实时操作系统特点嵌入式实时操作系统特点 2 2任务调度任务调度第24页/共52页多数嵌入式系统对时间的要求较高,称之为多数
37、嵌入式系统对时间的要求较高,称之为多数嵌入式系统对时间的要求较高,称之为多数嵌入式系统对时间的要求较高,称之为实时实时实时实时系统系统系统系统。有两种类型的实时系统:有两种类型的实时系统:有两种类型的实时系统:有两种类型的实时系统:硬实时系统硬实时系统硬实时系统硬实时系统和和和和软实时系软实时系软实时系软实时系统统统统。软实时系统软实时系统软实时系统软实时系统并不要求限定某一任务必须在一定的并不要求限定某一任务必须在一定的并不要求限定某一任务必须在一定的并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;时间内完成,只要求各任务运行得越快越好;时间内完成,只要求各任务运行得
38、越快越好;时间内完成,只要求各任务运行得越快越好;硬实时系统硬实时系统硬实时系统硬实时系统对系统响应时间有严格要求,一旦系对系统响应时间有严格要求,一旦系对系统响应时间有严格要求,一旦系对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或统响应时间不能满足,就可能会引起系统崩溃或统响应时间不能满足,就可能会引起系统崩溃或统响应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。致命的错误,一般在工业控制中应用较多。致命的错误,一般在工业控制中应用较多。致命的错误,一般在工业控制中应用较多。嵌入式实时操作系统特点嵌入式实时操作系统特点 3 3硬实时和软
39、实时硬实时和软实时第25页/共52页一些桌面操作系统使用了一些桌面操作系统使用了一些桌面操作系统使用了一些桌面操作系统使用了虚拟存储器虚拟存储器虚拟存储器虚拟存储器的概念。采用的概念。采用的概念。采用的概念。采用段式管理、页式管理、或段页式管理。段式管理、页式管理、或段页式管理。段式管理、页式管理、或段页式管理。段式管理、页式管理、或段页式管理。但是,大多数但是,大多数但是,大多数但是,大多数嵌入式系统不使用虚存技术嵌入式系统不使用虚存技术嵌入式系统不使用虚存技术嵌入式系统不使用虚存技术,对内存,对内存,对内存,对内存的访问是直接的,使用物理地址;而且,大多数的访问是直接的,使用物理地址;而且
40、,大多数的访问是直接的,使用物理地址;而且,大多数的访问是直接的,使用物理地址;而且,大多数嵌入式操作系统对内存空间没有保护,各个进程嵌入式操作系统对内存空间没有保护,各个进程嵌入式操作系统对内存空间没有保护,各个进程嵌入式操作系统对内存空间没有保护,各个进程共享同一个运行空间。一个进程在执行前,系统共享同一个运行空间。一个进程在执行前,系统共享同一个运行空间。一个进程在执行前,系统共享同一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载必须为它分配足够的连续地址空间,然后全部载必须为它分配足够的连续地址空间,然后全部载必须为它分配足够的连续地址空间,然后全部载入主
41、存储器。入主存储器。入主存储器。入主存储器。由此可见,嵌入式系统的开发人员必须由此可见,嵌入式系统的开发人员必须由此可见,嵌入式系统的开发人员必须由此可见,嵌入式系统的开发人员必须参与参与参与参与系统的系统的系统的系统的内存管理,内存管理,内存管理,内存管理,对软件中的一些内存操作必须格外小对软件中的一些内存操作必须格外小对软件中的一些内存操作必须格外小对软件中的一些内存操作必须格外小心心心心。嵌入式实时操作系统特点嵌入式实时操作系统特点 4 4内存管理内存管理第26页/共52页嵌入式操作系统内核可以在嵌入式操作系统内核可以在嵌入式操作系统内核可以在嵌入式操作系统内核可以在FlashFlash
42、FlashFlash上直接运行,也可以上直接运行,也可以上直接运行,也可以上直接运行,也可以加载加载加载加载到内存到内存到内存到内存中运行。中运行。中运行。中运行。FlashFlashFlashFlash的运行方式的运行方式的运行方式的运行方式,是把内核的可执行映像烧写到,是把内核的可执行映像烧写到,是把内核的可执行映像烧写到,是把内核的可执行映像烧写到FlashFlashFlashFlash上,系统上,系统上,系统上,系统启动时从启动时从启动时从启动时从FlashFlashFlashFlash的某个地址开始执行。这种方法实际上是很多嵌入的某个地址开始执行。这种方法实际上是很多嵌入的某个地址开
43、始执行。这种方法实际上是很多嵌入的某个地址开始执行。这种方法实际上是很多嵌入式系统所采用的方法。式系统所采用的方法。式系统所采用的方法。式系统所采用的方法。内核加载方式内核加载方式内核加载方式内核加载方式是把内核的压缩文件存放在是把内核的压缩文件存放在是把内核的压缩文件存放在是把内核的压缩文件存放在FlashFlashFlashFlash上,系统启动时读上,系统启动时读上,系统启动时读上,系统启动时读取压缩文件在内存里解压,然后开始执行。这种方式相对复杂一取压缩文件在内存里解压,然后开始执行。这种方式相对复杂一取压缩文件在内存里解压,然后开始执行。这种方式相对复杂一取压缩文件在内存里解压,然后
44、开始执行。这种方式相对复杂一些,但是运行速度可能更快,因为些,但是运行速度可能更快,因为些,但是运行速度可能更快,因为些,但是运行速度可能更快,因为RAMRAMRAMRAM的存取速率要比的存取速率要比的存取速率要比的存取速率要比FlashFlashFlashFlash高。高。高。高。嵌入式实时操作系统特点嵌入式实时操作系统特点 5 5内核加载方式内核加载方式第27页/共52页常见的实时操作系统 国内国内国内国内RTOSRTOS:女娲女娲女娲女娲HopenHopen桑夏桑夏桑夏桑夏20002000Delta OSDelta OS中软中软中软中软Linux2.0Linux2.0Linux Hard
45、HatLinux HardHatLinux(Monta Vista)Linux(Monta Vista)Red Flag LinuxRed Flag Linux(红旗(红旗(红旗(红旗LinuxLinux)HBOSHBOS(“天堂之鸟天堂之鸟天堂之鸟天堂之鸟”)SuseSuseRed HatRed HatEmbedixEmbedixLynxOS(LynuxWorks)LynxOS(LynuxWorks)第28页/共52页常见的实时操作系统 国外国外国外国外RTOSRTOS:VX Works(VX Works(风河系统风河系统风河系统风河系统)Windows CE(Windows CE(微软微软
46、微软微软)VRTX(VRTX(明导资讯明导资讯明导资讯明导资讯)PalmPalmPowerTVPowerTVAMX(KADAK)AMX(KADAK)C ExecutiveC ExecutivePSX(JMI)PSX(JMI)VelOSity(Green Hills)VelOSity(Green Hills)OS-9(Microware OS-9(Microware Systems)Systems)OSE(Enea OSE OSE(Enea OSE Systems)Systems)QNX(QNX Software QNX(QNX Software Sys)Sys)RTXC(Lineo/Embed
47、ded Power Corp)SuperTask!(US Software)ThreadX(Express Logic)TNT/RTX(VenturCom)Windows NT Embedded/XP(微软微软)第29页/共52页嵌入式系统开发工具 编译器:编译器:编译器:编译器:GNUGNUGNUGNU编译器编译器编译器编译器调试工具:调试工具:调试工具:调试工具:GNUGNUGNUGNU调试工具调试工具调试工具调试工具集成开发环境(集成开发环境(集成开发环境(集成开发环境(IDEIDEIDEIDE)绘图入门工具绘图入门工具绘图入门工具绘图入门工具算法开发工具:算法开发工具:算法开发工具:算
48、法开发工具:UML/SDLUML/SDLUML/SDLUML/SDL工具工具工具工具库库库库网络网络网络网络/通信协议通信协议通信协议通信协议配置管理工具配置管理工具配置管理工具配置管理工具需求管理工具需求管理工具需求管理工具需求管理工具DSPDSPDSPDSP开发工具开发工具开发工具开发工具器件驱动器开发工具器件驱动器开发工具器件驱动器开发工具器件驱动器开发工具软硬件协同验证工具软硬件协同验证工具软硬件协同验证工具软硬件协同验证工具JavaJava工具工具存储器分析工具存储器分析工具软件仿真软件仿真/建模工具建模工具Win CEWin CE工具工具测试软件事件跟踪工测试软件事件跟踪工具具内电
49、路仿真器(内电路仿真器(ICEICE)ROMROM仿真器仿真器JTAGJTAG仿真器仿真器逻辑分析器逻辑分析器示波器示波器第30页/共52页9.3 嵌入式系统开发流程第31页/共52页1 嵌入式软件开发的特点嵌入式系统与通用计算机系统的差别:嵌入式系统与通用计算机系统的差别:人机交互界面人机交互界面有限的功能有限的功能时间关键性和稳定性时间关键性和稳定性 第32页/共52页 嵌入式软件开发的特点:嵌入式软件开发的特点:需要交叉开发环境需要交叉开发环境:交叉开发环境是指实现:交叉开发环境是指实现编译、链接和调试应用程序代码的环境。与运编译、链接和调试应用程序代码的环境。与运行应用程序的环境不同,
50、它分散在有通信连接行应用程序的环境不同,它分散在有通信连接的的宿主机宿主机与与目标机目标机环境之中。环境之中。宿主机宿主机(Host)Host)是一台通用计算机,一般是一台通用计算机,一般是是PCPC机。它通过串口或网络连接与目标机通机。它通过串口或网络连接与目标机通信。信。目标机目标机(Target)Target)可以是嵌入式应用软件可以是嵌入式应用软件的实际运行环境,也可以是能替代实际环境的实际运行环境,也可以是能替代实际环境的仿真系统。的仿真系统。第33页/共52页 嵌入式软件开发的特点:嵌入式软件开发的特点:引入引入任务任务设计方法设计方法 需要需要固化固化程序程序 软件开发难度大软件