嵌入式视频点播系统的研究.doc

上传人:文库蛋蛋多 文档编号:2392863 上传时间:2023-02-17 格式:DOC 页数:49 大小:611.50KB
返回 下载 相关 举报
嵌入式视频点播系统的研究.doc_第1页
第1页 / 共49页
嵌入式视频点播系统的研究.doc_第2页
第2页 / 共49页
嵌入式视频点播系统的研究.doc_第3页
第3页 / 共49页
嵌入式视频点播系统的研究.doc_第4页
第4页 / 共49页
嵌入式视频点播系统的研究.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《嵌入式视频点播系统的研究.doc》由会员分享,可在线阅读,更多相关《嵌入式视频点播系统的研究.doc(49页珍藏版)》请在三一办公上搜索。

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

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

3、ded 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 i

4、s a need for 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

5、 box composed of 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 s

6、creen video on demand system. 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

7、, operating system, embedded, video on demand system目 录第一章 绪论61.1 嵌入式系统概述71.3 项目内容和实现关键部分说明8第二章 系统总体设计92.1 系统概述92.2 服务器端设计102.2.1 FTP服务器102.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/

8、Embedded用户界面15第三章 系统硬件设计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 常见的嵌入式文件系统简介324.4.3

9、 建立根目录和拷贝动态链接库334.4.4 交叉编译busybox334.4.5 交叉编译bash334.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各响应函数流程图分析43|附录: 各用户界面操作概述45前 言随着我国电子工业越来越发达,尤其是消费电子方面表现爆发式

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

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

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

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

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

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

16、入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。 7.目前,嵌入式系统多用于手机等操作系统的开发。具有巨大的市场潜力1.3 项目内容和实现关键部分说明根据目前国内外对嵌入式的研究和开发,结合实际的实验条件,本文用硬件平台为扬创科技有限公司开发的utu2440开发板作为目标机,使用安装Windows XP的PC机作为宿主机,并在宿主机Windows平台上安装了一个虚拟机软件,虚拟机里安装的是操作系统fedora 10作为开发环境。主要实现工作包括:在宿主机上安装交叉编译工具,建立交叉编译环境,配置FTP、超级终端以

17、建立嵌入式软件平台。针对项目需求实现对驱动程序的完善和移植,制作适合此开发板的根文件系统,应用qt creator 工具设计VOD-UI(视频点播系统的图形界面)。第二章 系统总体设计2.1 系统概述交互式网络VOD构架如图2.1所示:ftp服务器目录服务器Vod客户端Mplayer播放器启动索取影片信息返回影片信息播放网络点播客户端服务器连接图2.1 交互式VOD共有四个部分组成:(1)ftp服务器,主要提供片源服务,流媒体服务,这里选择fedora 10自带FTP服务器软件。此软件为一个ftp服务器软件,可将本机的指定文件夹对外提供ftp服务。(2)目录服务器软件,主要提供服务器上各个影片

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

19、户通过它用 FTP协议能在 internet上共享文件。它并不是简单地提供文件的下载,还为用户的系统安全提供了相当全面的保护。2.2.2 目录服务器由于FTP服务器采用的软件是基于Linux操作系统的,对目标机的兼容性更好,而目录服务器和FTP服务器必须为同一个IP地址。2.3 客户端设计框架网络机顶盒原型系统体系结构如图2.2:应用程序QPE桌面环境播放器浏览器C库+QT库内核驱动程序底层硬件图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公司)。20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction 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位器件;(3)大量使用寄存器,

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

23、l的Xscale处理器(7)Intel的StrongARM2.5 嵌入式操作系统2.5.1 嵌入式系统软件结构体系现代嵌入式系统软件结构可以分为四个层次:设备驱动、操作系统、应用中间件和应用程序,如图2.3所示。应用程序API(引用程序开发库)嵌入式操作系统基本部分扩展部分电源管理GUI管理器OS Core文件系统TCP/IPHTTP浏览器WAP数据库DDI(设备驱动接口)CPU等外围硬件设备图2.3 嵌入式系统软件结构体系2.5.2 嵌入式操作系统简介嵌入式操作系统(Embedded Operating System,EOS),是操作系统的一种,是在传统操作系统基础上加入符合嵌入式应用的元素

