STB机顶盒上Linux软件系统解决方案演示教学_第1页
STB机顶盒上Linux软件系统解决方案演示教学_第2页
STB机顶盒上Linux软件系统解决方案演示教学_第3页
STB机顶盒上Linux软件系统解决方案演示教学_第4页
STB机顶盒上Linux软件系统解决方案演示教学_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、Good is good, but better carries it.精益求精,善益求善。STB机顶盒上Linux软件系统解决方案-STB机顶盒上Linux软件系统解决方案近年来,国内巨大的STB潜在市场,吸引了包括芯片厂商、CA厂商、中间件供应商、机顶盒生产厂商等厂家的热情,围绕STB的竞争全面展开。机顶盒是一种专用设备,包括软件模块和硬件模块。软件模块包括系统引导程序、嵌入式操作系统和应用软件。硬件模块根据CPU的不同,分为ASIC专用芯片组、多媒体DSP、X86三种。低档机顶盒一般采用专用芯片组或多媒体DSP,只支持较少的几种媒体编解码标准,业务扩展能力较弱,价格比较低。高档机顶盒大多

2、基于X86硬件,使用WinCE或Linux操作系统,甚至配有硬盘,与PC机非常相似,业务功能丰富,当然,价格也不菲。事实上,随着IPTV的兴起,对机顶盒的性能要求也越来越高,采用X86硬件提升机顶盒的性能已是大势所趋。但是,在提供更丰富业务功能的同时,大幅降低机顶盒成本,也是机顶盒技术发展的一个必然方向。本文将讲述基于兼容X86的STB上Linux软件系统解决方案,不涉及技术开发细节。主要将从以下方面进行介绍:一、硬件环境介绍二、Bootloader开发三、Linux裁减与移植四、浏览器程序选择五、JVM移植六、其它应用程序扩展七、媒体播放软件实现八、VOD实现九、软件远程更新问题十、小结一、

3、硬件环境介绍本机顶盒核心部件包括:STPCCPU,2MFLASH,64MDOM和32MRAM。其中FLASH中存放Bootloader代码,DOM中存放嵌入式Linux操作系统。当然,机顶盒需要一些外围硬件电路,比如网络接口、遥控器接口等等。二、Bootloader开发Bootloader是跟底层硬件关联性非常强的一层软件,也称为BSP。开发人员需要相当熟悉硬件结构,一般来说,可以由硬件人员完成,也可以由软硬件人员共同协助完成。Bootloader除了初始化CPU,RAM和基本的串口输出等功能外,还需要一些扩展功能,比如实现通过网络接口或者串口烧录操作系统等。u-boot是一个开源的面向多个目

4、标平台(ppc,mips,arm,x86)的bootloader,并且功能强大,目前广泛应用在嵌入式系统开发中,只要根据硬件平台做有限的修改,就可以顺利实现。本篇不讲述u-boot的具体移植过程,移植细节可参见u-boot在PowerPC860上的移植一文。三、嵌入式Linux裁减与移植嵌入式Linux我们选用PeeweeLinux进行裁减,PeeweeLinux的介绍和基本配置可参考EmbeddedLinux嵌入式系统原理与实务一书。PeeweeLinux的裁减仅仅是通过配置界面选择某些组件,但需要注意的是要保留X窗口,浏览器需要X窗口支持才能启动图形化浏览器。但是,通过PeeweeLinu

5、x裁减的Linux系统通常比较大,还需要做更进一步的裁减。一般来说一个不带X窗口的嵌入式Linux可以小到4M,带有X窗口的Linux也可以在30M以下构建出来。总之,裁减后的Linux系统不能过于庞大,否则加上浏览器程序极有可能超出DOM的64M空间,需要另加存储空间,增加成本。另一方面,在移植Linux到STB上后,由于STB上很多硬件在Linux下缺少驱动程序支持,不能工作。为此,开发必要的驱动程序是必不可少的一步。在Linux下开发一个驱动是相当容易的,一是因为Linux驱动程序的架构相对固定,二是有很多的源码可供参考。难点往往是调试过程,也更花时间,并且经常需要改动某些代码,同时,驱

