收藏 分销(赏)

基于s3c2440嵌入式视频点播系统的研究.pdf

上传人:曲**** 文档编号:3139323 上传时间:2024-06-19 格式:PDF 页数:48 大小:2.64MB
下载 相关 举报
基于s3c2440嵌入式视频点播系统的研究.pdf_第1页
第1页 / 共48页
基于s3c2440嵌入式视频点播系统的研究.pdf_第2页
第2页 / 共48页
基于s3c2440嵌入式视频点播系统的研究.pdf_第3页
第3页 / 共48页
基于s3c2440嵌入式视频点播系统的研究.pdf_第4页
第4页 / 共48页
基于s3c2440嵌入式视频点播系统的研究.pdf_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、基于s3c2440的嵌入式视频点播系统的研究 与实现摘要VOD是Video On Demand的缩写,即视频点播的意思。顾名思义,它是种可以按 用户需要点播节目的交互式视频系统,或者更广义一点讲,它可以为用户提供各种交互 式信息服务。交互式视频点播系统一般由VOD前端处理系统、传输网络、川户机顶盒三 个部分组成。交互式VOD集互联网、多媒体、通讯等多种技术于一体,向用户提供包括数字电视 在内的多种交互式服务的崭新技术。本论文实现了一款基于ARM Linux操作系统和Qt/Embedded图形系统的嵌入式视频 点播系统。该系统提供美观、友好的图形用户界面。用户可方便地进行播放、停止、暂 停、选曲

2、等操作。mplayer播放器输出的音频视频品质优良。本设计将研究目标定位是设计个网络机顶盒+液晶屏的视频点播系统。采川的硬 件环境为国内外广泛使川的ARM9处理器S3C2440,操作系统采用的是嵌入式inux家族 中的ARM Linux,着重阐述了视频点播系统的原理、设计方案,硬件模块和软件模块的 实现方法。关键字:VOD,ARM,Linux,操作系统,嵌入式,视频点播系统ABSTRACT The project achieved an operating system based on ARM Linux and Qt/Embedded graphics system of the embe

3、dded video on demand system.The system provides beautiful,friendly graphical user interface.Users can easily play,stop,pause,song selection and other operations,mplayer video player,audio output quality.Video On Demand VOD is the acronym that means video on demand.As the name suggests,it is a need f

4、or on-demand programming can be users of the interactive video system,or a little more broadly speaking,it can provide users with a variety of interactive information services.Interactive video-on-demand systems are generally the front-end VOD system,transport network,the user set-top box composed o

5、f three parts.Internet VOD set of interactive,multimedia,communications and other technology,and to provide users,including a variety of interactive digital television services,including new technology.The design of the study is to design a network targeting set-top box+LCD screen video on demand sy

6、stem.Hardware environment used widely used at home and abroad ARM9 processor S3C2440,embedded Linux operating system is used by the family of ARM Linux,Focused on the VOD system theory,design,hardware modules and software modules Implementation.KEY WORDS:VOD,ARM,Linux,operating system,embedded,video

7、 on demand system目录第一章绪论.61.!嵌入式系统概述.71.3项目内容和实现关键部分说明.8第二章系统总体设计.92.1 系统概述.92.2 服务器端设计.92.2.1 FTP月艮务器.92.2.2 目录服务器.102.3 客户端设计框架.102.4 ARM微处理器.102.4.1 ARM 概述.102.4.2 ARM微处理器的特点.102.4.3 ARM微处理器系列.112.5 嵌入式操作系统.122.5.1 嵌入式系统软件结构体系.122.5.2 嵌入式操作系统简介.122.5.3 Linux 操作系统简介.132.6 Qt/Embedded 用户界面.14第三章系统硬

8、件设计.173.1 嵌入式系统硬件结构.173.2 UTU2440 结构.173.3 UTU2440 硬件资源.193.4 S3c2440 简介.19第四章 系统软件设计.214.1 搭建嵌入式Linux开发环境.214.1.1 建立交叉编译工具链.224.1.2 超级终端.234.1.3 NFS 酉己置.234.2 Bootloader 移植.234.3 Linux 内 核酉已置移植.264.3.1 Linux 内核结构.264.3.2 Linux 内核配置.274.3.3 Linux 内核编译.304.4 根文件系统制作.314.4.1 文件系统结构.314.4.2 常见的嵌入式文件系统简