24、发展而来,它负责嵌入式系统的全部软、硬件资源的分配、调度、控制和协调。嵌入式操作系统必须体现它所在系统的特征,能够通过加载或卸载某些模块来达到系统所要求的功能。嵌入式操作系统除了具备一般操作系统最基本的功能(如任务调度、同步机制、中断处理、文件处理等)外,还有以下的特点:(1)强稳定性。(2)较强的实时性:嵌入式操作系统一般实时性较强,可用于各种设备的控制中。(3)可伸缩性:开放、可伸缩的体系结构。(4)外设接口的统一性:提供各种设备驱动接口。目前国际上用于信息电器的嵌入式操作系统有40种左右。国内常见的嵌入式操作系统有Linux、uClinux、WindowsCE、VxWorks、QNX、e

25、Cos、PalmOS、Symbian、uC/OS-等。其中嵌入式Linux和WindowsCE都是从台式机的操作系统演变而来。而VxWorks、QNX、eCos,、PalmOS、和Symbian等则是专门根据嵌入式系统应用需求设计的操作系统。嵌入式操作系统又可按实时性要求分为两大类:(1)实时操作系统(Real-Time Operating System,RTOS):是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,也就是对时序与稳定性的要求十分严格。目前较为知名的实时操作系统有VxWorks、Nucleus Plus、OS/9、VRTX、RT-Linux、BlueC

26、at RT等。(2)通用性操作系统:也叫非实时性操作系统,这类操作系统在执行性能和反应速度方面,比起实时操作系统没有那么严格。目前较知名的通用型操作系统有Windows CE、Palm OS、TimeSys Linux/GPL和BlueCat Linux等等2。2.5.3 Linux操作系统简介Linux是一种类UNIX操作系统。兼容POSIX 1003.1标准,并包含了UNIX System V和BSD 4.3的大部分特征。它充分体现了操作系统的方展趋势,即开放、稳定、标准。Linux具有如下的特征:(1)真正的多用户、多任务操作系统。(2)符合POSIX(可移植操作系统接口)标准。(3)采

27、用页式存储管理。(4)支持动态链接库。(5)提供具有内置安全措施的分层文件系统。(6)提供Shell命令解释程序和编程语言。(7)提供强大的管理功能,包括远程管理功能。(8)提供内核编程接口。(9)具备图形用户接口。(10)具备大量的实用程序和通信、联网工具。(11)大量高级程序设计语言已经被移植到Linux系统上,因此它是理想的应用程序开发平台3。Linux作为桌面操作系统的应用正在不断增长。而在服务器市场,Linux已经可以同各种传统的商业操作系统分庭抗礼,占据了相当大的市场份额。同时,在嵌入式领域Linux的应用也得到的飞速的发展,这与Linux本身的优良特性4密不可分:(1)开放源码,

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

29、Linux本身就是Internet的产物,网络是Linux的强项。另外,Linux支持ext2、fat16、fat32、romfs等多种文件系统。在图形系统方面,Linux上既有成熟的X Window,也有Qt/Embedded、MiniGUI等嵌入式图形系统。(5)支持大量的周边硬件设备,驱动程序资源丰富。Linux上的驱动已经非常丰富,支持各种主流硬件设备和最新的硬件技术。并且随着Linux的广泛应用,许多芯片厂商已经开始提供针对Linux的驱动程序。(6)易于针对具体应用定制。Linux内核与用户界面完全独立,各部分的第3章嵌入式系统与嵌入式Linux可定制性都很强,能适合多种需求,特别