6、动开发过程中也经常需要示波器、逻辑分析仪等设备的帮助。四、浏览器程序选择(EmbeddedMozilla)在Linux环境下有很多开源的浏览器,但综合比较来说,Mozilla功能强大,支持的协议也相对比较多,图形界面丰富。其次,Mozilla专门为嵌入式系统开发了一个EmbeddedMozilla项目,不加裁减的话,编译结果大概20M多,用户可以对其进行裁减,一般来说,裁减到14M左右是很轻而易举的事。并且该项目是提供源码的,用户可以根据需要定制一些功能,比如用户界面等等。具体可以参考主页:HYPERLINK/ot_blank五、JVM移植针对目前很多网页是Javaseverlet的特点,使得

7、浏览器能支持Java语言是一大趋势,EmbeddedMozilla很容易实现对Java的支持,这也是为什么选择EmbeddedMozilla的原因之一。只要以动态库的形式注册sun公司提供的JVM到该STB的系统库路径下,并在EmbeddedMozilla中设置一下浏览器针对Javaseverlet的plugin功能,即可实现EmbeddedMozilla对Javaseverlet的支持。JVM下载参考:HYPERLINK/ot_blank六、其它应用开发扩展(EPG实现及EasySoap使用)该部分功能主要是为解决STB向PVR/DVR的扩展,当然如此扩展后需要添加大容量存储设备,以存储数据

8、。EPG是PVR/DVR上不可或缺的软件之一,预先提供节目给用户,用户通过预定的方式下“订单”,PVR/DVR根据用户的预定情况实现节目的自动录制功能。目前EPG功能比较流行的做法是:在PC机上用WebService实现服务端,在PVR/DVR上实现客户端,由于WebService利用SOAP协议交互。为此,EasySoap浮出水面,利用该开源项目,可以很方便开发出Linux上的EPG客户端,实现与WebService的交互。七、媒体播放软件实现该功能也可认为是STB的扩展,是PVR/DVR功能的一部分。媒体播放器我们选用功能强大的mplayer,这是Linux下又一个出色的开源软件,支持格式

9、众多,包括很多流媒体在内,移植mplayer也比较简单。参见网站:HYPERLINKhttp:/www.mplayerhq.hu/ohttp:/www.mplayerhq.hu/t_blankhttp:/www.mplayerhq.hu/八、VOD实现VOD是STB交互功能的增强,因为我们已经移植了EmbeddedMozilla以及mplayer,VOD功能可以利用这两个软件顺利实现,需要做的工作只是在EmbeddedMozilla中如何判断当前的连接是一个媒体文件,以判断是否需要打开mplayer进行播放。九、软件远程更新问题虽然目前用户要在STB设备上实现软件远程更新的需求并不突出,但软件

10、远程更新问题是降低维护费用一个强有力的手段。STB的远程软件更新可以采用主动或被动的方式,主动的方式就是由用户手动去下载最新软件,实现升级;被动方式就是由STB开发商根据STB的信息主动提示用户更新,类似于window2000/XP的升级程序。考虑到STB的特殊性,比如升级过程中可能发生意外,掉线等情况,建议采用由用户手动去下载软件进行升级的方式。具体实现方法是:在STB上开发专门用于软件升级的程序,该程序通过HTTP/FTP下载最新应用程序到本地,然后实现STB上软件的升级。由于系统上空间通常比较紧张,一旦升级失败,极有可能造成系统不能启动的情况,解决办法往往是增加内存空间,先备份先前的系统,如果升级成功,再删除,如果失败,则恢复先前系统。十、小结Linux由于其开源特性、出色的网络功能和众多的开源项目支持,正越来越成为嵌入式系统开发者关注的目标之一。相信越来越多的嵌入式开发者将加入到Linux这个行列中来。本文提出的仅仅是解决方案,实际开发中,从硬件设计到软件开发是一个相当漫长的过程,软硬件的协同设计、硬件的调试、软件的开发、软件的测试、系统的集成测试等过程都会遇到拦路虎,很多意想不到的问题会时不时地忽然冒出来。为此,在STB项目开发中,硬件的设计过程需要具有丰富经验的硬件工程师,以尽量缩短硬件

温馨提示

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

评论

0/150

提交评论