9、介.324.4.3 建立根目录和拷贝动态链接库.334.4.4 交叉编译 busybox.334.4.5 交叉编译bash.334.4.6 建立系统配置文件.344.5 MPLAYER播放器移植.344.6 目录服务器.34第五章 用户界面部分.365.1 建立 Qt/Embedded开发环境.365.1.1 编译基于PC的开发环境的程序.365.2 各响应函数流程图分析.385.2.1 窗 1各响应函数流程图分析.385.2.2 窗 2各响应函数流程图分析.395.2.3 窗 3各响应函数流程图分析.415.2.4 窗 5各响应函数流程图分析.43I附录:各用户界面操作概述.45,1 刖5随

10、着我国电子工业越来越发达,尤其是消费电子方面表现爆发式的发展,但又面临 存储资源的制约,为了弥补这资源缺口,工程师们都想出了各自的办法,往资源共享 方面开发实川的项目,其中比较流行的是多媒体网络共享。利川网络载体,可以方便快 捷的传输想要的信息和资源,比如利用网络教学,可以减轻师资、教材、实验设备等教 学资源的压,学生可以根据自己的实际情况安排学习计划和学习进度,做到个性化教 育。然而学校为了能使学生享受网络教学,就要建设多大型机房和购买大量的计算机,那将耗费笔不少的费用,这对于普通的学校来说,是比较难于承受的。同时,学生在 接受多媒体网络教学时,都要随身带着体积庞大的计算机,这样就难以达到随

11、时随地学 习的目的;还有就是手机点播功能人们就不用携带大容量的存储设备都可以随时随地的 享受语言图像带来的视觉听觉享受,大量节省人们的费用。本文设计的嵌入式视频点播系统将有效地缓解消费电子存储资源的困难,本系统把 嵌入式和流媒体技术结合在起,具有体积小、操作方便、成本低、稳定性好等优点,能安装在图书馆、教学、手机视频播放等场合。6第一章绪论1.1嵌入式系统概述嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内个普 遍被认同的定义是:以成川为中心、以计算机技术为基础、软件硬件可裁剪、适应成川 系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。当前先进的嵌入 式系统,通

12、常由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及嵌入式成用程序 四个部分组成,实现对其它设备的控制、监视、管理等功能。在物理结构和外观上,可 根据具体成用的特点,以箱体、单板、单片或者分布结点等形式嵌埋于成用系统或者设 备中。狭义而言,人们一般将深埋在宿主设备中的、使用者不可见的微处理器系统,称 为嵌入式系统,常见的单片机系统就是种典型的初级嵌入式系统。广义而言,若计算 机作为某种技术过程的核心处理环节,直接与外界自然的接口和互动,按照环境事件的 节拍主动、协调地做出响成,则可以认为该计算机被“嵌入”到这个具体的技术过程中,称为一种嵌入式计算机。根据成用所强调的属性的不同,可以将这种计算机

13、基于ARM Linux和Qt/Embedded的嵌入式视频点播系统的研究和实现成用系统,称为嵌入式系统、实时系统或者嵌入式实时系统。包含嵌入式计算机,实现这种技术过程的系统,就可以 看作为嵌入式系统。嵌入式计算机系统广泛地成用于办公自动化、消费、通信、汽车、工业和军事领域。典型成用包括:过程控制、网络通信、智能仪器、消费电子、计算机 外设以及军事电子等。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:1)对实时任务有很强的支持能力,能完成多任务并且有较短的中断响成时间,从 而使内部的代码和实时内核心的执行时间减少到最低限度。2)具有功能很强的存储区保护功能。这是由于嵌入

