0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:微计算机信息 作者:陈征 , 孙丽华 2020-09-17 16:18 次阅读

前言

嵌入式技术是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)。

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

图(1) SMP8634硬件原理图

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

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

嵌入式操作系统目前有几种,像LinuxVxWorks,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

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

    关注

    5068

    文章

    19014

    浏览量

    303135
  • 操作系统
    +关注

    关注

    37

    文章

    6734

    浏览量

    123184
  • 微处理器
    +关注

    关注

    11

    文章

    2247

    浏览量

    82310
收藏 人收藏

    评论

    相关推荐

    嵌入式linux培训之嵌入式微处理器的选择

    影响应用软件的编制、调试工具的选择以及产品性能等。目前嵌入式操作系统非常多,而主要的几款产品,如VxWorks、Windows CE、Linux及Android等,都支持基于ARM
    发表于 07-03 18:30

    嵌入式媒体播放器怎么实现

    随着嵌入式系统的不断发展,处理器性能的不断提升,存储系统容量的不断扩大,各种多媒体应用程序被移植到嵌入式
    发表于 08-29 06:12

    嵌入式微处理器如何选择

    以及产品性能等。目前嵌入式操作系统非常多,而主要的几款产品,如VxWorks、Windows CE、Linux及Android等,都支持基于ARM
    发表于 05-20 11:11

    如何去设计嵌入式Windows CE多媒体操作系统的硬件平台?

    如何去设计嵌入式Windows CE多媒体操作系统的硬件平台?嵌入式Windows
    发表于 04-27 07:05

    如何去实现嵌入式多媒体导游系统的设计?

    如何去实现嵌入式多媒体导游系统的硬件设计?如何去实现嵌入式
    发表于 06-07 06:38

    嵌入式多媒体视频安全系统设计

    本文所设计的多媒体安全系统基于S3C2410处理器,以Windows CE 5.0作为嵌入式操作
    发表于 06-29 08:37 19次下载

    基于Windows CE.Net 4.2嵌入式操作系统多媒体

    本文介绍了基于Windows CE.Net 4.2 嵌入式操作系统,运用eMbedded Visual C++ 4.0 软件开发一款功能较为齐全的
    发表于 08-05 10:45 59次下载

    基于MIPS的Win CE多媒体操作系统的研究

    本文介绍了MIPS 处理器、MIPS 嵌入式系统Windows CE 的BootLoader 引导模式,以及
    发表于 01-07 13:49 14次下载

    基于嵌入式系统多媒体存储卡接口设计

    嵌入式系统由于本身存储容量的限制,急需扩展外存,多媒体卡(MMC)就是解决外存扩展的一个很好的方案。多媒体卡在多媒体领域广泛用作外部存储介质
    发表于 12-06 14:38 18次下载

    基于Windows CE的可视电话的研究与实现

    在分析和比较当代比较流行的嵌入式操作系统嵌入式 Windows CE嵌入式Linux VxW
    发表于 04-18 11:28 0次下载

    嵌入式Windows CE设备驱动的研究实现

    基于 StrongArm 处理器的彩色 LCD (640 3 480) 的 WindowsCE 驱动程序设计为例 介绍了嵌入式 Windows CE 驱动程序的开发过程。
    发表于 04-18 14:12 1次下载

    嵌入式微处理器的原理和应用

    嵌入式微处理器是专为嵌入式系统设计的微处理器,它们是嵌入式系统的核心组件,负责执行程序指令、
    的头像 发表于 03-28 15:51 816次阅读

    什么是嵌入式微处理器嵌入式微处理器有哪些?

    嵌入式微处理器是指嵌入到特定应用系统中的微处理器,它是整个嵌入式系统的核心,由通用
    的头像 发表于 03-29 11:39 943次阅读

    什么是嵌入式微处理器? 嵌入式微处理器的区别

    嵌入式微处理器(Embedded Microprocessor)是一种被用于控制和操作特定嵌入式系统微处理器嵌入式
    的头像 发表于 04-21 15:44 1463次阅读

    嵌入式微处理器的分类 嵌入式微处理器的种类和型号

    嵌入式微处理器是指内部集成了CPU、存储、外设接口等功能的微型芯片,被广泛应用于各种嵌入式系统中。嵌入式
    的头像 发表于 05-04 16:31 2078次阅读