《科技创新与品牌》杂志社学术交流

移动媒体终端嵌入式软件系统

          移动媒体终端嵌入式软件系统
                                  文/紫光股份有限公司技术研发部部长  高宏博士

        嵌入式软件系统是各类数字化产品的核心和灵魂,是我国数字化产品取得自主创新突破的关键技术。开发和推广应用具有自主知识产权的嵌入式软件系统,不仅可提高我国电子产品的附加值和竞争力,而且可促进我国信息产业由粗放型增长方式向集约型增长方式转变,实现中国信息产业从“中国制造”向“中国创造”的跨越。信息产业部已将嵌入式软件确定为“十一五”期间我国软件产业的重点发展方向。将重点推动嵌入式操作系统,以及嵌入式应用软件产品的研发与应用。
        移动媒体终端已成为后PC时代的主流产品。移动媒体终端作为一个平台,在其上可方便地增加各种实用性功能,如GPS卫星导航,游戏、数码伴侣、移动电视、无线上网等,既能更好满足消费者的实际需求,也能给信息产业带来更大的发展空间。
        目前移动媒体终端嵌入式软件系统主要使用微软的Windows Mobile for Portable Media Centers和RidgeRun公司的DSPLinuxTM,因此,开发具有自主知识产权的移动媒体终端嵌入式软件系统,对于打破跨国公司在移动媒体终端核心技术(嵌入式操作系统及其应用软件)领域的垄断地位,促进我国信息产业的技术进步,推动移动媒体终端产业的健康发展具有重要的实际意义。本文对紫光公司开发的基于EM8510硬件平台的移动媒体终端嵌入式软件系统做一简要介绍。

一、嵌入式软件系统体系结构
        移动媒体终端嵌入式软件系统与移动媒体终端硬件系统密不可分,紫光移动媒体终端嵌入式软件系统以美国Sigma Designs公司EM8510单芯片DMP(Digital Media Processor)数字媒体处理器为硬件平台,专门面向移动媒体终端用户、产品及应用,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的消费电子领域。
        紫光移动媒体终端嵌入式软件系统的体系结构如图1所示,可以分为三个层次:设备驱动、操作系统和应用软件。
        (1)DDI(Device Driver Interface)设备驱动接口:负责嵌入式系统与外部设备的信息交互。
        (2)操作系统:嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是移动媒体终端极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。移动媒体终端嵌入式操作系统由实时操作系统内核(RTOS Core)、文件系统、GUI、电源管理等通用组件模块组成。RTOS Core是一个经过精减的μClinux内核(体积<512 KB),将RISC CPU时钟、中断、I/O、定时器等资源封装起来,负责系统内存管理、进程管理、任务调度和I/O设备管理等。
        (3)应用软件:移动媒体终端的应用软件,如音乐、照片和视频的播放,硬盘文件管理(复制、移动、删除、重命名、新建文件夹、属性查看等)、电子图书和游戏软件等。
        嵌入式软件系统通常要求具有实时响应能力,一般不要求复杂的用户界面,甚至不要求支持键盘、鼠标等外设,也不需用户进行二次开发。嵌入式软件系统的代码要求高质量、高可靠性,一般都固化再只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。
                                                                                   图1 紫光嵌入式软件系统体系结构