14、式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同 时也有利于软件诊断。3)可扩展的处理器结构,以能最迅速地开发出满足成用的最高性能的嵌入式微处 理器。4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至!LiW级。7嵌入式计算机系统同通用型计算机系统相比具有以下特点:1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式 CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高 等特点,能够把通用CPU中许多由板卡完成的

15、任务集成在芯片内部,从而有利于嵌入 式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应 用相结合后的产物。这一点就决定了它必然是个技术密集、资金密集、高度分散、不 断创新的知识集成系统。3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同 样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争。4.嵌入式系统和具体应用有机地结合在起,它的升级换代也是和具体产品同步进 行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。5.为了提高执行速度和系统可靠性,嵌入式系

16、统中的软件一般都固化在存储器芯片 或单片机本身中,而不是存贮于磁盘等载体中。6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其 中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。7.目前,嵌入式系统多用于手机等操作系统的开发。具有巨大的市场潜1.3项目内容和实现关键部分说明根据目前国内外对嵌入式的研究和开发,结合实际的实验条件,本文用硬件平台为 扬创科技有限公司开发的utu2440开发板作为目标机,使用安装Windows XP的PC机 作为宿主机,并在宿主机Windows平台上安装了一个虚拟机软件,虚拟机里安装的是操 作系统fbdora 10作为开发环境。主

17、要实现工作包括:在宿主机上安装交叉编译工具,建 立交叉编译环境,配置FTP、超级终端以建立嵌入式软件平台。针对项目需求实现对驱 动程序的完善和移植,制作适合此开发板的根文件系统,应用qt creator工具设计 VOD-UI(视频点播系统的图形界面)。8第二章系统总体设计2.I系统概述交互式网络VOD构架如图2.1所示:客户端 服务器图2.1交互式VOD共有四个部分组成:(1)ftp服务器,主要提供片源服务,流媒体服务,这里选择佗dora 10自带FTP 服务器软件。此软件为个在p服务器软件,可将本机的指定文件夹对外提供在p服务。(2)目录服务器软件,主要提供服务器上各个影片信息,主要包括片名

18、,演员表,内容简介,影片大小以及完成片名和影片实际地址的转换。应与在p服务器为同一台机 器。(3)VOD客户端,主要采用QTE图形界面,用来显示服务器上的影片列表,和 影片信息,取得各影片的实际地址。调川播放器播放影片。(4)Mplayer播放器,由VOD客户端调用,播放影片。2.2 服务器端设计2.2.1 FTP服务器本设计网络服务器的FTP服务器,采用的FTP服务器软件为fedora 10自带FTP服 务器软件,fedora 10自带FTP服务器软件应用起来方便快捷而且安全,支持 99x/ME/NT/2K等全Windows系列。它设置简单,功能强大,性能稳定。FTP服务器用 户通过它用FT

19、P协议能在internet上共享文件。它并不是简单地提供文件的下载,还为 用户的系统安全提供了相当全面的保护。2.2.2 目录服务器由于FTP服务器采用的软件是基于Linux操作系统的,对目标机的兼容性更好,而 目录服务器和FTP服务器必须为同一个IP地址。2.3 客户端设计框架网络机顶盒原型系统体系结构如图2.2:应用程序播放器 浏览器QPE桌面环境C库+QT库内该 I驱动程序底层硬件图2.2机顶盒原型系统体系结构2.4 ARM微处理器本设计选用的底层硬件为基于ARM9的硬件构架。现对ARM做简单介绍。2.4.1 ARM 概述ARM即Advanced RISC Machines的缩写,既可以

