MPlayer嵌入式移植实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多种播放格式的MPlayer嵌入式移植实现
摘要
目前市场上媒体播放器款式层出不穷。
从原先只能用于欣赏音乐的MP3,至今已经发展成能够播放多种视频,音频格式的MP4,MP5等多功能媒体播放器。
其中,MP5播放器就是采用了软硬协同多媒体处理技术,第一个将ARM平台应用于手持多媒体终端,其主频最高可达1GHz,能够播放更多的视频格式。
嵌入式系统的官方定义是“以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统”。
其硬件以一个高性能的处理器(通常是32位处理器)为基础,软件以一个多任务操作系统为基础,非常适合完成MPlayer移植相关任务。
本次毕业设计任务就是以Linux嵌入式开发为主线,利用X86PC机与ARM2410s嵌入式平台开发多种播放格式的MPlayer。
本系统首先完成X86PC 机Linux环境下MPlayer的实现,之后通过QT制作MPlayer GUI,完成MPlayer 向ARM2410s嵌入式平台的移植和调试工作。
并且通过研究多种视频的文件格式,使MPlayer能够播放多种视频格式。
该毕业设计完成了任务书的要求。
关键词:嵌入式;Linux;MPlayer;视频格式;QT
ABSTRACT
The present market has been seeing various designs of media players emerging one after another. Originating from MP3 which can only serves for appreciating music, the multifunctional media players nowadays have been developed into MP4 and MP5, which can display many video and audio formats. Based on the software-hardware combined multimedia processing, MP5 is the first to adopt ARM platform to handheld multimedia terminal with the highest master frequency 1 GHz, able to display more video formats.
The official definition for embedded system is ―a application-centered ware tailorable dedicated computer system that can cater to the strict integrative requires of the application system of function, reliability, cost, volume and power dissipation.
The graduate project plans to develop Mplayer with various play formats using the embedded platform of X86PC machine and ARM2410S, with the development of Linux embedded chips as the main line. The system first has accomplished player‘s implementation of X86PC machine under the environment of Linux, followed which Mplayer GUI has been constructed to achieve the transplantation and debug from Mplayer to ARM2410 embedded platform. Meanwhile, Mplayer is designed to display various video formats though research on the file formats of various videos.
The graduate project has accomplished all the requires of the assignment.
Key words: embedded; Linux; video format; QT
目录
第一章前言 (1)
1. 研究背景和意义 (1)
2. 嵌入式系统概述 (2)
2.1 嵌入式系统定义 (2)
2.2 嵌入式系统构架 (3)
2.3 嵌入式系统开发流程 (5)
3. 研究现状 (7)
3.1 嵌入式系统发展现状 (7)
3.2 嵌入式移植研究现状 (8)
3.3 毕设系统研究现状 (9)
第二章系统分析 (10)
1. 系统通用模型 (10)
2. 系统主要任务和目标 (11)
2.1 主要研究内容 (11)
2.2 主要目标 (11)
3. 系统结构分析 (12)
3.1 ARM-Linux端 (12)
3.2 X86PC端 (12)
4. 系统选用的开发工具 (12)
4.1 UP-NETARM2410-S嵌入式开发平台 (12)
4.2 Linux操作系统 (14)
4.3 HEX EDIT (16)
4.4 GCC编译器 (17)
4.5 QT (18)
第三章系统概要设计 (21)
1. 总体设计 (21)
1.1 系统体系结构 (21)
1.2 基本设计概念 (22)
2. 模块设计 (25)
2.1 功能-模块对照表 (25)
2.2 各功能模块逻辑关系 (26)
第四章系统详细设计 (27)
1. 嵌入式开发环境的搭建 (27)
2. 视频格式分析模块 (28)
2.1 模块概述 (28)
2.2 模块分析 (28)
3. MPlayer模块 (36)
3.1 X86-MPlayer模块 (36)
3.2 ARM-MPlayer模块 (39)
3.3 MPlayer编译指令 (40)
4. Gcc模块 (42)
4.1 Gcc模块定义 (42)
4.2 ARM-Linux-gcc模块安装编译 (43)
5. MINICOM模块 (44)
5.1 MINICOM定义 (44)
5.2 配置流程 (44)
6.内核烧录 (45)
6.1 内核介绍 (45)
6.2 模块执行流程 (45)
7.1 模块概述 (47)
7.2 QT环境搭建 (47)
7.3 插槽机制 (49)
7.4 主要数据结构和服务方法 (51)
第五章系统测试 (54)
1. 测试计划 (54)
1.1 测试对象 (54)
1.2 测试目标 (54)
1.3 测试原则 (55)
1.4 测试策略 (56)
2. 测试过程 (56)
2.1 模块测试 (56)
2.2 模块集成测试 (59)
2.3 系统测试 (61)
3. 错误总结 (62)
3.1 Mplayer移植错误分析 (62)
3.2 内核声卡驱动BUG消除 (63)
第六章结论 (67)
1. 本系统特色 (67)
2. 开发心得 (67)
致谢........................................ 错误!未定义书签。
参考文献 (70)
第一章 前 言
1. 研究背景和意义
随着物质生活的逐步改善,人们对精神层面的需求逐渐增强。
由于不满足于仅在家中欣赏电视提供的多媒体,便携的媒体播放器应运而生。
随着高科技的迅猛发展,人们对媒体播放器也提出了更加苛刻的要求。
比如更动听的音质,更多的视频音频支持格式,更加人性化的操作界面等等。
嵌入式系统是面向用户、面向产品、面向应用的专用计算机系统,不能独立于应用而自行发展,否则会失去市场。
嵌入式系统的核心部件即嵌入式微处理器的功耗、体积、成本、处理能力和电磁兼容性等均受应用要求的制约,这些方面也正是各个半导体厂商竞争的热点。
嵌入式系统的硬件、软件设计都必须精心考虑,力争在同样的硅片面积上实现更高的性能,只有如此,才能在具体应用时在处理器的选择面前更具有行业竞争力。
嵌入式处理器必须针对其用户的需求,对芯片配置进行裁剪才能符合性能标准。
由于嵌入式系统和具体应用有机结合起来,才能广泛应用于各种行业。
如图1-1所示。
图1-1 嵌入式系统应用 嵌入式系统
移动电话
智能商店
智能小区
相机、摄像
PDA
汽车
机器人
医疗设备 工业生产线 视听设备
计算机和信息技术极大地推动了工业自动化的进程,在媒体播放方面,独占鳌头的则是新兴的开源软件MPlayer。
MPlayer是Linux下最优秀的多媒体播放器之一,它的播放速度最快,支持的文件格式也最多,在X86 PC机上运行很稳定,将其移植到精简指令集的嵌入式系统中去,是十分有价值的。
由于MPlayer其开源的特性,使得修改,定制一份具有针对性的MPlayer 成为可能。
并随着MPlayer版本的提高,功能与稳定性的不断完善,使用MPlayer作为媒体播放器的产品将成为趋势。
由于开源软件免费的特性,使用MPlayer开发的产品将能够节省软件方面的成本。
因此,对于MPlayer移植的可行性的分析与实现,十分具有现实意义。
2. 嵌入式系统概述
2.1 嵌入式系统定义
目前嵌入式系统已经渗透到我们生活中的每个角落,其地位和价值已经不可取代。
关于嵌入式系统一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
可从几方面来理解嵌入式系统:
1、嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会更具有优势。
因此嵌入式系统具有很强的专用性,必须结合实际系统需求进行合理的裁减使用。
2、嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业具体应用相结合后的产物。
这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
所以,介入嵌入式系统行业,必须有一个正确的定位。
3、嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。
如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。
目前嵌入
式系统的核心往往是一个只有几K到几十K的微内核,需要根据实际的使用进行功能扩展或者裁减。
由于微内核的存在,使得这种扩展能够非常顺利的进行。
2.2 嵌入式系统构架
一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件。
核心部件是嵌入式处理器。
嵌入式处理器是为了完成专门的应用而设计的特殊目的的处理器。
在嵌入式处理器中往往集成了和具体应用有关的一些部件,有利于嵌入式系统小型化以及降低成本和功耗等。
同时,有些嵌入式处理器需要使用先进的芯片设计技术,可以达到密集型计算的应用需求。
嵌入式处理器一般分成如下四类:
1、嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)。
在通用计算机CPU的基础上,在工作温度、抗电磁干扰及可靠性等方面都做了各种增强。
在使用EMPU构建母板时,只保留和具体嵌入式应用相关的部件,可以大幅度减小系统体积和功耗。
嵌入式微处理器目前主要有AmI86/88、386EX、SC-400、Power PC、68000、MIPS和ARM系列等。
2、嵌入式微控制器(MicroController Unit,MCU)。
将整个计算机系统都集成到一块芯片中,也可以称为单片机。
与微处理相比,微控制器的体积较小,成本也较低,但是灵活性、系统资源有限,而且很难进行扩展。
3、嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)。
DSP 处理对系统结构和指令进行了特殊设计,使其适合与执行DSP算法,编译效率较高,指令执行速度较高。
4、嵌入式片上系统(System on Chip ,SOC)。
随着EDI 的推广和VLSI 设计的普及化及半导体工艺的迅速发展,在一块芯片里面可以实现复杂的系统。
SOC 很大程度地减小了系统的体积和功耗,提高可靠性。
如图1-2所示:
图1-2 嵌入式系统构架
在嵌入式系统中,为了有效地管理硬件资源以及多任务处理操作,在用户应用程序和嵌入式硬件之间加入了一层软件系统,称为嵌入式操作系统。
操作系统包括存储器管理、硬件设备管理、中断处理、任务间通信、任务调
硬件系统 软件系统 嵌入式存储器
输入、输出(I/O)
嵌
入
式
处
理
器
分时系统 嵌入式微处理器(EMPU)
嵌入式片上系统(SOC) 嵌入式DSP 处理器
嵌入式微控制器(MCU) 硬实时系统 软实时系统 实时系统
度以及定时器管理等软件模块。
嵌入式操作系统的引入,为用户应用程序的设计提供编程接口。
用户应用程序使用这些编程接口可以实现复杂的逻辑功能。
但是嵌入式操作系统本身需要一定的系统资源,而在嵌入式系统中,系统资源是有限的。
这就需要对嵌入式操作系统进行特别设计或者直接放弃操作系统。
目前,应用比较广泛的嵌入式操作系统主要有:μC/OS-Ⅱ、uCLinux、ARM-Linux、VxWorks、pSOS、Nucleus、PlamOS、Windows CE、Embedded Linux、ECOS、QNX、Lynx以及Symbia等。
2.3 嵌入式系统开发流程
嵌入式系统开发采用生命周期的方法,整个过程可以分为:
1、需求分析阶段
2、设计阶段(包括硬件与软件的规格要求)
嵌入式相关设计一般有两种方法,DARTS(Design and Analysis of Real-Time Systems)设计方法和CODARTS(Concurrent Design Approach for Real-Time System)方法。
DARTS法是结构化分析设计的扩展,其最根本的目的是对系统进行并行任务的划分,给出了划分任务的准则和定义任务间接口的机制。
CODARTS方法源自20世纪80年代初,是在解决工业机器人控制系统问题中产生的。
其前身为DARTS方法,后来为了解决分布式实时应用程序的需要,融入了采用状态转换图对系统行为特征建模等方法,逐步演化成为CODARTS建模方法。
3、生成代码阶段(编程、测试和调试)
绝大多数软件开发都是基于native方式,在通用微机上进行本机编辑、本机编译、本机链接、本机调试、本机运行。
但嵌入式软件的开发都是在支持交叉编译的环境下进行,这是一套编译器、连接器和libc库等组成的集成开发环境。
宿主机上交叉编译、交叉调试,目标机上运行被调试程序。
图1-3为流程说明图:
图1-3 嵌入式软件开发流程
交叉编译,就是在一台电脑上生成能够在另外一台电脑上执行程序的代码。
除了兼容性扩展的优势之外,交叉编译还以下两个优点:一是当目标系统对其可用的编译工具没有本地配置时,往往采用交叉编译来提供方便;二是当主机系统比目标系统要快得多,或者具有多得多的可用资源时,也会经常采用交叉编译的方法。
尤其是第二点非常重要,因为绝大部分嵌入式系统并没有能够编译生成可执行程序的能力,它们需要宿主机来帮助生成用来执行的代码程序。
本毕业设计系统建立交叉编译环境,利用可移植性强的C 语言在宿主机上编辑并交叉编译MPlayer 等一系列程序,再利用交叉编译调试工具链接生成可执行代码,最后向目标平台移植运行。
交叉函数库 代码编程
调试 交叉连接
交叉编译
目标板
C/汇编源程序
系统映像文件
Obj 文件
重定位和下载
嵌入式软件开发流程
3. 研究现状
3.1 嵌入式系统发展现状
嵌入式系统的核心部件是各种类型的嵌入式处理器,据不完全统计,全世界嵌入式处理器的品种已有上千种之多。
其中,我们最为熟悉的是8051和68H结构的产品。
实际上,几十年来,各种4、8、16和32位的处理器在嵌入式系统中都有广泛应用。
嵌入式系统的处理器可以分为两大类:一类是采用通用计算机的CPU为处理器,如X86系列;另一类为微控制器和DSP,微控制器具有单片化、体积小、功耗低、可靠性高、芯片上的外设资源丰富等特点,成为嵌入式系统的主流器件。
当前,嵌入式系统处理器的发展趋势主要采用32位嵌入式CPU,其主流系列有ARM(包括Intel公司的strong ARM和XScale)、MIPS和SH三大系列。
嵌入式系统CPU的另一类型为DSP。
当前,DSP处理器的典型结构是单片化嵌入式DSP,如TI公司的TMS320系列;另一类是在通用CPU或单片系统中增加DSP协处理器,如Intel公司的MCS-296等。
还有一种类型是选用嵌入式单片系统SOC(System On a Chip)。
其中,特别要指出,RISC技术为计算机体系结构带来了一次重大的变革。
简单的、固定长度的、单周期执行指令的RISC计算系统,与传统、复杂、可变长度指令并行执行的CISC计算机系统相比较,在相同的条件下,RISC技术的速度快2~5倍,具有巨大的性价比优势。
RISC技术推动着计算机体系结构从封闭的CISC向开放的结构发展。
因此,世界上各大CPU芯片制造厂商争相开发生产RISC芯片,目前的典型结构为ARM系列、MIPS和SH,32位字长,最高时钟速率可达400MHz。
多种嵌入式实时操作系统大都支持上述RISC处理器
近几年嵌入式系统技术发展有以下几个显著的变化:
1、新的处理器越来越多。
一方面,嵌入式操作系统自身结构的设计更
易于移植;另一方面,系统应能使用驱动程序开发与配置环境,造就一个新的BSP(板级支持包)和驱动程序结构,以适应微处理器的不断升级变化。
2、开放源码之风己波及嵌入式操作系统厂家。
越来越多的嵌入式操作系统厂家出售产品时,同时附加了源程序代码并含生产版税。
3、电信设备、控制系统要求的高可靠性,对嵌入式操作系统提出了新的要求。
各类通用机上使用的新技术、新观念正逐步移植到嵌入式系统中,如动态数据库、移动代理等;嵌入式操作系统也出现了基于面向对象的分布式技术,如实时CORBA、嵌入式CORSA,嵌入式软件平台正逐步形成。
4、主要由于人们对自由软件的渴望与嵌入式系统应用的定制性,要求提供系统源码层次上的支持,而嵌入式Linux适应了这一需求。
它具有开放源代码,系统内核小、效率高、内核网络结构完整等特点,裁减后的系统很适于如信息家电等嵌入式系统的开发。
5、嵌入式系统的多媒体化和网络化方向趋势,特别是嵌入式系统技术与Internet、无线网络等通讯手段的结合。
上述变化孕育嵌入式系统即将进入一个高速发展的新时期。
在不久的将来,嵌入式系统应用将越来越多样化。
它不仅仅局限于传统的控制领域,例如信息家电、工业、农业、商业、服务业等各行各业,而且将渗透到社会和家庭的各个角落。
嵌入式系统的未来将更加绚丽缤纷。
3.2 嵌入式移植研究现状
目前,对嵌入式Linux系统的开发正在蓬勃兴起,并已形成了很大的市场。
除了一些传统的Linux公司,像RedHat、VA Linux等,正在从事嵌入式Linux的研究之外,一批新公司(如Lineo、TimeSys等)和一些传统的大公司(如IBM、SGI、Motorola、Intel等)以及一些开发专用嵌入式操作系统的公司(如Lynx)也都在进行嵌入式Linux的研究和开发。
一方面因为像数码相机、MP3播放机、PDA、游戏机和移动电话手机等手持设备以及各种信息家电等有更高性能要求的多媒体和通信设备的推出。
在这些应用中,庞大的多媒体数据必然需要更大的存储空间,目前许多32位微控制器都可以使用SDRAM,因此可极大地降低使用更大容量数据存储器的成本;而8位微控制器一般只能使用成本较高的SRAM作为数据在座器。
此外除了处理应用控制功能之外,需支持互联网接入的应用在MCU运行TCP/IP或其它通信协议的情况下,要求系统建立在RTOS上就必然成为一种现实需求。
另外,有越来越多的像电视机、汽车音响及电子玩具等传统应用也与时俱进地提出数字化和―硬件软化‖的要求,它们对计算性能的要求及存储器容量的需求都超出绝大多数8位微控制器能提供的范围。
另一方面由于IT技术发展的推动,32位ARM体系结构已经成为一种事实上的标准,随着高端32位CPU价格的不断下降和开发环境的成熟,促使32位嵌入式处理器日益挤压原先由8位微控制器主导的应用空间。
随着ARM处理器在全球范围的流行,32位的RISC嵌入式处理器已经开始成为高中端嵌入式应用和设计的主流。
另外,越来越多的设计师认识到,转用32位架构不令能提升性能,还能降低相同成本下的系统功耗和节约总成本以及缩短产品上市时间。
这个转变为设计师提供了可随着产品的性能和需求不断扩展而升级的方案。
3.3 毕设系统研究现状
本系统主要利用ARM2410s嵌入式平台开发多种播放格式的MPlayer。
其中主要在开发平台上构建了一个播放器GUI来调用MPlayer播放视频,并通过对视频格式的研究,使之能播放多种视频格式。
第二章 系统分析
1. 系统通用模型
MPlayer 能使用众多本地的 Xanim ,RealPlayer 和 Win32 DLL 编解码器,可播放MPEG 、VOB 、AVI 、OGG 、VIVO 、ASF/WMV 、QT/MOV 、FLI 、RM 、NuppelVideo 、 yuv4mpeg 、 FILM 、 RoQ 文件。
MPlayer 的另一个大的特色是支持广泛的输出设备,它可以在X11、Xv 、DGA 、OpenGL 、SVGAlib 、fbdev 、Aalib 、DirectFB 下工作,而且你也能使用GGI 和SDL(由此使用它们支持的各种驱动模式)和一些低级的硬件相关的驱动模式。
这个播放器能很稳定地播放被破坏的MPEG 文件,并且它能播放 Windows media Player 都打不开的有损坏的AVI 文件,甚至,没有索引部分的AVI 文件也可以播放。
实现MPlayer 的嵌入式移植,主要采用以下的模型,即X86PC 机上MPlayer
的实现+ARM2410s 开发板上的移植。
如图2-1所示:
图2-1 MPlayer 的嵌入式移植模型
(1)X86PC 机上MPlayer 的实现
通过编译MPlayer 源文件、解码库、GUI 文件、字体文件,完成X86PC
MPlayer 源文件
解码库
GUI
字体
X86PC 机
MPlayer 源文件 通信 QTGUI 编译内核 ARM2410s 开发板
机上MPlayer的实现。
(2)ARM2410s开发板上的移植
QT制作播放器的GUI,并实现多种视频文件的播放。
最终完成向ARM2410s开发板的移植工作。
2. 系统主要任务和目标
S3C2410属于精简指令集CPU,定点计算,没有MMX(Multi Media eXtension,多媒体扩展指令集)指令,不支持硬件浮点计算,对大尺寸多媒体的编解码能力仍显不足,因而应用在真正媒体播放场合性能达不到要求。
但S3C2410与高端处理器相比价格低廉,通过合理的设计系统软硬件,可以实现低端的视频应用,用于衡量MPlayer移植的可行性。
2.1 主要研究内容
1、针对MPlayer开源的特性,充分了解MPlayer的运行原理。
2、研究各种视频格式的原理、结构,为MPlayer播放这些视频格式提供支持。
3、实现X86PC机向ARM2410s平台的移植并调试。
4、研究QT图形界面设计的详细过程。
2.2 主要目标
1、系统操作简单,易于使用。
简洁明了的图形化操作界面能够使操作人员很快地熟悉系统的使用,从而提高用户体验。
因此在开发本系统时力求软件的简单易用性,只需点击按钮即可进行MPlayer的控制操作。
2、可靠性好,系统稳定。
为加强用户体验,在简化操作的同时,要保证系统CPU占用率保持在合理的范围,使视频能正常、流畅地播放。
3、可维护性好。
各模块相互独立,便于修改和更新。
4、在实现此系统的过程中尽量遵循开放性标准,提高代码的重用性。
3. 系统结构分析
本次毕业设计基于嵌入式平台的MPlayer移植是主要围绕Linux主机和ARM2410s开发板,按照嵌入式开发流程进行的设计与开发。
ARM2410s开发板作为服务器端,作为MPlayer的播放屏幕和控制屏幕。
移植成功的MPlayer能够在开发板上实现视频的控制。
Linux机作为监控主机,进行播放信息的监控,CPU占用等一系列参数的测定。
3.1 ARM-Linux端
1、ARM-MPlayer模块:编译在ARM2410s开发板上运行的MPlayer。
2、ARM-Linux-gcc模块:实现ARM环境下编译环境的搭建。
3、MINICOM模块:实现X86PC机与ARM端的通信模块。
进行ARM端的连接,挂载,运行等操作。
4、内核烧录模块:重新编译并烧录内核,消除音频BUG。
3.2 X86PC端
1、X86-MPlayer模块:采用GCC编译器,编译X86PC端能够播放的MPlayer版本。
2、视频格式分析模块:将服务器端播放的视频状态以及CPU占用等一系列参数直观地显示在客户端主机上。
3、GUI模块:实现在ARM410s开发板上进行视频控制。
4、Linux-gcc模块:实现X86PC环境下编译器的搭建。
4. 系统选用的开发工具
4.1 UP-NETARM2410-S嵌入式开发平台
本系统平台采用Samsung公司的处理器S3C2410。
该处理器内部集成了ARM公司ARM920T处理器核的32位微控制器,资源丰富,带独立的16KB的指令Cache和16KB数据Cache、LCD控制器(最高4K色STN和256K彩色TFT,一个LCD专用DMA)、RAM控制器、NAND闪存控制器、
3路UART、4路带外部请求线的DMA、4个PWM定时器和一个内部定时器、看门狗定时器、并行I/O口、8通道10位ADC、触摸屏接口、一个多主IIC总线、一个IIS总线控制器、117个通用IO、24个外部中断、2个USB 接口控制器、2路SPI,主频最高可达203MHz、芯片内置PLL。
在处理器丰富资源的基础上,还进行了相关的配置和扩展,平台配置了16MB 16位的Flash和64MB 32位的SDRAM。
通过以太网控制器芯片DM9000E扩展了一个网口,另外引出了一个HOST USB接口。
16/32位精简指令体系结构,使用支持ARM调试的体系结构ARM920T CPU核的强大指令集,指令缓存(cache)、数据缓存、写缓冲和物理地址TAG RAM,减小了对主存储器带宽和性能的影响,ARM带MMU(Multi Media eXtension,多媒体扩展指令集)的先进的体系结构,支持Wince、Epoc32、Linux。
UP-NETARM2410-S嵌入式开发平台如下图2-2所示:
图2-2 UP-NETARM2410-S嵌入式开发平台
4.2 Linux操作系统
嵌入式操作系统,通常包括与硬件相关的底层驱动软作为件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。
嵌入式操作系统具有通用操作系统的基本特点:能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。
与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
几种代表性嵌入式操作系统比较(如下表2-1所列):
表2-1 四款嵌入式系统优缺点对比列表
VxWorks 美国WindRiver公司于1983年设计开发的一种嵌入式实
时操作系统(RTOS),良好的持续发展能力、高性能的内
核以及友好的用户开发环境,在嵌人式实时操作系统领域
逐渐占据一席之地。
具有微内核结构可裁剪;任务管理高
效;任务间通讯灵活;微秒级的中断处理;支持POSIX
1003.1b实时扩展标准和多种物理介质及标准完整的
TCP/IP网络协议等优点。
然而由于是专用操作系统,其价
格昂贵,一般不通供源代码,软件的开发和维护成本都非
常高,支持的硬件数量也有限。
Windows CE 对Windows系列有较好的兼容性。
其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作系统。
它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务操作系统。
它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。
但是由于没有开放源代码,使应用开发。