嵌入式系统开发应用要素嵌入式处理器嵌入式系统的功能软件集成于硬件系统之中,系统的应用软件与硬件一体化
在嵌入式系统的硬件设备中,嵌入处理器是整个系统的核心部件,其性能的好坏直接决定整个系统的运行效果
Pc机销售市场中,随着通用cPu技术的突破和工作频率的倍增,旧款低档cPu早已经不见踪迹
嵌入式系统开发面向具体应用,不同领域的应用市场需要不同款式和性能指标的处理器来开发,于是在嵌入式处理器市场中,中低端的4位、8位和l6位处理器依然存在,高性能的32位处理器也有很多产品
随着超大规模集成电路技术和微电子技术发展,包含嵌入式处理器以及部分外围电路的微控制器产品也进入市场,片上系统soc(system on chip)产品也开始出瑚
这些产品的上市,不仅丰富了嵌入式处理器产品,而且也更加方便了工程技术人员进行嵌入式系统的技术开发和扩大嵌入式产品的应用领域
由于嵌入式系统应用需求的多样性,市场上基于RIsc结构的嵌入式处理器提供商也日渐增多
统计数字表明,1999年底市场销售额排在前三位的公司分别是ARM、Motor01a和MIPs,其中ARM公司的芯片销售量达1.5亿个,市场份额超过50%
面对这样的嵌入式处理器市场,开发设计人员应该如何选择呢?这里有两个前提条件
一是深入研究具体的嵌入式系统应用需求,充分的应用需求分析后获取应用系统的性能指标
面向应用是嵌入式系统的特色,具体的应用需求决定着嵌入式处理器的性能选型
在工业控制等特殊领域,系统需求分析员不仅需要和工作人员、上级主管亲自面谈,而且要到工作现场获取第一手信息,收集充分的资料
应用需求分析后、需要定义产品具备的基本功能和性能指标,如系统处理的数据量大小和处理实时性要求、系统正常运行时的工作环境、系统运行过程中可能遇到的突发事件、系统的尺寸大小和功耗指标等
第二个前提条件是.分析研究市场上各大厂商提供的各款嵌入式处理器的性能指标,如功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等c这些参数也是各个半导体芯片厂商之间竞争的热点
开发人员通过应用需求分析获取了产品的功能性和非功能性指标,研究了市场上嵌入式处理器的性能参数后,能够对嵌入式处理器作出较好的选择
嵌入式处理器选择的基本原则是满足具体功能性和非功能性指标需求的、市场应用反应良好的、硬件配置最少的嵌入式处理器
如简单的智能仪器仪表设计考虑使用4位或者8位低档单片机8051;和数字信号处理密切相关的选用TI公司的TMx320x系列的DsP(数字信号处理)芯片;如果产品偏重于通信功能,考虑Motorola公司的嵌入式处理器68K系列;如果产品功能比较齐全,可选用嵌入式处理器领域的后起之秀ARM公司的高性能嵌入式处理器ARM芯片系列等
除了上述的产品性能需求因素,选择嵌入式处理器时也需要考虑开发人员对此系列处理器的熟悉程度c因为不同公司开发的嵌入式处理器差别较大,从一类处理器转移到另一类处理器的难度比同一系列不同处理器间的转移难度大得多,风险多得多
实时操作系统以嵌入式处理器为中心,开发人员搭建好硬件电路时仅提供了裸机运行平台,要使整个系统有限的硬件资源充分利用起来,还需要(嵌入式)实时操作系统RTOs(RealTimeoperatingsystem)的软件支持
RTos与一般商用多任务os(如unix、windows以及LInux等j有共同的…面,也有不同的一面
商用多任务os主要目的是方便用户管理计算机资源和追求系统资源的最大利用率;而RTOs重点追求的是实时性、可确定性、可靠性,当然也包括有限资源的管理
一般RTOs内核都很小,在几KB~十几KB之间
流行的RTOs基本上都支持基于优先级的抢占式调度策略和时间片轮转,具有微内核结构,有标准组件可供选用.支持虚拟存储技术和存储保护机制
由于具体嵌入式应用的功能需求差异以及不同RTOs问不同的性能指标,RTOs的选择有三种方案:一是根据应用需要和公司技术实力,考虑自主开发研究(国内手机厂商宁渡波导公司部分款式的手机操作系统就是自主开发的);二是充分考虑系统需求和流行RTos的性能指标及性价比选择商用RTOs,如wIncE、Vxworks等;三是考虑嵌入式Linux(RTLinux),RTLjnux是开放源代码的免费自由软件,互联网技术论坛较多,具备较好的裁减性以支持不同的应用范畴
当前全球范围内商用RTos多达200多种,应用领域的多样性使得市场反应较好的也将近有十几种,如Vxworks、psOs、Nucleus、QNx、wincE以及中科院软件研究中心研制的Hopen等
这些不同名称的RTOs,核心软件差异微妙而且难以琢磨,选择时重点是考虑它们的性能评价指标,主要包括调度算法、RTOs本身内存开销、RTOs内存管理模式、最大中断禁止时间和最大任务切换时间
当然,也包括RTOs的购买成本和提供的技术支持等相关因素
针对实时性要求较高的应用,需要重点考虑RTOs的最大中断禁止时间和最大任务切换时问
这两个参数越小越好
减小这两个参数值,除了选用较高工作主频的嵌入式处理器外,还和RTOs本身任务调度和中断处理机制密切相关
选择RTOs时,通常还要考虑系统功能方面支持何种处理器硬件平台,何种API,是否支持核心态用户态、是否支持内存管理单元MMu、可移植性、调试支持、标准支持等
如果开发网络应用,还需要考虑该RTOs是否支持TCP/IP的网络组件和I/O服务等
如果开发游戏和娱乐市场,要着重研究该RTos对多媒体的支持能力
市场应用需求的多样性,使得RTOs本身应该支持用户自定制能力,根据应用需要在微内核的基础上选用标准组件
仿真器和调试器调试是嵌入式系统开发过程的重要环节
嵌入式系统开发调试和一般pc系统开发调试有较大差别
在一般Pc机系统开发中,调试器和被调试程序是运行在相同的硬件和软件平台上的两个进程,而在嵌入式系统中,调试器是运行在桌面操作系统上的应用程序,被调试程序是运行在基于特定硬件平台的操作系统,两个程序问需要实时通信
嵌入式系统调试时,主机上运行的集成开发调试工具(调试器)通过仿真器和目标机相连a仿真器处理宿主机和目标机之间所有的通信,这个通信口可以是串并行口或者高速以太网接口
仿真器通过JTAG口和目标机相连
嵌入式系统开发调试方法有快速原型仿真法和实时在线调试法
快速原型仿真法用于硬件设备尚未完成时,直接在宿主机上对应用程序运行进行仿真分析
在此过程中系统不直接和硬件打交道,由开发调试软件内部某一特定软件模块模拟硬件cPu系统执行过程,并可同时将仿真异常反馈给开发者进行错误定位和修改
实时在线调试法在具体的目标机平台上调试应用程序.系统在调试状态下的执行情况和实际运行模式完全一样,这种方式更有利于开发者实时对系统硬件和软件故障进行定位和修改,提高产品开发速度
选用的调试器是运行在主机上的集成开发环境一般需要集、汇编、编译、链接和调试环境于一体,支持低级汇编语言、c和c++语言,基于友好的图形用户界面(GuI),支持用户观察或修改嵌入式处理器的寄存器和存储器配置、数据变量的类型和数值,堆栈和寄存器的使用,支持程序断点设置,单步、断点豉者全速运行等特性
应用需求的多样性导致市场上仿真器和调试器的提供商也较多,windriver公司的Tornado是一个很好的开发调试工具
根据实践经验,一般配套选择规模较大、信誉较好公司的仿真器和调试器,虽然价格偏高,但是这些公司技术实力强,售后服务好,调试器和仿真器开发结合紧密
如果在开发调试过程遇到技术障碍,可以通过电话或者电子邮件方式及时获取技术支持
如选用ARM系列的嵌入式处理器时,可以购买Multi—IcE仿真器.并附加ARM250集成开发调试环境等
开发队伍的技术水平和结构比例嵌入式系统开发中选择好了嵌入式处理器、RTOs、仿真器和调试器等设备外,还需要考虑开发队伍的技术水平和结构比例
经验丰富的开发小组都深有体会:民用产品开发中,产品能够在预计的时间内进入市场赢得效益,其整个技术范围内新技术比例至多只能达到20%,超过这个界限,估算的时间期限可能会出现较大偏差
从高层规划人员的角度分析:20%以内的新技术,公司可以集中力量,投入足够多的人力、物力和财力进行突破性研究,正常情况下可以达到满意效果
如果新技术超出20%这个范围,恐怕心有余而力不足
公司运作以市场作为向导,是市场赋予它们生命
公司看重市场,付出的劳动有市场回报才能正常运转
公司在开发过程中一般都尽量避免风险,而且整个开发过程中始终将风险分析作为重要的参考因素
公司一般都选择保守的开发模式,基于当前开发人员的技术实力和已经达到的技术储备,在许多种备选方案的技术论证过程,充分分析成本收益、风险大小、投入资源、开发人员的技术水平等因素,全面考虑,权衡利弊,尽量选用可靠的,风险小的设计方案
在项目开发中,分配开发人员时不仅要确保任务在给定时间期限内完成的成功性,而且也要体现在锻炼培养后继人才方面
任何项目的开发,依据需求分析后,经过概要设计和详细设计,都会形成模块化结构,其工作难度也有一定的层次性
这样,公司在选派项目人员时,需要合理的人员结构安排,现在~般公认的人才结构比例是1(博士或同等学历)3(硕士或同等学历):7(学士、大专或同等学历)
在项目开发中,除了开发人员的技术水平和结构比例外,小组内部的民主化、科学化管理决策也是很重要的环节
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。