20、认为是个公司的名字,也可以认 为是对类微处理器的通称,还可以认为是种技术的名字。1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由 美国加州SanJoseVLSI技术公司制造。20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教 育基础。1990 年成立了 Advanced RISC Machines Limited(后来简称为 ARM Limited,ARM 10公司)。20 世纪 90 年代,ARM 32 位嵌入式 RISC(Reduced Instruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成

21、本和高性能的嵌入式系统应用领域的领先 地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已遍及 工业控制、消费类电子产品、通佶系统、网络系统、无线系统等各类产品市场,基于ARM 技术的微处理器的应用大约占据了 32位RISC微处理器75%以上的市场份额,ARM技术 正在逐步渗入到人们生活的各个方面。2.4.2 ARM微处理器的特点采用RISC架构的ARM微处理器一般具有如下特点:(1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;

22、(3)大量使川寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。基于这系列优点,ARM处理器适用于多种领域,比如嵌入式控制、消费/教育类 多媒体、DSP和移动式应川等。2.4.3 ARM微处理器系列ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理 器。除了具有ARM体系结构的共同特点以外,每个系列的ARM微处理器都有各自 的特点和应用领域。(1)ARM7 系列(2)ARM9 系列本文所用的ATMEL公司的AT91RM920T即属于该系列的处理器。(3)ARM9E 系列(4)ARM10E 系列(5)Se

23、curCore 系列(6)Intel 的 Xscale 处理器117)Intel 的 StrongARM2.5 嵌入式操作系统2.5.1 嵌入式系统软件结构体系现代嵌入式系统软件结构可以分为四个层次:设备驱动、操作系统、成川中间件和 应用程序,如图2.3所示。图2.3嵌入式系统软件结构体系2.5.2 嵌入式操作系统简介嵌入式操作系统(Embedded Operating System,EOS),是操作系统的种,是在传统 操作系统基础上加入符合嵌入式应用的元素发展而来,它负贡嵌入式系统的全部软、硬 件资源的分配、调度、控制和协调。嵌入式操作系统必须体现它所在系统的特征,能够 通过加载或卸载某些模

24、块来达到系统所要求的功能。嵌入式操作系统除了具备一般操作系统最基本的功能(如任务调度、同步机制、中 断处理、文件处理等)外,还有以下的特点:1)强稳定性。(2)较强的实时性:嵌入式操作系统一般实时性较强,可用于各种设备的控制中。12(3)可伸缩性:开放、可伸缩的体系结构。(4)外设接口的统性:提供各种设备驱动接口。目前国际上用于信息电器的嵌入式操作系统有40种左右。国内常见的嵌入式操作 系统有 Linux uClinux WindowsCE、VxWorks、QNX、eCos PalmOS Symbian、uC/OS-II等。其中嵌入式Linux和WindowsCE都是从台式机的操作系统演变而来

25、。而VxWorks、QNX、eCos,PalmOS和Symbian等则是专门根据嵌入式系统应用需求设计的操作系 统。嵌入式操作系统又可按实时性要求分为两大类:1)实时操作系统(Real-Time Operating System,RTOS):是指操作系统本身要能在 个固定时限内对程序调用(或外部事件)做出正确的反应,也就是对时序与稳定性的要 求十分严格。目前较为知名的实时操作系统有VxWorks、Nucleus Plus OS/9、VRTX、RT-Linux、BlueCatRT 等。(2)通用性操作系统:也叫非实时性操作系统,这类操作系统在执行性能和反应速 度方面,比起实时操作系统没有那么严格

26、。目前较知名的通用型操作系统有Windows CE、Palm OS、TimeSys Linux/GPL 和 BlueCat Linux 等等。2.5.3 Linux操作系统简介Linux是一种类UNIX操作系统。兼容POSIX 1003.I标准,并包含了 UNIX System V和BSD 4.3的大部分特征。它充分体现了操作系统的方展趋势,即开放、稳定、标准。Linux具有如下的特征:(1)真正的多用户、多任务操作系统。(2)符合POSIX(可移植操作系统接口)标准。(3)采用页式存储管理。(4)支持动态链接库。(5)提供具有内置安全措施的分层文件系统。(6)提供Shel!命令解释程序和编程

