STB上Linux软件系统解决方案Linux认证考试
文章作者 100test 发表时间 2009:12:19 11:05:47
来源 100Test.Com百考试题网
近年来,国内巨大的STB潜在市场,吸引了包括芯片厂商、CA厂商、中间件供应商、机顶盒生产厂商等厂家的热情,围绕STB的竞争全面展开。
机顶盒是一种专用设备,包括软件模块和硬件模块。软件模块包括系统引导程序、嵌入式操作系统和应用软件。硬件模块根据CPU的不同,分为ASIC专用芯片组、多媒体DSP、X86三种。低档机顶盒一般采用专用芯片组或多媒体DSP,只支持较少的几种媒体编解码标准,业务扩展能力较弱,价格比较低。高档机顶盒大多基于X86硬件,使用WinCE或Linux操作系统,甚至配有硬盘,与PC机非常相似,业务功能丰富,当然,价格也不菲。
事实上,随着IPTV的兴起,对机顶盒的性能要求也越来越高,采用X86硬件提升机顶盒的性能已是大势所趋。但是,在提供更丰富业务功能的同时,大幅降低机顶盒成本,也是机顶盒技术发展的一个必然方向。本文将讲述基于兼容X86的STB上Linux软件系统解决方案,不涉及技术开发细节。主要将从以下方面进行介绍:
一、硬件环境介绍
本机顶盒核心部件包括:STPC CPU,2M FLASH,64M DOM和32M RAM。
其中FLASH中存放Bootloader代码,DOM中存放嵌入式Linux操作系统。当然,机顶盒需要一些外围硬件电路,比如网络接口、遥控器接口等等。
二、Bootloader开发
Bootloader是跟底层硬件关联性非常强的一层软件,也称为BSP。开发人员需要相当熟悉硬件结构,一般来说,可以由硬件人员完成,也可以由软硬件人员共同协助完成。Bootloader除了初始化CPU,RAM和基本的串口输出等功能外,还需要一些扩展功能,比如实现通过网络接口或者串口烧录操作系统等。u-boot是一个开源的面向多个目标平台(ppc, mips, arm, x86)的bootloader,并且功能强大,目前广泛应用在嵌入式系统开发中,只要根据硬件平台做有限的修改,就可以顺利实现。本篇不讲述u- boot的具体移植过程,移植细节可参见《u-boot在PowerPC 860上的移植》一文。
三、嵌入式Linux裁减与移植
嵌入式Linux我们选用Peewee Linux进行裁减,Peewee Linux的介绍和基本配置可参考《Embedded Linux 嵌入式系统原理与实务》一书。Peewee Linux的裁减仅仅是通过配置界面选择某些组件,但需要注意的是要保留X窗口,浏览器需要X窗口支持才能启动图形化浏览器。但是,通过Peewee Linux裁减的Linux系统通常比较大,还需要做更进一步的裁减。一般来说一个不带X窗口的嵌入式Linux可以小到4M,带有X窗口的Linux也可以在30M以下构建出来。总之,裁减后的Linux系统不能过于庞大,否则加上浏览器程序极有可能超出DOM的64M空间,需要另加存储空间,增加成 本。
另一方面,在移植Linux到STB上后,由于STB上很多硬件在Linux下缺少驱动程序支持,不能工作。为此,开发必要的驱动程序是必不可少的一步。在Linux下开发一个驱动是相当容易的,一是因为Linux驱动程序的架构相对固定,二是有很多的源码可供参考。难点往往是调试过程,也更花时间,并且经常需要改动某些代码,同时,驱动开发过程中也经常需要示波器、逻辑分析仪等设备的帮助。
四、浏览器程序选择 (Embedded Mozilla)
在Linux环境下有很多开源的浏览器,但综合比较来说,Mozilla功能强大,支持的协议也相对比较多,图形界面丰富。其次,Mozilla专门为嵌 入式系统开发了一个Embedded Mozilla项目,不加裁减的话,编译结果大概20M多,用户可以对其进行裁减,一般来说,裁减到14M左右是很轻而易举的事。并且该项目是提供源码的,用户可以根据需要定制一些功能,比如用户界面等等。
具体可以参考主页:http://www.mozilla.org