位置:51电子网 » 技术资料 » 其它综合

嵌入式数字视频播放系统软件平台的构建

发布时间:2007/8/28 0:00:00 访问次数:513

来源:微计算机信息 作者:钱焱鑫 杨宇航


摘要:本文介绍了在PowerPC405上利用嵌入式Linux来构建数字视频播放系统软件平台的过程,探讨了嵌入式Linux系统里交叉编译器、bootloader、Linux内核、根文件系统等几个主要部分的构建过程。


关键词:PowerPC405;嵌入式Linux;数字视频播放机;U-BOOT


引言


数字视频播放设备在近几年的发展十分迅速,种类繁多。传统的视频播放设备(如DVD播放机)的软件系统一般都是一简单的控制环系统,没有操作系统,功能扩展和升级受到限制。本课题研究的便携式数字视频播放设备构建于嵌入式32位PowerPC405 CPU之上,运行Linux操作系统,以大容量的硬盘作为存储介质,具有网络功能。PowerPC405是IBM公司推出的一款专门针对嵌入式应用的RISC处理器,应用十分广泛。嵌入式Linux[1]作为一种开源的操作系统软件,具有免费、支持众多CPU、可裁减、支持网络、丰富的软件资源等特点。利用嵌入式Linux来构建数字视频播放系统的软件平台使得该播放机成本低,易于升级和管理,支持多种接口如USB,从而使得视频节目交换方便等优势,代表了该种设备未来发展的一个方向。本文主要探讨了构建应用于数字视频播放机的嵌入式Linux系统的bootloader、Linux内核移植的主要过程和可能碰到的问题,给出了相应的解决方案。


1 数字视频播放系统框图



(图1-1 码流播放系统硬件框图)


图1-1为本播放机的系统框图,其核心控制系统为基于PowerPC405的嵌入式Linux,通过其上的应用程序来把数据存储系统里的节目经过一定处理后搬移到码流控制系统里的FPGA里,由FPGA完成解密后送给解码系统,经过解码系统解压缩后输出RGB信号给显示设备来显示。其中我们要关注的就是核心控制系统里嵌入式Linux系统的搭建。


播放机的嵌入式Linux系统的层次结构如图1-2,硬件上电后,CPU的程序指针首先指向一个特定的存储器地址,该地址处一般存放着bootloader,bootloader在初始化完CPU以及内存等设备后,把Linux内核从一般ROM设备里搬移解压到内存里,然后程序指针跳转到内核在内存里的开始位置处,由Linux内核来继续完成剩下的系统引导工作。内核在重新初始化完系统后,就加载根文件系统,运行用户应用程序。整个嵌入式Linux系统平台的构建过程可以参照系统的启动过程,主要要做的工作有构建bootloader、Linux内核、根文件系统这几个部分。



(图1-2 软件系统层次结构图)


2 嵌入式Linux系统平台搭建的准备


要搭建嵌入式Linux系统平台,首先要准备好跨平台开发工具链。它运行于本地主机上,编译链接生成的二进制可执行程序能够运行于开发板的CPU及操作系统上。构建这样一个主要包括编译器gcc,链接器ld,C库glibc等的工具链的方法有很多种,可以去相关网站下载源代码手工编译,而最便捷的方法则为利用完善的已编译好开发包,如德国denx公司的ELDK开发包,使用方法参见[2]


3 bootloader与Kernel的选择


准备好了开发工具链之后,就可以开始嵌入式Linux系统的开发,首先是bootloader的选择。


3.1 bootloader的选择


一般的PC机启动后先是进入BIOS,通过BIOS进行一定的系统初始化后,再引导操作系统如Windows或Linux等,而一般嵌入式系统里没有BIOS,但也需要实现类似功能的模块,这就是bootloader(引导装载器),其主要的功能是初始化CPU、内存等硬件设备,以及导入操作系统。Bootloader种类很多,如blob、lilo、grub、U-BOOT等。目前在嵌入式领域用得最广泛的是denx公司的免费开源软件U-BOOT,它支持PowerPC、ARM、MIPS、x86等多种CPU,超过100种开发板,源码结构清晰,移植容易,开发文档丰富,用户在使用中可能碰到的问题一般都能够很快被解决。因此,我们选用U-BOOT做为开发板的bootloader。


根据不同的开发板,flash的大小以及型号不同,内存的大小不一样,启动方式的不同等使得利用U-BOOT时需要做一些相应的修改,以适应用户自己的开发板,具体移植方法及常见问题可参见[3]


3.2 Linux内核的移植


bootloader初始化完系统硬件后,把Linux内核从外部存储介质中导入内存里,然后,就将控制权交给Linux内核,由内核来继续完成系统的引导工作。