27、语言。(7)提供强大的管理功能,包括远程管理功能。(8)提供内核编程接口。(9)具备图形用户接口。13(10)具备大量的实用程序和通信、联网工具。(H)大量高级程序设计语言已经被移植到Linux系统上,因此它是理想的应用程序 开发平台。Linux作为桌面操作系统的应用正在不断增长。而在服务器市场,Linux已经可以同 各种传统的商业操作系统分庭抗礼,占据了相当大的市场份额。同时,在嵌入式领域 Linux的应用也得到的飞速的发展,这与Linux本身的优良特性图密不可分:(1)开放源码,丰富的软件资源。Linux遵循GPL,保障用户可以免费获得内核源 代码。由于嵌入式系统千差万别,往往需要针对具体

28、应用修改和优化系统,此时能否获 得源代码就至关重要。Linux上的软件资源十分丰富。在Linux上开发应用程序可以借 鉴已有的类似的自由软件,可以节省开发的工作量,缩短开发时间。(2)功能强大的内核,性能高效、稳定、多任务。并且Linux的内核小巧灵活,易于裁减。使得Linux适合嵌入式系统的应用。(3)支持多种体系结构:X86、ARM、MIPS、SPARC等。目前,Linux已经被移 植到数十种硬件平台之上。几乎所有流行的CPU,Linux都支持。(4)完善的网络通信、图形和文件管理机制。Linux本身就是Internet的产物,网 络是Linux的强项。另外,Linux支持ext2、血16

29、、血32、romfs等多种文件系统。在图 形系统方面,Linux上既有成熟的X Window,也有Qt/Embedded、MiniGUI等嵌入式图 形系统。(5)支持大量的周边硬件设备,驱动程序资源丰富。Linux上的驱动已经非常丰富,支持各种主流硬件设备和最新的硬件技术。并且随着Linux的广泛应用,许多芯片厂商 已经开始提供针对Linux的驱动程序。(6)易于针对具体应用定制。Linux内核与用户界面完全独立,各部分的第3章嵌 入式系统与嵌入式Linux可定制性都很强,能适合多种需求,特别是硬件资源有限的嵌 入式系统。目前,世界上许多大学、研究机构和知名公司都加入到嵌入式Linux的开发工

30、作中,较成熟的嵌入式Linux版本不断涌现,如RT-Linux、Embedix、XLinux、uClinux以及本 研究中使用的、运行在ARM平台上的ARM Linux。2.6 Qt/Embedded 用户界面当前嵌入式Linux在手机、PDA等手持信息设备领域的应用十分广泛。各种手持设 14备是否拥有图形用户界面(GUI)己经成为其人机交互技术的关键体现,所以个十分 友好的图形用户界面(GUI)是必不可少的。嵌入式GUI是嵌入式系统广泛应用的人机交 互接口。嵌入式系统有限的硬件资源要求嵌入式GUI必须简单、直观、可靠、占用资源 小且反应快速。由于嵌入式系统硬件本身的多样性,嵌入式GUI应具备

31、高度可移植性与 可裁减性。个具备良好移植性的嵌入式GUI系统,其底层接口应该在很大程度上隐藏具体硬 件的实现细节,抽象出以GAL与IAL层。GAL层完成系统对具体的显示硬件设备的操 作,为程序开发人员提供统一的图形编程接口。IAL层则需要实现对于各类不同输入设 备的控制操作,提供统的调用接口。个典型的嵌入式GUI系统结构如图2.4所示。图2.4嵌入式GUI系统结构Qt/Embedded是著名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本。因为Qt是KDE等项目使川的GUI支持库,许多基于Qt的X Window程序因此可以非 常方便地移植到Qt/Embedded上。Qt/Em

32、bedded采用fi*amebuffer(帧缓冲)作为底层图形 接口。同时,将外部输入设备抽象为keyboard和mouse输入事件。Qt/Embedded的应用 程序可以直接写内核缓冲帧,这避免开发者使用繁琐的XLIB/Server系统。QT/Embedded 和QT/X的对比见图2.515QT应用程序(如Qtopia)QT应用程序接口(API)QT/Embedded 库QT/X11QT/XLIBX Windows server帧缓冲(ftambuffer)Linux内核图 2.5 QT/Embedded 和 QT/X 的对比Qt/Embedded类完全采用C+封装。丰富的控件资源和较好的可

