摘要:本文介绍了MIPS处理器、MIPS嵌入式系统下Windows CE的BootLoader引导模式,以及Windows CE嵌入式操作系统及其系统定制和调试工具Platform. Builder。提出了定制具有多媒体功能的新内核并到开发板的方案,详细论述了本方案中BootLoader的烧写以及NK.bin的。构建了一个高性能,低功耗,可靠性高的特制的应用于多媒体的Windows CE嵌入式系统。
0 前言
嵌入式技术是21世纪生命力的新技术之一,经过近几年的快速发展,已经成为电子信息产业中增长力的一个分支,随着手机、掌上电脑、GPS、电视机顶盒、高清播放器等新兴产品的大量应用,展现了嵌入式技术的活力,其中高清播放类的多媒体产品越来越多的应用,本项目将根据具体的硬件来定制对应兼容的Windows CE操作系统。由于MIPS内核处理器具有体积小、高性能、低功耗、低成本等一系列优点,而且微处理器SMP8*的内核具有高清解码芯片,所以本项目采用基于32位MIPS核的微处理器SMP8*与Windows CE相结合共同构建了一个多媒体嵌入式系统。特别目前网络已经遍及千家万户,人们可以很方便的使用网络,如果多媒体播放器具备网络传输播放高清视频的功能,将能够大大的拓展多媒体播放器的用途。
1 嵌入式Windows CE多媒体操作系统的硬件平台概述
(1)MIPS微处理器
MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。MIPS微处理器是目前仅次于ARM的用的多的处理器之一,其应用覆盖了游戏机,路由器,激光打印机及掌上电脑等方面。
SMP8*是Sigma Designs公司推出的新一代功能强大的SoC芯片,其CPU内核是由MIPS公司设计的MIPSII RISC处理器核。SMP8*高清芯片包含了一块mips 300MHZ的CPU,两个解码芯片,可以同时解码两路高清。多用于高清解码和数字机顶盒等产品上。本方案选用该处理器就是由于其视频,图像处理能力强大。
系统存储器主要有NOR FLASH和SDRAM 两大部分组成。本系统采用了64M的NOR FLASH和256M的DRAM。
(3) 系统扩展功能模块
因为是开发多媒体播放器,其扩展的功能模块都是根据视频解码得输入输出需求来扩展的,具体的见硬件原理图(1)。
2 嵌入式Windows CE 系统定制概述
(1)为什么要用Windows CE 系统
嵌入式操作系统目前有几种,像Linux,VxWorks,PalmOS,Neculeus 等。这些嵌入式操作各自有其特点,本项目选择Windows CE 是因为多媒体产品一般都是大众消费类产品,这就要求操作系统要美观,易操作;大家习惯了台式电脑上的Windows 操作系统,而WindowsCE 与Windows 操作起来比较接近,让初次使用者容易很快上手。Windows CE 操作系统也有其不足的地方,如源码未完全开发,版权费等都是需要考虑到的问题。在本项目中综合考虑终选择了Windows CE 操作系统。
(2)内核定制平台 Platform. Builder 的安装与升级
Windows CE 具有组件可定制性,可以根据项目的需要定制所需的组件。我们采用的是Platform. Builder4.0 版本。在装有Windows XP SP2 系统的开发机上安装好Platform. Builder。接着就要配置成多媒体的操作系统,这就必须到微软的网站升级包。在本项目中,相应的我们选择了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”文件通过串口发至SMP8* 开发板上。
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 和SMP8* 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 文件,并将其一起编译进系统中,格式如下:
此两文件修改完后保存退出。而platform.reg 则根据添加的多媒体包添加相应的设置,具体略过。三个文件修改完成后,运行“Build OS---Make Run-Time Image”菜单命令,可生成新的nk.bin 文件,具有多媒体特征的系统配置完成。
3 内核文件NK.bin 的
(1) 配置网络
要通过以太网Windows CE 运行时映像,还要配置以太网网络连接。可通过HUB连接开发机与目标机,如图(2)所示。把目标机与开发机都连接到HUB上。如果这样配置网络,通常同一网段内还会有一个DHCP服务器。这样,目标板就可以通过DHCP服务获得IP地址,进行。由于在过程中,通常要开发机上的终端程序通过串口连接目标板,对过程进行控制,同时输出调试信息。Windows 上自带了终端工具“超级终端”。超级终端可以用串口连接开发机与目标板,并且通过超级终端发送控制命令。
(2) 运行映像
网络配置好后,在超级终端上按任意键可以进入设置菜单。选择好相应的设置后,退出菜单,这时候网络已经连接好了。打开Platform. Builder 菜单上的“Target->ConnectivityOptions…”设定好,传输设置后,在运行“Target->Attach Device”,此时开发机开始将编译好的NK.bin 文件到目标板上。当完成后,目标板的屏幕上将会显示出漂亮的Windows CE 界面。至此,整个系统构建完成。
4 结束语:
本文主要介绍了嵌入式MIPS 微处理器的SMP8* 开发板的硬件平台架构和Windows CE 操作系统的定制与移植。经过实验证明,Windows CE 操作系统能够很好的在此开发板上运行及调试。在该套软硬件设备上开发出各种应用程序后,就形成了一个完善的多媒体产品了。本文的创新点是在目前网络应用的高速发展下,本系统不仅能播放硬盘等存储介质中的多媒体文件,还可以接入网络播放视频图片等,能更好的共享网络上数量丰富的高清视频,图片等信息,这些优势使其在消费类产品中的应用前景将会非常广阔。
[1]. RISC datasheet https://www.dzsc.com/datasheet/RISC_1189725.html.
[2]. LVDS datasheet https://www.dzsc.com/datasheet/LVDS+_457917.html.
[3]. IR datasheet https://www.dzsc.com/datasheet/IR+_1064069.html.
[4]. COM datasheet https://www.dzsc.com/datasheet/COM+_1118194.html.
[5]. RTL8139 datasheet https://www.dzsc.com/datasheet/RTL8139+_586301.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。