基于微处理器SMP8634和Windows CE实现多媒体嵌入式系统的设计

描述

前言

嵌入式技术是21世纪最具生命力的新技术之一,经过近几年的快速发展,已经成为电子信息产业中最具增长力的一个分支,随着手机、掌上电脑、 GPS、电视机顶盒、高清播放器等新兴产品的大量应用,展现了嵌入式技术的活力,其中高清播放类的多媒体产品越来越多的应用,本项目将根据具体的硬件来定制对应兼容的 Windows CE操作系统。由于 MIPS内核处理器具有体积小、高性能、低功耗、低成本等一系列优点,而且微处理器SMP8634的内核具有高清解码芯片,所以本项目采用基于32位MIPS核的微处理器SMP8634与Windows CE相结合共同构建了一个多媒体嵌入式系统。特别目前网络已经遍及千家万户,人们可以很方便的使用网络,如果多媒体播放器具备网络传输播放高清视频的功能,将能够大大的拓展多媒体播放器的用途。

1 嵌入式Windows CE多媒体操作系统的硬件平台概述

(1)MIPS微处理器

MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。MIPS微处理器是目前仅次于ARM的用的最多的处理器之一,其应用覆盖了游戏机,路由器,激光打印机及掌上电脑等方面。

SMP8634是Sigma Designs公司推出的新一代功能强大的 SoC芯片,其CPU内核是由MIPS公司设计的MIPSII RISC处理器核。SMP8634高清芯片包含了一块 mips 300MHZ的CPU,两个解码芯片,可以同时解码两路高清。多用于高清解码和数字机顶盒等产品上。本方案选用该处理器就是由于其视频,图像处理能力强大。

(2) 基于MIPS 核的微控制器SMP8634系统存储器

系统存储器主要有NOR FLASH和SDRAM 两大部分组成。本系统采用了64M的NOR FLASH和256M的DRAM。

(3)系统扩展功能模块

因为是开发多媒体播放器,其扩展的功能模块都是根据视频解码得输入输出需求来扩展的,具体的见硬件原理图(1)。

微处理器

图(1) SMP8634硬件原理图

2 嵌入式Windows CE系统定制概述

(1)为什么要用 Windows CE系统

嵌入式操作系统目前有几种,像Linux,VxWorks,PalmOS,Neculeus等。这些嵌入式操作各自有其特点,本项目选择 Windows CE是因为多媒体产品一般都是大众消费类产品,这就要求操作系统要美观,易操作;大家习惯了台式电脑上的 Windows操作系统,而 Windows CE与 Windows操作起来比较接近,让初次使用者容易很快上手。Windows CE操作系统也有其不足的地方,如源码未完全开发,版权费等都是需要考虑到的问题。在本项目中综合考虑最终选择了 Windows CE操作系统。

(2)内核定制平台 Platform Builder的安装与升级

Windows CE具有组件可定制性,可以根据项目的需要定制所需的组件。我们采用的是Platform Builder4.0版本。在装有 Windows XP SP2系统的开发机上安装好 PlatformBuilder。

接着就要配置成多媒体的操作系统,这就必须到微软的网站下载升级包。在本项目中,相应的我们选择了 07年和 08年全年升级包,同时还要下载两个多媒体包并安装好升级包。接着安装此开发板的BSP,再将 BSP相应的.CEC文件拷贝到“\WINCE500\PUBLIC\COMMON\OAK\CATALOG\CEC”目录中,这样在 PB的配置组件目录中将会有第三方组件选择的条目。

(3) BootLoader

BootLoader目前用的比较多的是U-Boot,而且 U-Boot也支持 MIPS架构,但是我们这里采用 MIPS公司开发的YAMON。由于用 YAMON作为 BootLoader的比较少,下面就详细分析如何通过 YAMON将程序下到开发板的 flash中去,如果我们想要将文件“file0.bin”写入flash中的地址0位置:

a、通过 x86 linux中的uuencode命令将.bin文件转换成.bin.uuencode文件 》uuencode file0.bin x 》 file0.bin.uuencode

b、在 YAMON中输入命令:YAMON》load uu 0xb0100000

C、到此,YAMON是一直等待来自串口的文件,使用 TeraTerm,选择“File-》Send File”,将“file0.bin.uuencode”文件通过串口发至 SMP8634开发板上。

d、当下载完成以后,接收到的文件大小会在 YAMON中给出。

e、比较报告中的文件和 file0.bin文件的大小是否一致。