33、移植性是 Qt/Embedded最为优秀的方面。它的类库接口完全兼容于同版本的Qt-XH,使用X Window下的开发工具可以直接开发基于Qt/Embedded的应用程序GUI界面。16第三章系统硬件设计3.1 嵌入式系统硬件结构如图3.1所示,嵌入式系统的硬件部分可以分成三层:核心处理器、外围电路和外部设备。调试接口电源模块外围电路11中断控制!器S3C2440 主芯片时钟管理 模块SRAMDRAMFlashROM晶振电路定时器CPU核心DMA控 制器复位电路扩展端口A/D|_I/0 端口 I外部设备USB LCD 键盘 IRDA 触摸屏 Others图3.!嵌入式系统硬件结构核心处理器(C

34、PU core)是嵌入式系统的核心部件,负责控制整个嵌入式系统的运作。外围电路包括嵌入式系统的内存、I/O端口、复位和电源电路、对外设的接口电路等。随 着,微电子技术的发展,许多常用的接口电路已经被集成到核心处理器中。外部设备:嵌入式系统与真实环境交互的各种设备,包括存储设备(如Flash Card)、I/O 设备(如键盘、鼠标、LCD等)和打印设备(打印机、扫描仪等)。实际中,嵌入式设备的硬件配置非常灵活。除了 CPU和基本的外围电路,其余部分都可以 根据不川应用进行裁减。3.2 utu2410 结构本文使川硬件平台扬创科技有限公司开发的utu2410开发板作为硬件平台,utu2440是模仿

35、 广为流行的三星smdk2440开发板而设计的低价位开发板,下面对utu2440做些简单介绍。17图3.2 GEC2410开发板结构图Utu2440的设计结构框架如图3.2所示。图中,虚线框所包含的模块组成核心电路,虚线框 以外的模块组成接口。以ARM920T为内核的三星SC32440是控制核心,负责控制所有辅助设 备。存储器采用SDRAM和FLASH两种类型,能满足系统运行和调试的需要。基本端口包括 以太网接口,USB接口,还有两个RS232的审。A/D和D/A模块主要用于现场数据的采集 与控制信号的输出。DC/DC模块主要负责整个系统的供电。扩展接口考虑了系统的可扩展性。开发板外观布局如图

36、3.318外T接座(GPI仇IIC.SPI AD等外扩)开关JTAGM 8MNBW 更位检偿、S3c2440 CPU AOOMhz 两路AD测武可调电阳/L USB 主口 蟬吗器4个LED灯SD卡座选焊电阻.可 选择申口外 是RS23电平还 是TTL电,林 配为RS23諛七哂!府州州hitWM*Wi AMuuuuiwuiHUUimiutu2440+“J音新输入音频检出CMOS摄像头接口64M Bytes FlashEEPROM芯片(包含触摸出接口信号)HOGC。0。DM9000A百兆网卡芯片 外旷接口座,地址线.数据线、总线读写片选、控制等信号外)图3.3utu2440开发板外观图3.3 ut

37、u2440硬件资源utu2440的具体资源如下:utu2440-S三星2440开发板采用6层板单板设计形式外引总线,地址线,GPIO,IIC,SPI等接口,方便用户使用。400M 主频,64M bytes Flash,64M bytes SDRAM,尺寸:长 132mm,宽 100mm开发板资源:(1)S3c2440A:32bit ARM920T 内核,标称工作频率:400MHz(2)系统时钟:内部PLL产生400MHz CPU内核工作频率,外部总线频率:10133MHz(3)LCD控制器:CPU内置/CSTN/TFTLCD控制器,支持1024*768分辨率以下的各种液晶4)触摸屏控制器:CP

