基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx

上传人:b****2 文档编号:3724011 上传时间:2023-05-02 格式:DOCX 页数:58 大小:891.62KB
下载 相关 举报
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第1页
第1页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第2页
第2页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第3页
第3页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第4页
第4页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第5页
第5页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第6页
第6页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第7页
第7页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第8页
第8页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第9页
第9页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第10页
第10页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第11页
第11页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第12页
第12页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第13页
第13页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第14页
第14页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第15页
第15页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第16页
第16页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第17页
第17页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第18页
第18页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第19页
第19页 / 共58页
基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx

《基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx(58页珍藏版)》请在冰点文库上搜索。

基于ARM的智能手持设备MP3播放器的设计与开发Word文档下载推荐.docx

由于嵌入式系统是建立在特定的硬件系统之上,系统的开发华硬件的关系十分紧密,嵌入式开发板为方便调试与开发提供了丰富的外围设备和接口,通过接口可以调试应用程序和打印输出调试信息。

嵌入式开发板已成为学习嵌入式操作系统的应用、熟悉硬件设备、学习编写硬件设备驱动、了解嵌入式操作系统体系结构和嵌入式操作系统移植的有力工具。

基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展。

ARM微控制器的低功耗、高性价比使其以70%左右的市场占有率成为嵌入式解决方案中主流微处理器。

因此,本次设计工作主要围绕ARM9芯片进行。

Linux近几年在嵌入式领域异军突起,成为非常有潜力的嵌入式操作系统。

其代码的开放性、系统的稳定性、强大的网络功能以及优秀的文件系统支持,在嵌入式设备特别是网络设备中得到了广泛应用。

因此,选择linux作为本次设计的嵌入式操作系统。

为了对嵌入式系统的开发过程有一定认识,学习一些嵌入式系统开发技术和方法。

这次设计将构建一个针对ARM硬件平台的嵌入式Linux操作系统,然后在其基础上实现简单游戏的功能,最终实现手持游戏终端。

第一章

嵌入式系统概述

本章主要介绍嵌入式系统的基本概念、总体框架和基本组成,以及常见的嵌入式系统发行版本。

还有嵌入式Linux的特点及其在嵌入式系所处的地位和嵌入式Linux在国内外发展概况和发展趋势。

1.1嵌入式系统简介

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。

嵌入式系统与通用计算机系统的本质区别在于系统应用不同,嵌入式系统是将一个计算机系统嵌入到对象系统中。

这个对象可能是庞大的机器,也可能是小巧的手持设备,用户并不关心这个计算机系统的存在。

嵌入式系统一般包含嵌入式微处理器、外围硬件设备、嵌入式操作系统和应用程序4各部分。

嵌入式领域已经有丰富的软硬件资源可以选择,涵盖了通信、网络、工业控制、消费电子、汽车电子等各个行业。

嵌入式计算机系统与通用计算机系统相比具有以下特点:

1.嵌入式系统是面向特定系统应用的。

嵌入式处理器大多数是专门为特定应用设计的,具有低功耗、体积小、集成度高等特点,一般是包含各种外围设备接口的片上系统。

2.嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各行各业。

它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

3.嵌入式系统的硬件和软件都必须具备高度可定制性。

只有这样才能适用嵌入式系统应用的需要,在产品价格性能等方面具备竞争力。

4.嵌入式系统的生命周期相当的长。

嵌入式系统应用到产品后,还可以进行软件升级,它的生命周期与产品的生命周期几乎一样长。

1.2嵌入式国内发展现状

随着技术进步的不断加速,我们有理由相信计算机还将继续快速发展并进一步改善我们的生活,让计算变得“无所不能”、“无处不在”。

其中“无所不能”将是人工智能技术和超级计算机的结合,而“无所不在”则是嵌入式技术应用的广阔天地,现在普通消费者已经可以从市场中买到数码相机、移动电话、打印机我们的生活,等众多的数码产品、航空设备、ATM机、计算机网络设备等电子产品中都用到了嵌入式系统。

图1-1嵌入式软件架构

嵌入式控制器的应用几乎无处不在:

移动电话、家用电器、汽车……无不有它的踪影。

嵌入控制器因其体积小、可靠性高、功能强、灵活方便等许多优点,其应用已深入到工业、农业、教育、国防、科研以及日常生活等各个领域,对各行各业的技术改造、产品更新换代、加速自动化化进程、提高生产率等方面起到了极其重要的推动作用。

嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器。

在制造工业、过程控制、网络、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。

1.3嵌入式系统的结构和组成

一般而言,嵌入式系统的体系结构可以分成四个部分:

嵌入式处理器,嵌入式外围设备,嵌入式操作系统和嵌入式应用软件。

1.3.1嵌入式处理器

嵌入式系统的核心是各种类型的嵌入式处理器,其应具有很高的效率和可靠性。

常用的嵌入式处理器可分为:

低端的嵌入式处理器、中高端的嵌入式处理器、用于计算通信领域的嵌入式DSP处理器和高度集成嵌入式片上系统(SOC)。

目前几乎每个半导体制造商都在生产嵌入式处理器,全世界嵌入式处理器已超过1000种,流行的体系结构有30多个系列,其中以ARM、POWERPC、MC68000、MIPS等最为广泛。

1.3.2嵌入式外围设备

在嵌入式系统硬件系统中,除了处理器以外,用于完成存储、通信、调试、显示等辅助功能的外围部件,都算作嵌入式外围设备。

目前常用的嵌入式外围设备按功能可以分为存储设备、通信设备和显示设备三类。

储设备主要用于各类数据的存储,常用的有静态易失性存储器(RAM,SRAM)、动态存储器(DRAM)和非易失性存储器(ROM,EPROM,EEPROM,FLASH)三种;

绝大多数常用的通信设备接口都可以直接在嵌入式系统中应用,包括RS-232串行通讯接口、串行外围设备接口(SPI)、红外线接口(IRDA)、通用串行总线接口(USB)、Ethernet以太网接口;

嵌入式系统中的显示设备通常是阴极射线管(CRT)、液晶显示器(LCD)和触摸板等。

1.3.3嵌入式操作系统

为了使嵌入式系统的开发更加方便和快捷,需要有专门负责管理存储器分配、中断处理、任务调度等功能模块,这就是嵌入式操作系统。

嵌入式操作系统是用来支持嵌入式应用的系统软件,是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动程序、系统内核、设备驱动接口、通讯协议、图形用户界面(GUI)。

它具有通用操作系统的基本特点,能够有效管理复杂的系统资源,对硬件进行抽象,提供库函数、驱动程序、开发工具等。

但在系统实时性、硬件依赖性、软件固化性以及应用专用性等方面,嵌入式操作系统具有更加鲜明的特点。

根据应用场合,嵌入式操作系统可以分成两大类:

一类是面向消费电子产品的非实时系统,如WindowsCE等,应用设备包括个人数字助理(PDA)、移动电话、机顶盒(STB)等;

另一类则是面向控制、通信、医疗领域的实时操作系统,如Vxworks、uC/OS-II等。

实时系统是一种能够在指定或者确定时间内完成系统功能,并且对外部和内部事件在同步或者异步时间内能作出及时响应的系统。

在实时系统中,操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。

1.3.4嵌入式应用软件

嵌入式应用软件是针对特定应用领域,基于某一硬件平台,用来达到用户预期目标的计算机软件。

由于用户任务可能有时间和精度上的要求,嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能进行优化,以减少对系统资源的消耗,降低硬件成本。

1.4嵌入式系统的开发过程

由于嵌入式系统是应用于特定环境下面对专业领域的应用系统,具有与通用计算机系统明显不同,因此其开发过程和开发环境同传统的软件开发相比有着显著的不同。

嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发三大部分。

在系统总体开发中,由于嵌入式系统与硬件依赖程度非常紧密,往往某些需求只能通过特定的软件才能实现,因此需要进行处理器选型,以更好的满足产品的需求。

另外,对于有些硬件和软件都可以实现的功能,就需要在成本上和性能上作出抉择。

往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。

在硬件开发设计中,首先根据模型确定硬件需要实现的功能,接着确定硬件的构成,并确定数据的控制流程,完成结构化设计,然后是硬件逻辑设计,最后是物理硬件实现,以开发板的形式出现。

在软件设计过程中,根据需要实现的任务划分各个模块,通过交叉开发环境实现目标代码,完成系统测试。

1.5嵌入式linux开发流程

在一个嵌入式系统中使用Linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过如下的过程:

1.建立开发环境

操作系统一般使用RedHat-Linux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(例如arm-Linux-gcc、arm-μclibc-gcc),或者安装产品厂家提供的交叉编译器。

