嵌入式系统开发要素的选择分析_第1页
嵌入式系统开发要素的选择分析_第2页
嵌入式系统开发要素的选择分析_第3页
嵌入式系统开发要素的选择分析_第4页
嵌入式系统开发要素的选择分析_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统开发要素的选择分析摘要:主要讨论在嵌入式系统开发中,设计人员如何考虑和选择嵌入式处理器、嵌入式操作系统、调试器、仿真器以及开发人员的技术水平和结构比例等组成要素;同时,以实例说明如何选择这些开发要素。关键词:嵌入式系统 嵌入式处理器 实时操作系统 仿真器 调试器引 言在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术也取得迅速发展。这不仅表现在从事嵌入式系统开发研究的人员队伍日益壮大,嵌入式处理器和实时操作系统的性能增强和产品升级换代,更重要的体现在嵌入式技术应用范围的急剧扩大。嵌入式系统拥有巨大的市场空间,我国应该抓住机遇,与时俱进,奋起直追,在嵌入式系统领域赶超世界先进水平。要达到这个目标,具有一定的现实可行性,这是因为同 PC 机系统相比,嵌入式系统更有自身的特征。在 PC 领域,虽有 AMD系列处理器和 Linux 操作系统的市场冲击,但是 Win_Tel(Windows+Intel)体系架构仍占主导地位;可是,嵌入式系统本身是一个相当分散的工业,典型特征是面向用户、面向产品、面向应用的,市场应用才是嵌入式系统开发的导向和前提,在当前的嵌入式市场中不存在垄断的局面。嵌入式系统包含硬件和软件两部分:硬件架构上以嵌入式处理器为中心,配置存储器、I/O 设备、通信模块等必要的外设;软件部分以软件开发平台为核心,向上提供应用编程接口(API ),向下屏蔽具体硬件特性的板级支持包 BSP。嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能。对于不同的市场应用类型,嵌入式系统开发中的嵌入式处理器、实时操作系统、仿真器、调试器以及开发队伍的技术水平和结构比例等要素的选择是至关重要的。本文参考一些嵌入式系统开发的资料,结合具体的工程实践经验,系统总结了进行嵌入式系统开发时,如何全面考虑各开发要素并进行选择,最后结合一个具体实例进行详细阐述。1 嵌入式处理器嵌入式系统的功能软件集成于硬件系统之中,系统的应用软件与硬件一体化。在嵌入式系统的硬件设备中,嵌入处理器是整个系统的核心部件,其性能的好坏直接决定整个系统的运行效果。PC 机销售市场中,随着通用 CPU 技术的突破和工作频率的倍增,旧款低档CPU 早已经不见踪迹。嵌入式系统开发面向具体应用,不同领域的应用市场需要不同款式和性能指标的处理器来开发,于是在嵌入式处理器市场中,中低端的 4 位、8 位和 16 位处理器依然存在,高性能的 32 位处理器也有很多产品。随着超大规模集成电路技术和微电子技术发展,包含嵌入式处理器以及部分外围电路的微控制器产品也进入市场,片上系统 SoC(System on Chip)产品也开始出现。这些产品的上市,不仅丰富了嵌入式处理器产品,而且也更加方便了工程技术人员进行嵌入式系统的技术开发和扩大嵌入式产品的应用领域。由于嵌入式系统应用需求的多样性,市场上基于 RISC 结构的嵌入式处理器提供商也日渐增多。统计数字表明,1999 年底市场销售额排在前三位的公司分别是ARM、Motorola 和 MIPS,其中 ARM 公司的芯片销售量达 1.5 亿个,市场份额超过50%。面对这样的嵌入式处理器市场,开发设计人员应该如何选择呢?这里有两个前提条件。一是深入研究具体的嵌入式系统应用需求,充分的应用需求分析后获取应用系统的性能指标。面向应用是嵌入式系统的特色,具体的应用需求决定着嵌入式处理器的性能选型。在工业控制等特殊领域,系统需求分析员不仅需要和工作人员、上级主管亲自面谈,而且要到工作现场获取第一手信息,收集充分的资料。应用需求分析后,需要定义产品具备的基本功能和性能指标,如系统处理的数据量大小和处理实时性要求、系统正常运行时的工作环境、系统运行过程中可能遇到的突发事件、系统的尺寸大小和功耗指标等。第二个前提条件是,分析研究市场上各大厂商提供的各款嵌入式处理器的性能指标,如功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等。这些参数也是各个半导体芯片厂商之间竞争的热点。开发人员通过应用需求分析获取了产品的功能性和非功能性指标,研究了市场上嵌入式处理器的性能参数后,能够对嵌入式处理器作出较好的选择。嵌入式处理器选择的基本原则是满足具体功能性和非功能性指标需求的、市场应用反应良好的、硬件配置最少的嵌入式处理器。如简单的智能仪器仪表设计考虑使用 4 位或者 8 位低档单片机 8051;和数字信号处理密切相关的选用 TI 公司的 TMX320x 系列的DSP(数字信号处理)芯片;如果产品偏重于通信功能,考虑 Motorola 公司的嵌入式处理器 68K 系列;如果产品功能比较齐全,可选用嵌入式处理器领域的后起之秀ARM 公司的高性能嵌入式处理器 ARM 芯片系列等。除了上述的产品性能需求因素,选择嵌入式处理器时也需要考虑开发人员对此系列处理器的熟悉程度。因为不同公司开发的嵌入式处理器差别较大,从一类处理器转移到另一类处理器的难度比同一系列不同处理器间的转移难度大得多,风险多得多。2 实时操作系统以嵌入式处理器为中心,开发人员搭建好硬件电路时仅提供了裸机运行平台,要使整个系统有限的硬件资源充分利用起来,还需要(嵌入式)实时操作系统RTOS(Real Time Operating System)的软件支持。RTOS 与一般商用多任务 OS(如 Unix、Windows 以及 Linux 等)有共同的一面,也有不同的一面。商用多任务 OS 主要目的是方便用户管理计算机资源和追求系统资源的最大利用率;而 RTOS 重点追求的是实时性、可确定性、可靠性,当然也包括有限资源的管理。一般 RTOS 内核都很小,在几 KB十几 KB 之间。流行的RTOS 基本上都支持基于优先级的抢占式调度策略和时间片轮转,具有微内核结构,有标准组件可供选用,支持虚拟存储技术和存储保护机制。由于具体嵌入式应用的功能需求差异以及不同 RTOS 间不同的性能指标,RTOS 的选择有三种方案:一是根据应用需要和公司技术实力,考虑自主开发研究(国内手机厂商宁波波导公司部分款式的手机操作系统就是自主开发的);二是充分考虑系统需求和流行 RTOS 的性能指标及性价比选择商用 RTOS,如WinCE、VxWorks 等;三是考虑嵌入式 Linux(RT_Linux ),RT_Linux 是开放源代码的免费自由软件,互联网技术论坛较多,具备较好的裁减性以支持不同的应用范畴。当前全球范围内商用 RTOS 多达 200 多种,应用领域的多样性使得市场反应较好的也将近有十几种,如 VxWorks、pSOS、Nucleus、QNX、WinCE 以及中科院软件研究中心研制的 Hopen 等。这些不同名称的 RTOS,核心软件差异微妙而且难以琢磨,选择时重点是考虑它们的性能评价指标,主要包括调度算法、RTOS 本身内存开销、RTOS 内存管理模式、最大中断禁止时间和最大任务切换时间。当然,也包括 RTOS 的购买成本和提供的技术支持等相关因素。针对实时性要求较高的应用,需要重点考虑 RTOS 的最大中断禁止时间和最大任务切换时间。这两个参数越小越好。减小这两个参数值,除了选用较高工作主频的嵌入式处理器外,还和RTOS 本身任务调度和中断处理机制密切相关。选择 RTOS 时,通常还要考虑系统功能方面支持何种处理器硬件平台,何种API,是否支持核心态用户态、是否支持内存管理单元 MMU、可移植性、调试支持、标准支持等。如果开发网络应用,还需要考虑该 RTOS 是否支持 TCP/IP 的网络组件和 I/O 服务等。如果开发游戏和娱乐市场,要着重研究该 RTOS 对多媒体的支持能力。市场应用需求的多样性,使得 RTOS 本身应该支持用户自定制能力,根据应用需要在微内核的基础上选用标准组件。3 仿真器和调试器调试是嵌入式系统开发过程的重要环节。嵌入式系统开发调试和一般 PC 系统开发调试有较大差别。在一般 PC 机系统开发中,调试器和被调试程序是运行在相同的硬件和软件平台上的两个进程,调试器进程通过操作系统专门提供的调试接口控制和访问被调试进程。而在嵌入式系统中,调试器是运行在桌面操作系统上的应用程序,被调试程序是运行在基于特定硬件平台的操作系统,两个程序间需要实时通信。嵌入式系统调试时,主机上运行的集成开发调试工具(调试器)通过仿真器和目标机相连。仿真器处理宿主机和目标机之间所有的通信,这个通信口可以是串口、并行口或者高速以太网接口。仿真器通过 JTAG 口和目标机相连。三者间的关系如图 1 所示。嵌入式系统开发调试方法有快速原型仿真法和实时在线调试法。快速原型仿真法用于硬件设备尚未完成时,直接在宿主机上对应用程序运行进行仿真分析。在此过程中系统不直接和硬件打交道,由开发调试软件内部某一特定软件模块模拟硬件CPU 系统执行过程,并可同时将仿真异常反馈给开发者进行错误定位和修改。实时在线调试法在具体的目标机平台上调试应用程序,系统在调试状态下的执行情况和实际运行模式完全一样,这种方式更有利于开发者实时对系统硬件和软件故障进行定位和修改,提高产品开发速度。选用的调试器是运行在主机上的集成开发环境,一般需要集编辑、汇编、编译、链接和调试环境于一体,支持低级汇编语言、C 和 C+语言,基于友好的图形用户界面(GUI),支持用户观察或修改嵌入式处理器的寄存器和存储器配置、数据变量的类型和数值,堆栈和寄存器的使用,支持程序断点设置,单步、断点或者全速运行等特性。应用需求的多样性导致市场上仿真器和调试器的提供商也较多,Windriver 公司的 Tornado 是一个很好的开发调试工具。根据实践经验,一般配套选择规模较大、信誉较好公司的仿真器和调试器,虽然价格偏高,但是这些公司技术实力强,售后服务好,调试器和仿真器开发结合紧密。如果在开发调试过程遇到技术障碍,可以通过电话或者电子邮件方式及时获取技术支持。如选用 ARM 系列的嵌入式处理器时,可以购买 Multi-ICE 仿真器,并附加 ARM250 集成开发调试环境等。4 开发队伍的技术水平和结构比例嵌入式系统开发中选择好了嵌入式处理器、RTOS 、仿真器和调试器等设备外,还需要考虑开发队伍的技术水平和结构比例。经验丰富的开发小组都深有体会:民用产品开发中,产品能够在预计的时间内进入市场赢得效益,其整个技术范围内新技术比例至多只能达到 20,超过这个界限,估算的时间期限可能会出现较大偏差。从高层规划人员的角度分析:20以内的新技术,公司可以集中力量,投入足够多的人力、物力和财力进行突破性研究,正常情况下可以达到满意效果。如果新技术超出 20这个范围,恐怕心有余而力不足。公司运作以市场作为向导,是市场赋予它们生命。公司看重市场,付出的劳动有市场回报才能正常运转。公司在开发过程中一般都尽量避免风险,而且整个开发过程中始终将风险分析作为重要的参考因素。公司一般都选择保守的开发模式,基于当前开发人员的技术实力和已经达到的技术储备,在许多种备选方案的技术论证过程,充分分析成本收益、风险大小、投入资源、开发人员的技术水平等因素,全面考虑,权衡利弊,尽量选用可靠的,风险小的设计方案。在项目开发中,分配开发人员时不仅要确保任务在给定时间期限内完成的成功性,而且也要体现在锻炼培养后继人才方面。任何项目的开发,依据需求分析后,经过概要设计和详细设计,都会形成模块化结构,其工作难度也有一定的层次性。这样,公司在选派项目人员时,需要合理的人员结构安排,现在一般公认的人才结构比例是1(博士或同等学历)3 (硕士或同等学历) 7 (学士、大专或同等学历)。在项目开发中,除了开发人员的技术水平和结构比例外,小组内部的民主化、科学化管理决策也是很重要的环节。5 应用实例解析在详细讨论了嵌入式系统开发中的几个关键因素后,下面具体阐述这些因素在工作中的具体体现。图 2 是个人数字助理 PDA 和寻呼机二合一的手持式电子产品结构图。该产品的基本功能包括: 个人数字助理科学计算器、英汉互译辞典、电话号码簿、记事日程表等; 交通信息列车时刻表的车次查询和车站查询、民航时刻表的航班查询等; 寻呼信息接收个人和公共寻呼信息,个人寻呼内容实时语音合成并播放,寻呼方式更新列车和民航时刻表数据等。分析产品功能结构图并结合产品的基本功能,可以获得产品对嵌入式处理器的性能要求:高速嵌入式处理器处理列车和民航时刻表查询、个人寻呼内容的实时语音合成并播放等。处理器外围需要自带语音录放电路完成语音录入和播放,串行口和红外通信口进行数据通信,LCD 接口电路提供用户输入接口,也需要电源管理模块完成便携式电子产品的低功耗设计。选用 ARM 公司的嵌入式微控制器 EP7211:内含的 32 位微处理器ARM720T,提供 18MHz、36MHz、54MHz 和 72MHz 工作主频,而且允许用户在应用程序中对控制寄存器编程切换处理器工作频率,这种切换频率的工作方式,不仅满足了不同的应用需求,而且降低了系统的功耗。EP7211 提供了 SRAM 和Flash 存储芯片接口,2 个 RS232 口(1 个自带红外信号收发模块),支持G_729.a 标准的语音录放 Codec 模块,有 LCD 接口和电源管理部分,支持低电压监测等。在休眠状态下,EP7211 支持中断唤醒功能,唤醒时间是唤醒频率的 23个周期,芯片提供 8kHz 的唤醒频率,使得在休眠状态下系统收到寻呼前导信号时能够及时唤醒。选定了 EP7211 后就应选择 RTOS 了。从产品功能和程序流程的角度分析,系统基本上是单任务顺序处理,但要具备实时对寻呼中断的响应能力。RTOS 的选择有两个方案:一是使用已经购买的用在油田测井系统 SL3000 型产品的商用Nucleus,二是使用自主开发的、专门面向嵌入式应用系统的 XGW 软件开发平台。XGW 软件开发平台功能强大,模块化设计,扩展性强;支持多种点阵和矢量字体;完善的中英文处理接口;支持汉王手写识别和拼音输入法等。XGW 开发平台是自主研发的,软件产品升级和故障排除比较容易,产品成本费用相对较低。选择EP7211 嵌入式处理器和 XGW 开发平台,还因为二者在 “GPS 汽车导航系统”项目中获得了成功应用。关于集成开发调试环境,我们购买了 ARM 公司的 ARM250。它基于 GUI 用户接口,一体化的编辑、汇编、编译、连接和调试多窗口工作环境,支持单步跟踪、断点设置和内存查看等;同时,ARM250 开发调试界面和 Microsoft 的 VC6+集成环境相似,有助于开发人员快速熟悉和掌握。选用 Multi_ICE 仿真器,支持在线仿真调试,通过并行口连接主机,支持程序编译链接后的程序代码快速加载,

温馨提示

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

评论

0/150

提交评论