30、是硬件资源有限的嵌入式系统。目前,世界上许多大学、研究机构和知名公司都加入到嵌入式Linux的开发工作中,较成熟的嵌入式Linux版本不断涌现,如RT-Linux、Embedix、XLinux、uClinux以及本研究中使用的、运行在ARM平台上的ARM Linux。2.6 Qt/Embedded用户界面当前嵌入式Linux在手机、PDA等手持信息设备领域的应用十分广泛。各种手持设备是否拥有图形用户界面15(GUI)己经成为其人机交互技术的关键体现,所以一个十分友好的图形用户界面(GUI)是必不可少的。嵌入式GUI是嵌入式系统广泛应用的人机交互接口。嵌入式系统有限的硬件资源要求嵌入式GUI必须

31、简单、直观、可靠、占用资源小且反应快速。由于嵌入式系统硬件本身的多样性,嵌入式GUI应具备高度可移植性与可裁减性。一个具备良好移植性的嵌入式GUI系统,其底层接口应该在很大程度上隐藏具体硬件的实现细节,抽象出以GAL与IAL层。GAL层完成系统对具体的显示硬件设备的操作,为程序开发人员提供统一的图形编程接口。IAL层则需要实现对于各类不同输入设备的控制操作,提供统一的调用接口。一个典型的嵌入式GUI系统结构如图2.4所示。应用程序编程接口(API)嵌入式GUI实现IAL层GAL层输入设备图形显示设备图2.4 嵌入式GUI系统结构Qt/Embedded是著名的Qt库开发商Trolltech公司开

32、发的面向嵌入式系统的Qt版本。因为Qt是KDE等项目使用的GUI支持库,许多基于Qt的X Window程序因此可以非常方便地移植到Qt/Embedded上。Qt/Embedded采用framebuffer(帧缓冲)作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件。Qt/Embedded的应用程序可以直接写内核缓冲帧,这避免开发者使用繁琐的XLIB/Server系统。QT/Embedded和QT/X的对比见图2.5。QT应用程序(如Qtopia)QT应用程序接口(API)帧缓冲(frambuffer)Linux内核QT/X11X Windows serverQT/

33、XLIBQT/Embedded库图2.5 QT/Embedded和QT/X的对比Qt/Embedded类完全采用C+封装。丰富的控件资源和较好的可移植性是Qt/Embedded最为优秀的一方面。它的类库接口完全兼容于同版本的Qt-X11,使用X Window下的开发工具可以直接开发基于Qt/Embedded的应用程序GUI界面。第三章 系统硬件设计3.1 嵌入式系统硬件结构如图3.1所示,嵌入式系统的硬件部分可以分成三层:核心处理器、外围电路和外部设备。调试接口电源模块复位电路晶振电路扩展端口SRAMDRAMROMFlash时钟管理模块定时器DMA控制器中断控制器I/O端口A/DUSBLCD键

34、盘IRDA触摸屏OthersCPU核心S3C2440主芯片外部设备外围电路图3.1 嵌入式系统硬件结构核心处理器(CPU core)是嵌入式系统的核心部件,负责控制整个嵌入式系统的运作。外围电路包括嵌入式系统的内存、I/O端口、复位和电源电路、对外设的接口电路等。随着,微电子技术的发展,许多常用的接口电路已经被集成到核心处理器中。外部设备:嵌入式系统与真实环境交互的各种设备,包括存储设备(如Flash Card)、I/O设备(如键盘、鼠标、LCD等)和打印设备(打印机、扫描仪等)。实际中,嵌入式设备的硬件配置非常灵活。除了CPU和基本的外围电路,其余部分都可以根据不用应用进行裁减。3.2 ut