2.配置开发主机

配置minicom,一般的参数为波特率为115 

200bps,数据位为8位,停止位为1,无奇偶校验,软件硬件流控设为无。

在Windows下的超级终端的配置也是这样的。

minicom软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。

配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

3.建立引导装载程序Bootloader

从网络上下载一些公开源代码的Bootloader,如uboot、Blob、vivi、lilo、arm-boot、red-boot等,根据自己具体的芯片进行移植修改。

有些芯片没有内置引导装载程序,例如三星的ARM7、ARM9系列芯片,这样就需要编写开发板上Flash的烧写程序,网络上有免费下载的Windows下通过JTAG并口简易仿真器烧写ARM外围Flash芯片的烧写程序,也有Linux下的公开源代码的J-Flash程序。

如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。

这是系统正常运行的第一步。

4.下载Linux操作系统

如μCLinux、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过的,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于μCLinux这样的系统则需编译进内核进行调试。

5.建立根文件系统

从下载使用Busybox软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他程序。

默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:

/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。

根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映像文件。

6.建立应用程序的Flash磁盘分区

一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性Flash(NOR型)512KB~32MB,有的系统使用非线性Flash(NAND型)8~512MB,有的两个同时使用,需要根据应用规划Flash的分区方案。

7.开发应用程序

应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μCOS-II的方式。

8.烧写内核、根文件系统、应用程序

9.发布产品

1.6ARM及S3C2440硬件平台

嵌入式开发的主要工作之一是硬件的开发,而硬件开发更基础的工作是构建硬件开发平台,本次设计使用的硬件平台是以S3C2440嵌入式微处理器为核心而构建的开发板。

1.6.1ARM简介

ARM是AdvancedRISCMachines的缩写,是英国一家知名的微处理器公司。

ARM是设计公司,本身不生产芯片,只提供知识产权(IP)。

各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。

1.6.2ARM内核介绍

1.ARM处理器特点:

(1)体积小、功耗低、低成本、高性能。

(2)支持Thumb/ARM双指令集,能很好的兼容8位/16位器件。

(3)大量的使用寄存器,指令执行速度更快。

(4)大多数数据处理都在寄存器中完成。

(5)寻址方式灵活简单、执行效率高。

(6)指令长度固定。

2.ARM微处理器工作状态

ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:

第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;

第二种位Thumb状态,此时处理器执行16位的半字对齐的Thumb指令。

3.ARM体系结构的存储格式

大端格式:

在这种格式中,字数据的高字节存储在低地址中,二字数据的低字节则存储在高地址中。

小端格式:

与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的的低字节,高地址存放的是字数据的高字节。

4.ARM处理器模式

(1)ARM处理器支持7种运行模式,分别如下。

(2)用户模式:

ARM处理器正常的程序执行状态。

(3)快速中断模式:

用于高速数据传输或通道处理。

(4)外部中断模式:

用于通用的中断处理。

(5)管理模式:

操作系统使用的保护模式。

(6)数据访问终止模式:

当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。

(7)系统模式:

运行具有特权的操作系统任务。

(8)未定义指令终止模式:

未定义的指令执行时进入该模式。

1.6.3QT2440E开发板介绍

1.核心板部分:

处理器:

S3C2440A-40400MHz主频,ARM920T内核

Flash:

512MbitNANDFLASH,8bit宽度

RAM:

512MbitSDRAM,133MHz,32bit宽度(两片组成)

网络:

10Mbps低功耗嵌入式专用以太网网络芯片CS8900A-CQ3。

音频:

UDA1341TS,立体声音频输入输出接口。

RTC时钟:

S3C2440A内部集成,外部提供RTC电池,插座安装,可更换。

2.底板部分:

电源:

7-24V宽电压输入,LT1765高效DC/DC降压,标配12V电源串口,3路串口,1路带握手信号,可接调制解调器或者GPRS。

液晶接口:

支持CSTN,TFT等多种LCD

摄像头接口:

预留30pin插座,方便用户连接数字摄像头

USBHOST:

2个USBHOST接口,USBFULLSPEED。

可外接HUB扩展。

USBDEVICE:

1路USBDEVICE接口,USBFULLSPEED

SD卡接口:

支持SD/MMC和SDIO设备

JTAG接口:

ARM标准20芯JTAG接口

1.7嵌入式系统的发展趋势

以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注入了新的生命;