在做这项工作时应该非常的仔细,如果中间过程出问题,可能会将 YAMON损坏并使目标板不能启动。在这步完成后就开发机可以通过串口线来和目标板进行通信了。

(4)嵌入式多媒体操作系统 Windows CE组件定制

根据硬件扩展模块,必须为操作系统添加新的组件,而该组件已经在前面的多媒体升级包中一起添加到了Platform Builder开发平台上。该操作系统应具有如下特征: GDI输出;DirectDraw的DDI支持;HD GDI和Video的输出,LVDS输出;IR控制,COM串口输入,IIC,mini-PCI;硬盘,USB存储设备;以太网,RTL8139和 SMP8634 MAC ETH两个设备,TCP/IP;视频解码;图形解码,硬件 JPEG解码;系统 WAV音频输出;网络多媒体支持;Web服务器等。以上组件都是在定制中添加的,确定好这些组件就可以进行系统的定制了,首先运行 Platform Builder工具,建立一个新的工程,选择“SMP863X:MIPSII”BSP,在工程模板中选择“Networked Media Device”,接下来就可以按照需求来选择组件定制操作系统。在配置完成后,添加了 KERNELNOSHAREETH,BSP_NOSHAREETH,BSP_KEYBD_NOP,BSP_SMP863X_IR四个环境变量,并将环境变量的值全部设定为1。完成此步骤后,运行菜单中的“Build OS-》Build and Sysgen”生成 NK.bin文件。但是此时的操作系统还不支持多媒体,必须将多媒体包添加到文件夹“WINCE500\PBWorkspace\(工程名)\SMP863X_MIPSII_Release”中。

为了使多媒体包的文件生效还必须分别修改 platform.bib,config.bib以及platform.reg注册表文件。首先修改 platform.bib文件,在“;@CESYSGEN IF CE_MODUELS_DEVICE”这行加入KdbNopUS.dll,capsrc863x.dll等多媒体包里的 dll文件的设置,该项设置主要是在编译操作系统的时候,编译器可以自动的找到这些 dll文件,并将其一起编译进系统中,格式如下:

KdbNopUS.dll $(_FLATRELEASEDIR)\ KdbNopUS.dll NK SH

在config.bib文件中主要是内存的分配,根据硬件要求其具体修改如下:

SMP863X 90202800 01B00800 RESERVED ; 27M for SMP863X driver

NK 91D10000 02A00000 RAMIMAGE ; 42M for NK.BIN image

RAM 94710000 032F0000 RAM ; 50M for CE applications

此两文件修改完后保存退出。而 platform.reg则根据添加的多媒体包添加相应的设置,具体略过。三个文件修改完成后,运行“Build OS---Make Run-Time Image”菜单命令,可生成新的 nk.bin文件,具有多媒体特征的系统配置完成。

3 内核文件 NK.bin的下载

(1) 配置网络

要通过以太网下载 Windows CE运行时映像,还要配置以太网网络连接。可通过HUB连接开发机与目标机,如图( 2)所示。把目标机与开发机都连接到HUB上。如果这样配置网络,通常同一网段内还会有一个DHCP服务器。这样,目标板就可以通过DHCP服务获得IP地址,进行下载。由于在下载过程中,通常要开发机上的终端程序通过串口连接目标板,对下载过程进行控制,同时输出调试信息。Windows上自带了终端工具“超级终端”。超级终端可以用串口连接开发机与目标板,并且通过超级终端发送控制命令。

微处理器

图(2) 网络连接

(2) 下载运行映像

网络配置好后,在超级终端上按任意键可以进入设置菜单。选择好相应的设置后,退出菜单,这时候网络已经连接好了。打开 Platform Builder菜单上的 “Target-》Connectivity Options…”设定好下载,传输设置后,在运行“Target-》Attach Device”,此时开发机开始将编译好的 NK.bin文件下载到目标板上。当下载完成后,目标板的屏幕上将会显示出漂亮的 Windows CE界面。至此,整个系统构建完成。

4 结束语

本文主要介绍了嵌入式 MIPS核心微处理器的 SMP8634开发板的硬件平台架构和 Windows CE操作系统的定制与移植。经过实验证明,Windows CE操作系统能够很好的在此开发板上运行及调试。在该套软硬件设备上开发出各种应用程序后,就形成了一个完善的多媒体产品了。本文的创新点是在目前网络应用的高速发展下,本系统不仅能播放硬盘等存储介质中的多媒体文件,还可以接入网络播放视频图片等,能更好的共享网络上数量丰富的高清视频,图片等信息,这些优势使其在消费类产品中的应用前景将会非常广阔。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分