35、u2410结构本文使用硬件平台扬创科技有限公司开发的utu2410开发板作为硬件平台,utu2440是模仿广为流行的三星smdk2440开发板而设计的低价位开发板,下面对utu2440做一些简单介绍。CPUS3C2440微处理器以太网PHYUSB发送器RS232驱动器DM9000USB接口9针串口SDRAM 64MB HY57V561620FLASH64MBK9F1208通用IO口扩展接口内部总线A/D和D/A数据采样,数字口DC/DC电源模块LCD接口图3.2 GEC2410开发板结构图Utu2440的设计结构框架如图3.2所示。图中,虚线框所包含的模块组成核心电路,虚线框以外的模块组成接口

36、。以ARM920T为内核的三星SC32440是控制核心,负责控制所有辅助设备。存储器采用SDRAM和FLASH两种类型,能满足系统运行和调试的需要。基本端口包括以太网接口,USB接口,还有两个RS232的串口。A/D和D/A模块主要用于现场数据的采集与控制信号的输出。DC/DC模块主要负责整个系统的供电。扩展接口考虑了系统的可扩展性。开发板外观布局如图3.3图3.3 utu2440开发板外观图3.3 utu2440硬件资源utu2440的具体资源如下:utu2440-S 三星2440开发板采用6层板单板设计形式外引总线,地址线,GPIO,IIC,SPI等接口,方便用户使用。400M主频,64M

37、 bytes Flash,64M bytes SDRAM,尺寸:长132mm,宽100mm开发板资源:(1)S3C2440A:32bit ARM920T内核,标称工作频率:400MHz(2)系统时钟:内部PLL产生400MHz CPU内核工作频率,外部总线频率:100133MHz (3)LCD控制器:CPU内置/CSTN/TFT LCD控制器,支持1024*768分辨率以下的各种液晶 (4)触摸屏控制器:CPU内置4线制电阻式触摸屏控制器 (5)100MHz 以太网控制器(6)1通道5线制串口,2通道3线制串口(7)1通道USB1.1 主机接口,可接usb hub,扩充多个usb主口(8)1通

38、道USB1.1设备接口(9)SD/MMC卡接口(10)音频输入输出接口(12)LCD接口,可接3.5寸/7寸/4.3寸/2.8寸/10寸等等尺寸TFT真彩液晶屏(13)专用复位电路(16)触摸屏控制器(17)RTC实时时钟及大容量后备锂电池(18)标准20pin JTAG调试接口(20)4只自定义功能LED指示灯(21)电源指示灯(22)6只自定义按键,用户可以组合为“上”“下”“左”“右”“确认”“取消”6个常见功能键(23)电源开关(24)复位按键(29)SPI接口(31)标准配置64MBytes Nand-Flash(32)标准配置64MBtyes SDRAM(33)5V电源(34)支持

