嵌入式系统开发要素的选择分析
公司运作以市场作为向导,是市场赋予它们生命。公司看重市场,付出的劳动有市场回报才能正常运转。公司在开发过程中一般都尽量避免风险,而且整个开发过程中始终将风险分析作为重要的参考因素。公司一般都选择保守的开发模式,基于当前开发人员的技术实力和已经达到的技术储备,在许多种备选方案的技术论证过程,充分分析成本收益、风险大小、投入资源、开发人员的技术水平等因素,全面考虑,权衡利弊,尽量选用可靠的,风险小的设计方案。
在项目开发中,分配开发人员时不仅要确保任务在给定时间期限内完成的成功性,而且也要体现在锻炼培养后继人才方面。任何项目的开发,依据需求分析后,经过概要设计和详细设计,都会形成模块化结构,其工作难度也有一定的层次性。这样,公司在选派项目人员时,需要合理的人员结构安排,现在一般公认的人才结构比例是1(博士或同等学历)∶3(硕士或同等学历)∶7(学士、大专或同等学历)。在项目开发中,除了开发人员的技术水平和结构比例外,小组内部的民主化、科学化管理决策也是很重要的环节。
javascript:window.open(this.src);" style="cursor:pointer;"/>
5 应用实例解析
在详细讨论了嵌入式系统开发中的几个关键因素后,下面具体阐述这些因素在工作中的具体体现。图2是个人数字助理PDA和寻呼机二合一的手持式电子产品结构图。
该产品的基本功能包括:
① 个人数字助理——科学计算器、英汉互译辞典、电话号码簿、记事日程表等;
② 交通信息——列车时刻表的车次查询和车站查询、民航时刻表的航班查询等;
③ 寻呼信息——接收个人和公共寻呼信息,个人寻呼内容实时语音合成并播放,寻呼方式更新列车和民航时刻表数据等。
分析产品功能结构图并结合产品的基本功能,可以获得产品对嵌入式处理器的性能要求:高速嵌入式处理器处理列车和民航时刻表查询、个人寻呼内容的实时语音合成并播放等。处理器外围需要自带语音录放电路完成语音录入和播放,串行口和红外通信口进行数据通信,LCD接口电路提供用户输入接口,也需要电源管理模块完成便携式电子产品的低功耗设计。
选用ARM公司的嵌入式微控制器EP7211:内含的32位微处理器ARM720T,提供18MHz、36MHz、54MHz和72MHz工作主频,而且允许用户在应用程序中对控制寄存器编程切换处理器工作频率,这种切换频率的工作方式,不仅满足了不同的应用需求,而且降低了系统的功耗。EP7211提供了SRAM和Flash存储芯片接口,2个RS232口(1个自带红外信号收发模块),支持G_729.a标准的语音录放Codec模块,有LCD接口和电源管理部分,支持低电压监测等。在休眠状态下,EP7211支持中断唤醒功能,唤醒时间是唤醒频率的2~3个周期,芯片提供8kHz的唤醒频率,使得在休眠状态下系统收到寻呼前导信号时能够及时唤醒。
选定了EP7211后就应选择RTOS了。从产品功能和程序流程的角度分析,系统基本上是单任务顺序处理,但要具备实时对寻呼中断的响应能力。RTOS的选择有两个方案:一是使用已经购买的用在油田测井系统SL3000型产品的商用Nucleus,二是使用自主开发的、专门面向嵌入式应用系统的XGW软件开发平台。
XGW软件开发平台功能强大,模块化设计,扩展性强;支持多种点阵和矢量字体;完善的中英文处理接口;支持汉王手写识别和拼音输入法等。XGW开发平台是自主研发的,软件产品升级和故障排除比较容易,产品成本费用相对较低。选择EP7211嵌入式处理器和XGW开发平台,还因为二者在“GPS汽车导航系统”项目中获得了成功应用。
关于集成开发调试环境,我们购买了ARM公司的ARM250。它基于GUI用户接口,一体化的编辑、汇编、编译、连接和调试多窗口工作环境,支持单步跟踪、断点设置和内存查看等;同时,ARM250开发调试界面和Microsoft 的VC6++集成环境相似,有助于开发人员快速熟悉和掌握。选用Multi_ICE仿真器,支持在线仿真调试,通过并行口连接主机,支持程序编译链接后的程序代码快速加载,加快了代码调试进度。
详细分析了产品的技术风险,对开发小组而言,只有寻呼系统是比较成熟的新技术,且工作频率高达155MHz,需要重点解决和其它功能模块的aspx">电磁兼容性,要投入较多的人力资源进行重点突破。关于嵌入式处理器EP7211和自主研发的XGW软件开发平台等,开发人员都有一定的技术积累和丰富的工作经验。
在系统开发中,设计了两套技术调试方案:一是基于内存SRAM模式,二是基于闪存Flash模式。在内存SRAM模式中,系统加电冷启动时,系统完成相关硬件初始化任务后执行一段代码,将系统编译连接生成的二进制可执行代码从Flash存储空间完全拷贝到SRAM内存空间中,整个应用程序调试完全在内存空间执行。此种方案极大加快了庞大应用程序的调试步伐,加快产品开发进度。二是在SRAM内存模式调试完应用程序的基础上,执行闪存Flash调试,系统启动后将中断服务程序ISR和少量的内核代码拷贝到SRAM后在SRAM中执行,其它应用程序在Flash中执行。Flash模式同SRAM模式相比,主要是修改系统启动代码段,应用程序代码完全保持一致。Flash模式减少了宝贵的SRAM资源需求、降低了产品开发成本,但是运行速度较SRAM模式慢。
6 小 结
本文详细阐述了在嵌入式系统开发中嵌入式处理器、嵌入式操作系统、调试器、仿真器以及开发人员的技术水平和结构比例等组成要素的选择原则,并且使用一个具体的实例来进一步分析说明。需要指出的是,这些要素之间不是彼此独立,而是紧密相关,可能还会在某些方面相互冲突。