38、U内置4线制电阻式触摸屏控制器19(5)100MHz以太网控制器(6)1通道5线制串,2通道3线制串口7)1通道USB1.1主机接口,可接usbhub,扩充多个usb主口(8)1通道USBL1设备接口(9)SD/MMC 卡接口(10)音频输入输出接口(12)LCD接,可接3.5寸/7寸/4.3寸/2.8寸“。寸等等尺寸TFT真彩液晶屏(13)专用复位电路(16)触摸屏控制器(17)RTC实时时钟及大容量后备锂电池(18)标准20pinJTAG调试接口(20)4只自定义功能LED指示灯(21)电源指示灯(22)6只自定义按键,用户可以组合为“上”“下”“左”“右”“确认”“取消”6个常见功能键(

39、23)电源开关(24)复位按键(29)SPI 接口(31)标准配置 64MBytes Nand-Flash(32)标准配置 64MBtyes SDRAM(33)5V电源(34)支持的操作系统:WINCE/Linux3.4 S3C2440 简介S3C2440是Samsung公司推出基于 ARM920T内核的16/32位 RISC处理器,稳定主频 400MHz,最高466Mhz。该处理器最大的特点是低价格、低功耗、高性能小型微控制器。为了 降低整个系统的成本,S3c2440提供了以下丰富的内部设备:分开的16KB的指令Cache和16KB 数据Cache,MMU虚拟存储器管理,LCD控制器(支持S

40、TN&TFT),支持NAND Flash系统 弓I导,系统管理器(片选逻辑和SDRAM控制器),3通道UART,4通道DMA,4通道PWM 定时器,I/O端口,RTC,8通道10位ADC和触摸屏接口,IIC-BUS接,IIC-BUS接口,USB 主机,USB设备,SD主卡&MMC卡接口,2通道的SPI以及内部PLL时钟倍频器。20第四章系统软件设计4.1 搭建嵌入式Linux开发环境嵌入式系统通常是个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写 软件比较困难,有时候甚至是不可能的。解决办法:(1)首先在通用计算机上编写程序;(2)然后通过本地编译或者交叉编译生成目标平台上可以运行的二进

41、制代码格式;(3)最后再下载到目标平台上的特定位置上运行。在种平台上编译出能在另种平台(体系结构不同)上运行的程序。在PC平台(X86 CPU)上编译出能运行在arm平台上的程序,编译得到的程序在X86 CPU平台上是 不能运行的,必须放到arm平台上才能运行。需要交叉开发环境(Cross Development Env)的支持是嵌入式应用软件开发时的 个显著特点。交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌 入式应用软件的环境有所不同,通常采用宿主机一目标机模式,如图4.1。RS232/E1hernet宿主机 目标机图4.1交叉编译环境宿主机(Host是一台基于Intel

42、 X86架构的计算机,它通过串口或者以太网接口与目 标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows 和Linux),而且还有各种各样优秀的开发工具(如 WindRiver的Tornado,Microsoft的 Embedded Visual C+等),能够大大提高嵌入式应用软件的开发速度和效率。目标机(Target)是嵌入式应用软件的实际运行环境,如ARM、MIPS、PowerPC平台等,也可以 是能够替代实际运行环境的仿真系统,软硬件资源通常都比较有限。嵌入式系统的交叉编译环境一般包括交叉编译器、交叉调试器和系统仿真器。其 中交叉编译器川于在宿主机上生成能

43、在目标机上运行的代码,而交叉调试器和系统仿真 器则用于在宿主机与目标机间完成嵌入式软件的调试。在采用宿主机/目标机模式开发嵌 21入式应用软件时,首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标 机上的软件。然后通过串口或者以太网将交叉编译生成的目标代码传输并装载到目标机 上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试。最后目标机 在特定环境下脱离宿主机单独运行。4.1.1 建立交叉编译工具链建立交叉编译环境是进行嵌入式软件开发的第一步,目前常用的交叉编译环境主要 有开放和商业两种类型。开放的交叉编译环境的典型代表是GNU工具链,目前已经能 够支持X86,ARM,

44、MIPS,PowerPC等多种处理器。商业的交叉开发环境则主要有 Metroworks CodeWarrior,ARM Software Development Toolkit,SDS Cross compiler,WindRiver Tornado,Microsoft Embedded Visual C+等。本文采用Red Hat Enterprise Linux 4作为软件开发平台,用GNU工具链作为交叉编 译器,这些工具链包括如下组件:(1)binutils:用于操作二进制文件的实用程序集合,包括诸如ar、as、objdump、objcopy这样的实用程序。(2)gee:GNU C 编译