39、的操作系统:WINCE /Linux3.4 S3C2440简介S3C2440是Samsung公司推出基于ARM920T内核的16/32位RISC处理器,稳定主频400MHz,最高466Mhz。该处理器最大的特点是低价格、低功耗、高性能小型微控制器。为了降低整个系统的成本,S3C2440提供了以下丰富的内部设备:分开的16KB的指令Cache和16KB数据Cache,MMU虚拟存储器管理,LCD控制器(支持STN&TFT),支持NAND Flash系统引导,系统管理器(片选逻辑和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定时器,I/O端口,RTC,8通道10位ADC和触摸屏接

40、口,IIC-BUS接口,IIC-BUS接口,USB主机,USB设备,SD主卡&MMC卡接口,2通道的SPI以及内部PLL时钟倍频器。第四章 系统软件设计4.1 搭建嵌入式Linux开发环境嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。解决办法:(1)首先在通用计算机上编写程序;(2)然后通过本地编译或者交叉编译生成目标平台上可以运行的二进制代码格式;(3)最后再下载到目标平台上的特定位置上运行。在一种平台上编译出能在另一种平台(体系结构不同)上运行的程序。在PC平台(X86 CPU)上编译出能运行在arm平台上的程序,编译得到的程序

41、在X86 CPU平台上是不能运行的,必须放到arm平台上才能运行。需要交叉开发环境(Cross Development Env)的支持是嵌入式应用软件开发时的一个显著特点。交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机目标机模式,如图4.1。图4.1 交叉编译环境宿主机(Host是一台基于Intel X86架构的计算机,它通过串口或者以太网接口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和Linux),而且还有各种各样优秀的开发工具(如WindRiver的Tornado,Microsoft的E

42、mbedded Visual C+等),能够大大提高嵌入式应用软件的开发速度和效率。目标机(Target)是嵌入式应用软件的实际运行环境,如ARM、MIPS、PowerPC平台等,也可以是能够替代实际运行环境的仿真系统,软硬件资源通常都比较有限。嵌入式系统的交叉编译环境6一般包括交叉编译器、交叉调试器和系统仿真器。其中交叉编译器用于在宿主机上生成能在目标机上运行的代码,而交叉调试器和系统仿真器则用于在宿主机与目标机间完成嵌入式软件的调试。在采用宿主机/目标机模式开发嵌入式应用软件时,首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件。然后通过串口或者以太网将交叉编译生成的目

43、标代码传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试。最后目标机在特定环境下脱离宿主机单独运行。4.1.1 建立交叉编译工具链建立交叉编译环境是进行嵌入式软件开发的第一步,目前常用的交叉编译环境主要有开放和商业两种类型。开放的交叉编译环境的典型代表是GNU工具链,目前已经能够支持X86, ARM, MIPS, PowerPC等多种处理器。商业的交叉开发环境则主要有Metroworks CodeWarrior, ARM Software Development Toolkit, SDS Cross compiler, WindRiver Tornado, Mi

44、crosoft Embedded Visual C+等。本文采用Red Hat Enterprise Linux 4作为软件开发平台,用GNU工具链作为交叉编译器,这些工具链包括如下组件:(1)binutils: 用于操作二进制文件的实用程序集合,包括诸如ar、as、objdump、objcopy这样的实用程序。(2)gcc: GNU C编译器。(3)Glibc:所有用户应用程序都将链接使用到的C库。有两种方法可以用来建立工具链:一种方法是下载这些工具的软件包,自己编译这些源代码;另一种简单的方法就是直接从网上下载已经编译好的工具链。本文采用的第二种方法,具体步骤如下:(1)下载所需开源文件c

45、ross-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/arm/3.3.2/bin:$PATH这样在该终端下就建立好交叉编译工具链了。也可以将添加环境变量这个命令放到配置文件/etc/bashrc的最后,这样以后每个终端都能够使用该工具链。4.1.2 超级终端超级终端是windows自带的一个串口调试工具

46、,其使用较为简单,被广泛使用在串口设备的初级调试上。通过点击开始程序附件通讯中的超级终端,可以打开一个新的终端。然后设置好名称,选择好端口(如COM1),波特率(即每秒位数),数据位(通常选择8位),奇偶校验(一般选择无),停止位,数据流控制(一般选择无),然后就可以开始使用超级终端了。用键盘直接在超级终端输入字符,就会通过串口发送出去,在没有设置回显时,输入的是看不到的。将串口的2脚(即数据接收端)跟3脚(即数据发送端)连接在一起,再敲键盘,就会发现按下的键显示在上面了,这样可以用来检测串口是否工作正常。将单片机的串口通过232电平转换后连接到PC的串口上,就可以通过超级终端来显示信息和发送命令了。本设计使用超级终端是为了使其作为一个嵌入式Linux系统的一个终端。效果图如图4.2。图4.2 超级终端4.1.3 FTP配置FTP服务,主配置文件名:vsftp.conf,包安装完成后,可以在/etc/vsftp/目录下找到该文件。Vsftpd.conf为vsftpd服务的主要配置文件,也为核心配置文件。内容和格式简单明了,每一行语句即为一项设定,即可控制服务的一项功能。若是空白行或者是开头为#号的一行,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号