二、嵌入式软件系统关键技术
        紫光移动媒体终端嵌入式软件系统首先对开放源代码的μClinux重新进行配置和编译,只保留移动媒体终端必须的操作系统功能,将其剪裁(改造)为一个高性能、轻量级、功能可扩展的可配置操作系统内核,降低了整个系统的开销与能耗;然后开发满足移动媒体终端自身需要的轻量级、高性能、占用资源少、高可靠性及可配置的GUI图形用户界面,以适应消费者对多媒体移动终端GUI华丽美观、易于操作的要求;最后再完成PDA、E-Book和掌上游戏等实用软件的开发和移置。
        1、μClinux小型化技术:
        小型化的主要方法是根据移动媒体终端产品的功能需求和EM8510数字媒体处理器的具体情况,对开放源代码的μClinux内核重新进行配置和编译,在编译时仔细地选择所需要的功能支持模块,同时删除不需要的功能,优化操作系统代码,降低整个系统的开销与能耗,使系统运行所需要的内核显著减小,将其剪裁(改造)为一个高性能、轻量级、功能可扩展的可配置内核。
        剪裁后的嵌入式操作系统二进制映象文件所占用的存储空间极小,体积小于512KB。媒体文件播放和嵌入式操作系统完全一体化,音频DAC、IDE接口、红外遥控器接口、控制面板接口等应用电路以动态连接库(Lib)的形式与嵌入式操作系统编译连接成一个单独的可执行程序,固化存储在ROM芯片中。
        2、无MMU的内存管理技术:
        为减小内核体积、提高系统实时性能,μClinux去掉了标准Linux的虚拟内存管理功能。EM8510为了提高实时性能、并降低运行功耗和硬件成本,也取消了MMU内存管理单元,因此移动媒体移动终端嵌入式操作系统只能采用实存储器管理策略直接访问内存,系统对地址的访问要直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。取消MMU部件会引起一系列的问题,例如,在系统装入程序时,必须要一次性的分配足够的、连续的物理内存;内存需求比系统实际物理内存大的程序无法在系统中运行;所有用户进程和内核共享一个地址空间,它们所占据的内存区域之间缺乏硬件级别的保护,当访问指向非法的内存地址时,系统无法及时得到错误信息,很容易导致系统运行不稳定、程序运行失败或全部内存数据区的崩溃。由于没有MMU提供对内存空间的保护,进行应用程序移植时必须要参与系统内存的分配和管理,大幅度增加了嵌入式软件系统的开发难度。为避免存储空间的浪费,移动媒体终端为进程分配的内存区域是连续的,代码段、数据段和栈段之间没有任何空隙,所有进程共享一个运行空间。进行应用程序移植时,必须要明白程序的运行位置及所需空间的大小,保证不会侵犯和破坏其他程序的运行空间及系统的稳定。
        3、单窗口GUI图形用户接口
        用户通过GUI与移动媒体信息终端进行交互,因此GUI必须要使用方便、安全可靠。此外,GUI不能占用太多的内存,以便在内存受限的系统上运行。像Windows Mobile这样脱胎于桌面系统的GUI,尽管针对嵌入式环境作了一定的优化,可是依然显得庞大和雍肿。
        移动媒体信息终端使用的3.5″LCD显示屏幕面积十分有限,不适合用户进行多窗口操作,因此没有必要使用具有多窗口管理功能的GUI。使用单窗口GUI就可满足移动媒体信息终端的人机交互。单窗口GUI同一时刻只支持一个活动窗口,即每次只能有一个进程独占屏幕,因而不存在多窗口环境下多个窗口共享屏幕的现象,可大为简化屏幕管理和事件处理的难度,不必建立复杂的数据结构和算法,来支持多个窗口的管理和解决窗口之间的遮挡、焦点判断及窗口切换等问题。单窗口GUI不仅因系统复杂程度的降低带来了执行效率的大幅提高,而且其编译后的长度只有几百KB。微型化的GUI系统在运行时占用最小系统资源,可降低系统功耗。
        4、智能电源管理模块:
        移动媒体终端强大的运算能力、以及内置硬盘和LCD显示器对电池能量消耗很大,而在未来相当长的时间内,要大幅度提高电池容量几乎是不可能的。统计数据表明,电池容量每10年才提高20%。因此,如何在相同电池容量下有效地提高电源使用效率、延长一次充电后的使用时间,是目前和未来移动媒体终端所面临的最大挑战。
        为了满足移动信息终端的低功耗需求,目前的CPU和外围设备大都考虑了低功耗特性,并提供了可编程控制的多种功耗工作模式。EM8510处理器也具有先进的Power Down Modes电源管理模式,用户可根据不同的应用情况来设置芯片内部视频解码器、视频DAC、模拟视频编码器的工作状态。关闭视频DAC使其停止工作,就可将200mA的I/O工作电流降低到60mA左右。
        嵌入式操作系统中的电源管理模块可根据EM8510处理器、硬盘、LCD显示屏等部件和设备提供的这种电源管理机制,以及当前系统工作状态,自动进行功耗管理,从而减小系统整体电源功耗。此外,电源管理系统还通过增加SDRAM的容量对硬盘数据进行缓冲,减少系统对硬盘的读取次数,使硬盘保持睡眠模式来降低硬盘的功耗。
        电源管理模块主要提供以下功能:查询电源管理方面的信息,设置系统工作的功耗模式。对于电源管理方面的信息,主要包含系统当前工作的功耗模式和终端设备所使用的电池的容量等信息,为系统进行功耗管理提供服务。
        紫光移动媒体终端嵌入式软件系统在详细分析市场需求的基础上,开发的移动媒体终端软、硬件系统配置非常灵活,很容易进行功能扩展,使移动媒体终端产品具有持续技术创新能力。如配置照相模组增加照相和录像功能;配置GPS模块增加卫星定位功能;配置无线网卡增加VoIP功能等。可保证移动媒体终端产品满足IT和消费电子市场未来几年的主流需求和发展趋势,具有较强的市场竞争力和较长的产品生命周期。
        “紫光移动媒体终端嵌入式软件系统”已取得《计算机软件著作权登记证书(编号:软著登字第073536号)》,并通过国家信息中心国家计委学术委员会软件评测研究中心的软件产品测试,评测结论为:“该软件质量保证测试评价为优,软件质量特性测试评价为优,基本达到系统功能说明要求。”