《基于arm和linux的嵌入式小区智能娱乐点播系统设计.docx》由会员分享,可在线阅读,更多相关《基于arm和linux的嵌入式小区智能娱乐点播系统设计.docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于 ARM9 和 Linux 的嵌入式小区智能娱乐点播系统设计 编 制:校 对:审 核:批 准:32摘 要 本项目实现了一款基于 ARM Linux 操纵系统和 Qt/Embedded 图形系统的嵌入式视 频点播系统。该系统提供美观、友好的图形用户界面。用户可方便地进行播放、停止、 暂停、选曲等操纵。mplayer 播放器输出的音频视频品质优良。 VOD 是 Video On Demand 的缩写,即视频点播的意思。顾名思义,它是一种可以 按用户需要点播节目的交互式视频系统,大概更广义一点讲,它可以为用户提供种种交 互式信息办事。交互式视频点播系统一般由 VOD 前端处置惩罚系统、传输网络、
2、用户机顶 盒三个部门组成。 交互式 VOD 集互联网、多媒体、通讯等多种技能于一体,向用户提供包罗数字电 视在内的多种交互式办事的崭新技能。 本设计将研究目标定位是设计一个GEC2440+液晶屏的视频点播系统。接纳的硬 件情况为海内外遍及使用的 ARM9 处置惩罚器 S3C2440,操纵系统接纳的是嵌入式 Linux 家 族中的 ARM Linux。 目 录 1 绪论 .6 嵌入式系统概述.6 项目内容和实现要害部门说明 .7 2 系统总体设计 .8 系统概述.8 办事器端设计.9 FTP 办事器 .9 目录办事器 .9 客户端设计框架.9 2.4 ARM 微处置惩罚器.9 .1 ARM 概述
3、.9 2.4.2 ARM 微处置惩罚器的特点 .10 2.4.3 ARM 微处置惩罚器系列.10 嵌入式操纵系统.11 嵌入式系统软件结构体系 .11 嵌入式操纵系统简介 .11 Linux 操纵系统简介.12 2.6 QT/EMBEDDED 用户界面 .14 3 系统硬件设计 .16 3.1 嵌入式系统硬件结构 .16 3.2 GEC2440 结构.16 3.3 GEC2440 硬件资源.17 3.4 S3C2440 简介 .18 4 系统软件设计 .19 搭建嵌入式 LINUX 开发情况.19 创建交织编译东西链 .20 超等终端 .21 NFS 配置.21 4.2 BOOTLOADER
4、移植 .22 4.3 LINUX 内核配置移植.24 Linux 内核结构.24 Linux 内核配置.25 Linux 内核编译.27 根文件系统制作.28 文件系统结构 .28 常见的嵌入式文件系统简介 .29 创建根目录和拷贝动态链接库 .30 交织编译 busybox.30 交织编译 bash.30 创建系统配置文件 .31 MPLAYER 播放器移植.31 目录办事器.32 4.7 人员配备.324.8 开发周期.32 1 绪论 嵌入式系统概述 嵌入式系统是以应用为中心,以盘算机技能为底子,软硬件可以配置,通常对功效、 可靠性、本钱、体积、功耗有严格约束的一种专用盘算机系统。嵌入式系
5、统所使用的计 算机称为嵌入式盘算机。当前先进的嵌入式系统,通常由嵌入式微处置惩罚器、外围硬件设 备、嵌入式操纵系统以及嵌入式应用步伐四个部门组成,实现对其它设备的控制、监督、 治理等功效。在物理结构和外观上,可凭据具体应用的特点,以箱体、单板、单片大概 漫衍结点等形式嵌埋于应用系统大概设备中。狭义而言,人们一般将深埋在宿主设备中 的、使用者不可见的微处置惩罚器系统,称为嵌入式系统,常见的单片机系统就是一种典范 的低级嵌入式系统。广义而言,若盘算机作为某种技能历程的焦点处置惩罚环节,直接与外 界自然的接口和互动,凭据情况事件的节拍主动、协调地做出响应,则我们可以认为该 盘算机被嵌入到这个具体的技
6、能历程中,称为一种嵌入式盘算机。包罗嵌入式盘算 机,实现这种技能历程的系统,就可以看作为嵌入式系统。在大系统中,嵌入式盘算机 不一定是可见的。从盘算机的事情模式来说,绝大多数嵌入式系统中的盘算机运行于一 种实时盘算的模式。德国产业尺度 DIN44330 将实时盘算模式界说为实时盘算模式是 一种盘算机系统的操纵模式。在这种模式下,处置惩罚从外部输入的数据的步伐总是就绪的。 所以,可以在可以预测的时间内得到希望的结果;外部数据到达的时间可以是随机漫衍, 也可以是预先决定的,具体情况由差别应用决定。实时性是一般嵌入式应用的内在要 求。凭据应用所强调的属性的差别,可以将这种盘算机基于 ARM Linu
7、x 和 Qt/Embedded 的嵌入式视频点播系统的研究和实现应用系统,称为嵌入式系统、实时系统大概嵌入式 实时系统。嵌入式盘算机系统遍及地应用于办公自动化、消费、通信、汽车、产业和军 事领域。典范应用包罗:历程控制、网络通信、智能仪器、消费电子、盘算机外设以及 军事电子等。 与通用盘算机系统相比,嵌入式盘算机系统具有以下的特点: ( 1)实时响应:嵌入式系统是某种技能历程的焦点处置惩罚环节,必须满足技能历程 中的处置惩罚时间限制的要求。 ( 2)并发处置惩罚:现实应用中,嵌入式系统需要实时处置惩罚的外部事件通常都不是单 一的。这些事件是随机产生的,并且可能同时出现。因此,嵌入式处置惩罚具有
8、漫衍和并发 6 的特点。 ( 3)专用紧凑:由于嵌入式设备的用途牢固、本钱敏感,软硬件资源够用即可。 因此,在体积、功耗和配置等方面有明显的约束。 ( 4)结实可靠:嵌入式产物的使用人员多为非盘算机专业人员,且使用情况可能 不牢固,往往条件恶劣。因此,结实性和可靠性也是嵌入式系统的须要条件。 ( 5)多样性:嵌入式系统应用遍及、形式多样。 ( 6)技能密集:嵌入式系统通常是盘算机技能、微电子技能和具体应用行业技能 结合的产物。因此,它一定是一个技能密集、需要不停创新的知识集成系统。 ( 7)开发困难:嵌入式系统自己不具备自举开发的功效。设计完成以后,用户也 1 不能对其中的步伐功效进行修改。嵌
9、入式系统开发通常需要一套专门的东西和情况 。 项目内容和实现要害部门说明 凭据目前海内外对嵌入式的研究和开发,结合实际的实验条件,本项目使用硬件平 台广东省嵌入式软件大众技能中心开发的 GEC2440 开发板作为目标机,使用安装 Windows XP 的 PC 机作为宿主机,并在宿主机 Windows 平台上安装了一个虚拟机软件, 虚拟机里安装的是 Red Hat EnterpriseLinux 4 作为开发情况。主要实现事情包罗:在宿主 机上安装交织编译东西,创建交织编译情况,配置 NFS、超等终端以创建嵌入式软件平 台。针对项目需求实现对驱动步伐的完善和移植,制作适合此开发板的根文件系统。
10、 7 2 系统总体设计 系统概述 交互式网络 VOD 构架如图 所示: Mplayer 播放器 网络点播 连接 ftp 办事器 播放 Vod 客户端 启动 客户端 返回影片信息 索取影片信息 目录办事器 办事器 图 交互式 VOD 共有四个部门组成: ( 1)ftp 办事器,主要提供片源办事,流媒体办事,这里我们选择 Serv-U 办事器软 件。此软件为一个 ftp 办事器软件!可将本机的指定文件夹对外提供 ftp 办事。 ( 2)目录办事器软件,主要提供办事器上各个影片信息,主要包罗片名,演员表, 内容简介,影片巨细以及完成片名和影片实际地点的转换。应与 ftp 办事器为同一台机 器。 (
11、3)VOD 客户端,主要接纳 QTE 图形界面,用来显示办事器上的影片列表,和 影片信息,取得各影片的实际地点。调用播放器播放影片。 ( 4)Mplayer 播放器,由 VOD 客户端调用,播放影片。 8 办事器端设计 FTP 办事器 本设计网络办事器的 FTP 办事器,接纳的 FTP 办事器软件为 Serv-U,Serv-U 是一 种被遍及运用的 FTP 办事器端软件,支持 9x/ME/NT/2K 等全 Windows 系列。它设置 简朴,功效强大,性能稳定。FTP 办事器用户通过它用 FTP 协议能在 internet 上共享 文件。它并不是简朴地提供文件的下载,还为用户的系统宁静提供了相
12、当全面的掩护。 目录办事器 由于 FTP 办事器接纳的软件是基于 Windows 操纵系统的,而目录办事器和 FTP 服 务器必须为同一个 IP 地点。 客户端设计框架 GEC2440原型系统体系结构如图: 应用步伐 播放器 浏览器 QPE 桌面情况 C 库+QT 库 内核 驱动步伐 底层硬件 图 机顶盒原型系统体系结构 2.4 ARM 微处置惩罚器 本设计选用的底层硬件为基于 ARM9 的硬件构架。现对 ARM 做简朴介绍。 2.4.1 ARM 概述 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对 一类微处置惩罚器的通称,还可以认为是一种技
13、能的名字。 ARM 公司是专门从事基于 RISC 技能芯片设计开发的公司,作为知识产权供给商, 9 自己不直接从事芯片生产,靠转让设计许可由互助公司生产各具特色的芯片,世界各大 半导体生产商从 ARM 公司购置其设计的 ARM 微处置惩罚器核,凭据各自差别的应用领域, 参加适当的外围电路,从而形成自己的 ARM 微处置惩罚器芯片进入市场。目前,全世界有 几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技能得到更多的第 三方东西、制造、软件的支持,又使整个系统本钱低落,使产物更容易进入市场被消费 者所担当,更具有竞争力。 目前,接纳 ARM 技能知识产权(IP)核的微处置惩罚
14、器,即我们通常所说的 ARM 微处置惩罚 器,已遍及产业控制、消费类电子产物、通信系统、网络系统、无线系统等种种产物市 场,基于 ARM 技能的微处置惩罚器的应用约莫占据了 32 位 RISC 微处置惩罚器 75%以上的市场 2 份额,ARM 技能正在逐步渗入到我们生活的各个方面 。 2.4.2 ARM 微处置惩罚器的特点 接纳 RISC 架构的 ARM 微处置惩罚器一般具有如下特点: ( 1)体积小、低功耗、低本钱、高性能; ( 2)支持 Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容 8 位/16 位器件; ( 3)大量使用寄存器,指令执行速度更快; ( 4)大多数数据操
15、纵都在寄存器中完成; ( 5)寻址方法灵活简朴,执行效率高; ( 6)指令长度牢固。 基于这一系列优点,ARM 处置惩罚器适用于多种领域,好比嵌入式控制、消费/教诲类 多媒体、DSP 和移动式应用等。 2.4.3 ARM 微处置惩罚器系列 ARM 微处置惩罚器目前包罗下面几个系列,以及其它厂商基于 ARM 体系结构的处置惩罚 器。除了具有 ARM 体系结构的配合特点以外,每一个系列的 ARM 微处置惩罚器都有各自 的特点和应用领域。 ( 1)ARM7 系列 ( 2)ARM9 系列 本文所用的 ATMEL 公司的 AT91RM920T 即属于该系列的处置惩罚器。 ( 3)ARM9E 系列 10
16、( 4)ARM10E 系列 ( 5)SecurCore 系列 ( 6)Intel 的 Xscale 处置惩罚器 ( 7)Intel 的 StrongARM 嵌入式操纵系统 嵌入式系统软件结构体系 现代嵌入式系统软件结构可以分为四个条理:设备驱动、操纵系统、应用中间件和 应用步伐,如图 所示。 应用步伐 API(应用步伐接口) 嵌入式操纵系统 根本部门 电源治理 OS Core 文件系统 GUI 治理器 扩展部门 TCP/IP 浏览器 数据库 WAP HTTP DDI(设备驱动接口) CPU 等外围硬件设备 图 嵌入式系统软件结构体系 嵌入式操纵系统简介 嵌入式操纵系统(Embedded Ope
17、rating System,EOS),是操纵系统的一种,是在传统 操纵系统底子上参加切合嵌入式应用的元素生长而来,它卖力嵌入式系统的全部软、硬 件资源的分派、调理、控制和协调。嵌入式操纵系统必须体现它所在系统的特征,能够 通过加载或卸载某些模块来到达系统所要求的功效。 嵌入式操纵系统除了具备一般操纵系统最根本的功效(如任务调理、同步机制、中 11 断处置惩罚、文件处置惩罚等)外,另有以下的特点: ( 1)强稳定性。 ( 2)较强的实时性:嵌入式操纵系统一般实时性较强,可用于种种设备的控制中。 ( 3)可伸缩性:开放、可伸缩的体系结构。 ( 4)外设接口的统一性:提供种种设备驱动接口。 目前国际
18、上用于信息电器的嵌入式操纵系统有 40 种左右。海内常见的嵌入式操纵 系统有 Linux、uClinux、WindowsCE、VxWorks、QNX、eCos、PalmOS、Symbian、uC/OS- 等。 其中嵌入式 Linux 和 WindowsCE 都是从台式机的操纵系统演变而来。而 VxWorks、 QNX、eCos,、PalmOS、和 Symbian 等则是专门凭据嵌入式系统应用需求设计的操纵系 统。 嵌入式操纵系统又可按实时性要求分为两大类: ( 1)实时操纵系统(Real-Time Operating System,RTOS):是指操纵系统自己要能在 一个牢固时限内对步伐调用(
19、或外部事件)做出正确的反响,也就是对时序与稳定性的要 求十分严格。目前较为知名的实时操纵系统有 VxWorks、Nucleus Plus、OS/9、VRTX、 RT-Linux、BlueCat RT 等。 ( 2)通用性操纵系统:也叫非实时性操纵系统,这类操纵系统在执行性能和反响速 度方面,比起实时操纵系统没有那么严格。目前较知名的通用型操纵系统有 Windows 2 CE、Palm OS、TimeSys Linux/GPL 和 BlueCat Linux 等等 。 Linux 操纵系统简介 Linux 是一种类 UNIX 操纵系统。兼容 尺度,并包罗了 UNIX System V 和 的大部
20、门特征。它充实体现了操纵系统的方展趋势,即开放、稳定、尺度。 Linux 具有如下的特征: (1)真正的多用户、多任务操纵系统。 (2)切合 POSIX(可移植操纵系统接口)尺度。 (3)接纳页式存储治理。 (4)支持动态链接库。 (5)提供具有内置宁静步伐的分层文件系统。 (6)提供 Shell 命令解释步伐和编程语言。 12 (7)提供强大的治理功效,包罗远程治理功效。 (8)提供内核编程接口。 (9)具备图形用户接口。 (10)具备大量的实用步伐和通信、联网东西。 (11)大量高级步伐设计语言已经被移植到 Linux 系统上,因此它是理想的应用步伐 3 开发平台 。 Linux 作为桌面
21、操纵系统的应用正在不停增长。而在办事器市场,Linux 已经可以同 种种传统的商业操纵系统不相上下,占据了相当大的市场份额。同时,在嵌入式领域 4 Linux 的应用也得到的飞速的生长,这与 Linux 自己的优良特性 密不可分: ( 1)开放源码,富厚的软件资源。Linux 遵循 GPL,保障用户可以免费得到内核源 代码。由于嵌入式系统千差万别,往往需要针对具体应用修改和优化系统,此时能否获 得源代码就至关重要。Linux 上的软件资源十分富厚。在 Linux 上开发应用步伐可以借 鉴已有的类似的自由软件,可以节省开发的事情量,缩短开发时间。 ( 2)功效强大的内核,性能高效、稳定、多任务。
22、并且 Linux 的内核小巧灵活, 易于淘汰。使得 Linux 适合嵌入式系统的应用。 ( 3)支持多种体系结构:X86、ARM、MIPS、SPARC 等。目前,Linux 已经被移 植到数十种硬件平台之上。险些所有流行的 CPU,Linux 都支持。 ( 4)完善的网络通信、图形和文件治理机制。Linux 自己就是 Internet 的产物,网 络是 Linux 的强项。另外,Linux 支持 ext2、fat16、fat32、romfs 等多种文件系统。在图 形系统方面,Linux 上既有成熟的 XWindow,也有 Qt/Embedded、MiniGUI 等嵌入式图 形系统。 ( 5)支
23、持大量的周边硬件设备,驱动步伐资源富厚。Linux 上的驱动已经非常富厚, 支持种种主流硬件设备和最新的硬件技能。并且随着 Linux 的遍及应用,许多芯片厂商 已经开始提供针对 Linux 的驱动步伐。 ( 6)易于针对具体应用定制。Linux 内核与用户界面完全独立,各部门的第 3 章嵌 入式系统与嵌入式 Linux 可定制性都很强,能适合多种需求,特别是硬件资源有限的嵌 入式系统。 目前,世界上许多大学、研究机构和知名公司都参加到嵌入式 Linux 的开发事情中, 较成熟的嵌入式 Linux 版本不停涌现,如 RT-Linux、Embedix、XLinux、uClinux 以及本 13
24、研究中使用的、运行在 ARM 平台上的 ARM Linux。 2.6 Qt/Embedded 用户界面 当前嵌入式 Linux 在手机、PDA 等手持信息设备领域的应用十分遍及。种种手持设 15 备是否拥有图形用户界面 (GUI)己经成为其人机交互技能的要害体现,所以一个十分 友好的图形用户界面(GUI)是必不可少的。嵌入式 GUI 是嵌入式系统遍及应用的人机交 互接口。嵌入式系统有限的硬件资源要求嵌入式 GUI 必须简朴、直观、可靠、占用资源 小且反响快速。由于嵌入式系统硬件自己的多样性,嵌入式 GUI 应具备高度可移植性与 可淘汰性。 一个具备良好移植性的嵌入式 GUI 系统,其底层接口应
25、该在很大水平上隐藏具体硬 件的实现细节,抽象出以 GAL 与 IAL 层。GAL 层完成系统对具体的显示硬件设备的操 作,为步伐开发人员提供统一的图形编程接口。IAL 层则需要实现对付种种差别输入设 备的控制操纵,提供统一的调用接口。一个典范的嵌入式 GUI 系统结构如图 所示。 应用步伐编程接口(API) 嵌入式 GUI 实现 GAL 层 图形显示设备 IAL 层 输入设备 图 嵌入式 GUI 系统结构 Qt/Embedded 是著名的 Qt 库开发商 Trolltech 公司开发的面向嵌入式系统的 Qt 版本。 因为 Qt 是 KDE 等项目使用的 GUI 支持库,许多基于 Qt 的 X
26、Window 步伐因此可以非 常方便地移植到 Qt/Embedded 上。Qt/Embedded 接纳 framebuffer(帧缓冲)作为底层图形 接口。同时,将外部输入设备抽象为 keyboard 和 mouse 输入事件。Qt/Embedded 的应用 步伐可以直接写内核缓冲帧,这制止开发者使用繁琐的 XLIB/Server 系统。QT/Embedded 和 QT/X 的比拟见图。 14 QT 应用步伐(如 Qtopia) QT 应用步伐接口(API) QT/X11 QT/Embedded 库 QT/XLIB XWindows server 帧缓冲(frambuffer) Linux 内
27、核 图 2.5 QT/Embedded 和 QT/X 的比拟 Qt/Embedded 类完全接纳 C+封装。富厚的控件资源和较好的可移植性是 Qt/Embedded 最为优秀的一方面。它的类库接口完全兼容于同版本的 Qt-X11,使用 X Window 下的开发东西可以直接开发基于 Qt/Embedded 的应用步伐 GUI 界面。 15 3 系统硬件设计 嵌入式系统硬件结构 如图 所示,嵌入式系统的硬件部门可以分成三层:焦点处置惩罚器、外围电路和外部设备。 外围电路 调试接口 时钟治理 模块 CPU 电源模块 晶振电路 复位电路 扩展端口 中断控制 器 定时器 DMA 控 制器 CPU 焦点
28、 I/O 端口 SRAM DRAM Flash ROM A/D USB LCD 键盘 外部设备 IRDA 触摸屏 Others 图 嵌入式系统硬件结构 焦点处置惩罚器(CPU core)是嵌入式系统的焦点部件,卖力控制整个嵌入式系统的运作。 外围电路包罗嵌入式系统的内存、I/O 端口、复位和电源电路、对外设的接口电路等。随 着,微电子技能的生长,许多常用的接口电路已经被集成到焦点处置惩罚器中。 外部设备:嵌入式系统与真实情况交互的种种设备,包罗存储设备(如 Flash Card)、I/O 设备(如键盘、鼠标、LCD 等)和打印设备(打印机、扫描仪等)。 实际中,嵌入式设备的硬件配置非常灵活。除
29、了 CPU 和根本的外围电路,其余部门都可以 凭据不消应用进行淘汰。 3.2 GEC2440 结构 本文使用硬件平台广东省嵌入式软件大众技能中心开发的 GEC2440 开发板作为硬件平台, GEC2440 是模仿广为流行的三星 smdk2410 开发板而设计的低价位开发板,下面对 GEC2440 做一些简朴介绍。 16 DM8900 USB 接口 9 针串口 DC/DC 电源模 块 以太网 PHY USB 发送器 RS232 驱动器 扩展接口 CPU S3C2410 微处置惩罚器 SDRAM 64MB HY57V561620 LCD 接口 内部总线 通用 IO 口 FLASH 64MB K9F1208 A/D 和 D/A 数据采样,数字口 图 3.2 GEC2440 开发板结构图 GEC2440 的设计结构框架如图 所示。图中,虚线框所包罗的模块组成焦点电路,虚线 框以外的模块组成接口。以 ARM920T 为内核的三星 SC32410 是控制焦点,卖力控制所有帮助 设备。存储器接纳 SDRAM 和 FLASH 两种类型,能满足系统运行和调试的需要。根本端口包 括以太网接口,USB 接口,另有两个 RS232 的串口。A/D 和 D/A 模块主要用于现场数据的采 集与控制信号的输出。DC/DC 模块主要卖力整个系统
限制150内