同时也对嵌入式系统技术,特别是软件技术提出新的挑战。

这主要包括支持日趋增长的功能密度、灵活的网络联接、轻便的移动应用和多媒体的信息处理。

嵌入式应用软件的开发需要强大的开发工具和操作系统的支持。

随着因特网技术的成熟、带宽的提高,在网上提供的信息内容日趋丰富、应用项目多种多样,像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。

强大的网络支持成为必然趋势。

针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持,同时也需要提供相应的通信组网协议软件和物理层驱动软件,以支持应用软件的特定编程模式。

支持电子设各实现小尺寸、微功耗和低成本。

为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能限制内存容量和复用接口芯片。

就相应提高了对嵌入式软件设计技术要求。

如选用最佳的编程模型和不断改进算法、优化编译器性能。

提供精巧的多媒体人机界面。

人机交互界面是一个让使用者和计算机沟通时所需要的沟通环境。

由于人们在使用多媒体产品时会预期看到的是一个熟悉而友善的计算机屏幕画面,因此让使用者身处在精巧友好的环境下,一定比较容易掌握状况,迅速获取取得信息。

第二章

建立嵌入式开发环境

在一个嵌入式系统中使用Linux开发,根据应用需求的不同有不同的配置开发方法,嵌入式Linux开发环境有以下几个方案:

基于PC机Windows操作系统下的CYGWIN;

在Windows下安装虚拟机后,再在虚拟机中安装Linux操作系统;

直接安装Linux操作系统。

本次设计则采用的方案是宿主机直接安装Linux操作系统。

2.1软件平台

2.1.1嵌入式Linux介绍

嵌入式Linux(EmbeddedLinux)是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几KB或者几MB字节的存储器芯片或者单片机中,是适合于特定嵌入式应用场合的专用Linux操作系统。

在目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux。

这与它自身的优良特性是分不开的。

嵌入式Linux同Linux一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。

另外,为了更好地适应嵌入式领域的开发,嵌入式Linux还在Linux基础上做了部分改进,如下所示:

1.改善的内核结构

在嵌入式系统经常采用的是另一种称为微内核(Microkernel)的体系结构,即内核本身只提供一些最基本的操作系统功能,如任务调度、内存管理、中断处理等,而类似于文件系统和网络协议等附加功能则运行在用户空间中,并且可以根据实际需要进行取舍。

这样就大大减小了内核的体积,便于维护和移植。

2.提高的系统实时性

由于现有的Linux是一个通用的操作系统,虽然它也采用了许多技术来加快系统的运行和响应速度,但从本质上来说并不是一个嵌入式实时操作系统。

因此,利用Linux作为底层操作系统,在其上进行实时化改造,从而构建出一个具有实时处理能力的嵌入式系统,如RT-Linux已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等各种领域。

2.1.2构建交叉开发环境

1.安装RHEL5操作系统

RedHat于2007年3月14日正式发布了RHEL5.RHEL5将是RedHat的商业服务器操作系统版本的第四次重要版本发布,RedHat酝酿发布RHEL5已经超过了两年,主要变化包括Linux内核由2.6.9升级为2.6.18。

安装系统可以从镜像安装也可以从光盘安装,这里选择从光盘安装。

首先将系统盘放在光驱中重启电脑,系统会自动选择从光盘启动,当出现boot提示符时敲回车系统进入欢迎界面。

第一步:

选择安装过程中使用的语言,一般选择英文或者是中文,这根据自己的爱好而定。

第二步:

选择键盘语言为美国英语。

第三步:

当出现分区选择界面时选择“自定义分区”,具体设置如下:

●Boot分区:

设置为100M;

●Swap分区:

设置为内存的二倍即可,这里设置为1024M。

●根(/)分区:

可以将剩下的所有的磁盘当做根分区,也可以进一步将剩下的空间进行分区。

注意:

boot分区必须设置在磁盘的开始部分,否则系统启动。

以上就是安装系统的主要工作,接下来所有的设置都可以采用默认设置,点击下一步一直到开始安装系统。

2.交叉编译工具的安装

源文件必须经过编译连接才能生成可执行文件,由于嵌入式系统的资源有限所以只能在PC机上将源文件编译连接然后将生成的执行文件放到开发板上运行。

要生成能在ARM平台上运行的程序,必须使用交叉编译工具arm-linux-gcc、arm-linux-ld等。

本次设计使用的交叉编译工

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2