45、器。(3)Glibe:所有用户应用程序都将链接使用到的C库。有两种方法可以用来建立工具链:种方法是下载这些工具的软件包,自己编译这些 源代码;另种简单的方法就是直接从网上下载已经编译好的工具链。本文采用的第二种 方法,具体步骤如下:(1)下载所需开源文件cross-3.3.2.tar.bz2;(2)终端下使用root用户登陆#mkdir/usr/local/arm#cp cross-3.3.2.tar.bz2/usr/local/arm#tar jxvf cross-3.3.2.tar.bz2-C/usr/local/arm(3)添加环境变量:export PATH=/usr/local/ar

46、m/3.3.2/bin:$PATH这样在该终端下就建立好交叉编译工具链了。也可以将添加环境变量这个命令放到配置文件/ete/bashre的最后,这样以后每个终 端都能够使用该工具链。224.1.2 超级终端超级终端是windows自带的个审调试工具,其使用较为简单,被广泛使用在审 口设备的初级调试上。通过点击开始程序一附件一通讯中的超级终端,可以打开个 新的终端。然后设置好名称,选择好端口(如COM1),波特率(即每秒位数),数据位(通常选择8位),奇偶校验(一般选择无),停止位,数据流控制(一般选择无),然 后就可以开始使川超级终端了。用键盘直接在超级终端输入字符,就会通过审口发送出 去,在

47、没有设置冋显时,输入的是看不到的。将审的2脚(即数据接收端)跟3脚(即 数据发送端)连接在起,再敲键盘,就会发现按下的键显示在上面了,这样可以用来 检测审是否工作正常。将单片机的审通过232电平转换后连接到PC的审口上,就 可以通过超级终端来显示信息和发送命令了。本设计使用超级终端是为了使其作为个嵌入式Linux系统的个终端。效果图如 图 4.2。$q出 if*图4.2超级终端4.1.3 FTP酉己置FTP服务,主配置文件名:vsftp.conf,包安装完成后,可以在/etc/vsftp/目录下找到该 文件。Vsftpd.conf为vsftpd服务的主要配置文件,也为核心配置文件。内容和格式简

48、单 明了,每一行语句即为项设定,即可控制服务的项功能。若是空白行或者是开头为 号的一行,将会被忽略,既不求任何作用。而内容的格式只有一种,语句选项=参 数值 比如:option=alue。其中option为语句选项,value为参数值,要注意的是等号两 边加空格。23同时,vsftp服务文件/etc/vsftpd/ftpusers中记录的用户将禁止登录vsftp服务器0打开配置文件命令:vi/etc/vsftpd/vsftpd.conf其中有:anonymous_enable=YES为控制是否允许匿名用户登入,YES为允许匿名 登入,N0为不允许。默认值为yes;local_enable=YE

49、S为控制是否本地用户登入,YES 为允许本地用户登入,N0为不允许登入,默认值为YES;ftp_usemame=ftp定义匿名川 户登入的使川者名称。默认值为:ftpo设置好配置文件重启下即服务器命令为:service vsftpd restart 4.2 Bootloader 移植Bootloader在专用的嵌入式板子运行GNU/Linux系统已经变得越来越流行。个嵌 入式Linux系统从软件的角度看通常可以分为四个层次:1、引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和 BootLoader两大部分。2、Linux内核。特定于嵌入式板子的定制内核以及内核的启动

50、参数。3、文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常川 ramdisk 来作为 rootfs04、川户应川程序。特定于川户的应川程序。有时在用户应川程序和内核层之间可 能还会包括个嵌入式图形用户界面。常用的嵌入式GUI有:MicroWindows和MiniGUI 懂。引导加载程序是系统加电后运行的第一段软件代码。PC机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OS BootLoader(比如,LILO和GRUB 等)起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到 系统的RAM中,然后将控制权交给OS

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服