如果内核里没有支持用户所使用的开发板,那么用户就需要自己手工修改Linux的内核,做一些相关的移植工作,要关注的是

来源:微计算机信息 作者:钱焱鑫 杨宇航


摘要:本文介绍了在PowerPC405上利用嵌入式Linux来构建数字视频播放系统软件平台的过程,探讨了嵌入式Linux系统里交叉编译器、bootloader、Linux内核、根文件系统等几个主要部分的构建过程。


关键词:PowerPC405;嵌入式Linux;数字视频播放机;U-BOOT


引言


数字视频播放设备在近几年的发展十分迅速,种类繁多。传统的视频播放设备(如DVD播放机)的软件系统一般都是一简单的控制环系统,没有操作系统,功能扩展和升级受到限制。本课题研究的便携式数字视频播放设备构建于嵌入式32位PowerPC405 CPU之上,运行Linux操作系统,以大容量的硬盘作为存储介质,具有网络功能。PowerPC405是IBM公司推出的一款专门针对嵌入式应用的RISC处理器,应用十分广泛。嵌入式Linux[1]作为一种开源的操作系统软件,具有免费、支持众多CPU、可裁减、支持网络、丰富的软件资源等特点。利用嵌入式Linux来构建数字视频播放系统的软件平台使得该播放机成本低,易于升级和管理,支持多种接口如USB,从而使得视频节目交换方便等优势,代表了该种设备未来发展的一个方向。本文主要探讨了构建应用于数字视频播放机的嵌入式Linux系统的bootloader、Linux内核移植的主要过程和可能碰到的问题,给出了相应的解决方案。


1 数字视频播放系统框图



(图1-1 码流播放系统硬件框图)


图1-1为本播放机的系统框图,其核心控制系统为基于PowerPC405的嵌入式Linux,通过其上的应用程序来把数据存储系统里的节目经过一定处理后搬移到码流控制系统里的FPGA里,由FPGA完成解密后送给解码系统,经过解码系统解压缩后输出RGB信号给显示设备来显示。其中我们要关注的就是核心控制系统里嵌入式Linux系统的搭建。


播放机的嵌入式Linux系统的层次结构如图1-2,硬件上电后,CPU的程序指针首先指向一个特定的存储器地址,该地址处一般存放着bootloader,bootloader在初始化完CPU以及内存等设备后,把Linux内核从一般ROM设备里搬移解压到内存里,然后程序指针跳转到内核在内存里的开始位置处,由Linux内核来继续完成剩下的系统引导工作。内核在重新初始化完系统后,就加载根文件系统,运行用户应用程序。整个嵌入式Linux系统平台的构建过程可以参照系统的启动过程,主要要做的工作有构建bootloader、Linux内核、根文件系统这几个部分。



(图1-2 软件系统层次结构图)


2 嵌入式Linux系统平台搭建的准备


要搭建嵌入式Linux系统平台,首先要准备好跨平台开发工具链。它运行于本地主机上,编译链接生成的二进制可执行程序能够运行于开发板的CPU及操作系统上。构建这样一个主要包括编译器gcc,链接器ld,C库glibc等的工具链的方法有很多种,可以去相关网站下载源代码手工编译,而最便捷的方法则为利用完善的已编译好开发包,如德国denx公司的ELDK开发包,使用方法参见[2]


3 bootloader与Kernel的选择


准备好了开发工具链之后,就可以开始嵌入式Linux系统的开发,首先是bootloader的选择。


3.1 bootloader的选择


一般的PC机启动后先是进入BIOS,通过BIOS进行一定的系统初始化后,再引导操作系统如Windows或Linux等,而一般嵌入式系统里没有BIOS,但也需要实现类似功能的模块,这就是bootloader(引导装载器),其主要的功能是初始化CPU、内存等硬件设备,以及导入操作系统。Bootloader种类很多,如blob、lilo、grub、U-BOOT等。目前在嵌入式领域用得最广泛的是denx公司的免费开源软件U-BOOT,它支持PowerPC、ARM、MIPS、x86等多种CPU,超过100种开发板,源码结构清晰,移植容易,开发文档丰富,用户在使用中可能碰到的问题一般都能够很快被解决。因此,我们选用U-BOOT做为开发板的bootloader。


根据不同的开发板,flash的大小以及型号不同,内存的大小不一样,启动方式的不同等使得利用U-BOOT时需要做一些相应的修改,以适应用户自己的开发板,具体移植方法及常见问题可参见[3]


3.2 Linux内核的移植


bootloader初始化完系统硬件后,把Linux内核从外部存储介质中导入内存里,然后,就将控制权交给Linux内核,由内核来继续完成系统的引导工作。


如果内核里没有支持用户所使用的开发板,那么用户就需要自己手工修改Linux的内核,做一些相关的移植工作,要关注的是

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!