欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于TQ2440和Qt的Mp3设计 精品.docx

    • 资源ID:14419751       资源大小:2.27MB        全文页数:30页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于TQ2440和Qt的Mp3设计 精品.docx

    1、基于TQ2440和Qt的Mp3设计 精品CHAPTER IIION-LINE PATH SMOOTHING USING PATH TEMPLATES3.1 IntroductionGuidance and navigation control of mobile agents has been an important research topic for several decades. In particular, for unmanned aerial vehicles (UAVs), the ability of fully automated guidance and navigat

    2、ion control allows the UAVs to accomplish missions under various circumstances with minimal human intervention. As a matter of fact, because of the stringent operational requirements and the restrictions imposed on UAVs by autonomy, safety, efficiency, etc., a complete solution to fully automated gu

    3、idance and navigation control of UAVs is challenging. Many researchers suggest that breaking the problem into several subproblems such as path planning, trajectory smoothing, trajectory tracking, and etc., makes it easy to solve by a hierarchical control structure 93, 10, 94.It is assumed that a pla

    4、nned path is given by a series of way-points from the toplevel path planner. Traditionally, a simple implementation of the way-points tracking control is used for guidance purpose. A better implementation of the guidance and navigation control incorporates a smooth path by taking into account the dy

    5、namic constraints of UAVs. The way-points can then be connected to generate smooth path segments, which preserves the continuity of curvature between line and arc segments while minimizing the maximum curvature on the curve 61, 122. In Ref. 6, the authors proposed a dynamic trajectory smoothing algo

    6、rithm by which the path segments in straight-lines are smoothed to yield an extremal trajectory with explicit consideration of the kinematic constraint of a fixed-wing UAV.翻译:第三章使用路径模板的即时的轨迹平滑3.1简介制导与导航控制移动代理一直是近几十年一个重要的研究的主题。尤其是,无人驾驶飞行器(无人机),完全自动化的制导和导航控制能力允许无人机完成在各种情况下用最少的人工干预的任务。事实上, 对无人机的自主性,安全性

    7、,效率等由于严格的操作要求和限制,完整的解决方案强加给完全自动化的制导和导航控制的无人机是一项挑战。许多研究者建议分成几个子问题,如路径规划问题,轨迹平滑,轨迹跟踪,等,使得它很容易解决分层控制结构。假设,有计划的航迹是由一系列从顶层的航迹节点的航迹规划。传统上,航迹节点的目的是用于指导实现跟踪控制。一个更好地的实施和导航控制采用应该考虑到动态的平滑过渡和无人机的限制。然后可以连接到生成平滑的航迹节点航迹段,保留的曲率之间的直线和圆弧的连续性段,同时尽量减少曲线上的最大曲率61,122。文献。 6作者提出一个动态的航迹平滑算法的路径在平直的线路段平滑明确的产量与极值轨迹固定翼无人机的运动约束的

    8、考虑。第一章 总体方案设计与论证1.1 系统硬件平台选择 方案:采用2440开发板,2440是天嵌科技有限公司开发的嵌入式系统开发平台,本开发板采用ARM9系列芯片S3C2440作为主控芯片,搭配3.2英寸液晶触摸屏,以及自带音频解码芯片,配有丰富的硬件接口,是当今最热门的开发开发平台之一。该开发板可以实现车载GPS,以及MP3音乐播放器,MP4视频播放器等高端消费电子产品。用本开发板实现MP3播放器的整体思路是,在移植操作系统的基础上,只需添加SD卡相关驱动和液晶触摸屏的相关驱动,便可以轻松挂载SD卡外设,实现SD卡中文件的快速读取,并通过相关软件设计出又好的图形用户接口,用户只需通过触摸屏

    9、幕,便可实现和平台的交互。并且,2440开发板自带音频解码芯片UDA1341,能够完全胜任MP3的解码工作,该方案的系统框图如图1.2所示。图1.2 方案二系统框图方案论证:方案一硬件成本低廉,实现简单,但是单片机处理能力有限,对于高码率的MP3歌曲以及视频播放就显得力不从心。方案二硬件成本高,但是系统扩展性强,不只可以通过相关软件设计出友好的界面以实现MP3的歌曲播放,还可以进一步播放视频,甚至可以实现网页浏览等高端功能。综合比较以上三种方案,却顶采用方案二。 1.2 系统软件件平台论证与选择方案一:不带任何操作系统,在2440上直接开发基于硬件层的程序,程序中同时实现数据的读取、信息输出、

    10、指令输入、音频解码等工作。该方案同选择单片机作为硬件平台类似,但是因为ARM9芯片S3C2440的性能远远高于高性能单片机,所以完全能够完成高码率音频解码,以及信息输出等功能。软件系统结构如图1.3所示。图1.3 方案一 无操作系统的结构框图方案二:采用MicroSoft公司的Windows CE操作系统。Windows CE 关于 VC+ 5.0 开发系统嵌入式工具包,提供系统库、工具、文本和样本代码,以使 OEMS 能够对特定的硬件平台使 Windows CE 标准定制。在应用程序开发方面,使用标准Win32 API子集,很多Windows程序可以方便的移植到CE上,还支持.net等语言。

    11、在底层开发方面CE文档比较完善,MSDN提供了详细的参考资料,并且在应用程序开发方面,都有完善的IDE,开发难度低。结构框图如图1.4所示。图1.4 Win CE系统结构框图方案三:采用开源的Linux系统。Linux操作系统具有诸多优点,并且内核可裁剪,在满足系统要求的同时,具有高度的可移植性,由于嵌入式设备硬件平台的多样性,CPU芯片的快速更新,嵌入式操作系统要求支持常用的嵌入式CPU,如X86, ARM, MIPS, POWERPC等,并具有良好的可移植性。另外还需要支持种类繁多的外部设备。Linux支持以上几乎所有的主流芯片,并且还在不断的被移植到新的芯片上,嵌入式系统具有成本敏感性,

    12、处理器速度较低 ,存储器空间较少,这要求嵌入式OS体积小,速度快。Linux体系结构比较灵活,易于裁减,可以小到2M flash,4M RAM。基于Linux的操作系统结构框图如图1.5所示。图1.5 Linux系统结构框图方案论证:方案一不需要移植系统,但是却要面对硬件层进行编程,必须了解所用硬件的所有接口信息和特性,所有控制程序必须自行编写,工作量大。方案二中采用的Windows CE系统,目前并没有免费版本,如需使用,则必须支付一定的费用,增加了系统开发成本。方案三采用开源的Linux系统,不需要额外支付系统费用,并且具有高度可移植性与可裁剪性,综上所述,确定采用方案三。第2章 构建计算

    13、机开发平台2.1计算机平台系统安装Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何

    14、商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。REDHAT创建于1993年,是目世界上最资深的Linux和开放源代码提供商,同时也是最获认可的Linux品牌。Red Hat Linux是商业上运作最成功的一个Linux发行套件,普及程度很高,由Red Hat 公司发行。Red Hat Linux有一个图形化的安装程序Anaconda,目的是为了令新手更容易使用。同时,它有一个内建的防火墙设置工具Lokkit。由Red Hat Linux 8.0开始,UTF-8成为了系统默认的字符编码设定。这对于英语用户来说无甚影响,但当用到ISO/IEC 8859-1字符集的较高位置字符时,编

    15、码方式则完全不同。对于部分法语或瑞典语的用户来说,这是一个冒犯性的举动,因为他们的旧文件系统在这个设定下有可能变得不稳定。这问题可以透过移除LANG设定中的.UTF-8来解决。2.2虚拟机的介绍与安装由于Linux的兼容性差,目前很多常用软件并不支持在Linux平台上运行,这就导致如果直接安装Linux,那么在Linux环境中,将会有很多不便。因此,我们在此采用虚拟机下安装Linux的方案。虚拟机的工具我们选择Vmware Workstation。VMware Workstation 允许操作系统(OS)和应用程序(Application)在一台虚拟机内部运行。虚拟机是独立运行主机操作系统的离

    16、散环境。在 VMware Workstation中,你可以在一个窗口中加载一台虚拟机,它可以运行自己的操作系统和应用程序。你可以在运行于桌面上的多台虚拟机之间切换,通过一个网络共享虚拟机(例如一个公司局域网),挂起和恢复虚拟机以及退出虚拟机 这一切不会影响你的主机操作和任何操作系统或者它正在运行的应用程序。 VMware Workstation 是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发测试部署新的应用程序的最佳解决方案。VMware Workstation 可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进

    17、的技术胜过了市面上其他的虚拟计算机软件。对于企业的 IT 开发人员和系统管理员而言,VMware在虚拟网路,实时快照,拖曳共享文件夹,支持 PXE 等方面的特点使它成为必不可少的工具。2.3其它常用工具的介绍与安装其它常用的软件包括Qt、Qtopia、Busybox等。Qt是一个跨平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。 自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,KDE是所有主要的L

    18、inux发行版的一个标准组件。Qtopia 是Trolltech 公司为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台, Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。 Qtopia的特性如下 所示: 窗口操作系统、游戏和多媒体、工作辅助应用程序、同步框架、PIM应用程序、Internet应用程序、开发环境 输入法、Java集成、本地化支持、个性化选项、无线支持。第三章 开发板系统搭建 搭建Linux系统,首先需要在相关网站获得相应源码,下载得到的源码一般为通用源码,但是在一些个别方面仍不能完全匹配我们的硬件平台,所以得到源码后,首先

    19、要进行源码的修改,以做到与2440开发板的完全匹配。源码修改完成后,就要对我们需要用到的硬件模块进行系统上的支持,也就是移植相应设备的驱动,详细过程下文一一给出。3.1 Linux源码修改ftp/:ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.8.tar.ba2下载内核源码,目前最新的是2.6.30.4这个版本(2009年7月30日)。Linux移植的主要步骤有:(1)解压系统源码;(2)在系统中添加对ARM的支持;(3)修改平台输入时钟;(4)制作2440配置单;(5)修改机器码;详细过程如下所述。(1) 解压系统源码。解压内核源码到PC

    20、中,使用解压命令:#tar xvfj linux-2.6.25.8.tar.bz2 C /opt/EmbedSky/ ,然后解压到PC的/opt/EmbedSky/目录下。(2) 在系统中添加对ARM的支持。进到内核源码,修改“Makefile”文件,在第193行“ARCH ?=(SUBARCH)”和194行“CROSS_COMPILE ?=”,将其修改为“ARCH=arm”和“CROSS_COMPILE =arm-linux-”,然后保存。也可以在第一次使用“make menuconfig”命令时添加如下参数后代替前面这个步骤的:“make ARCH=arm CROSS_COMPILE =a

    21、rm-linux- menuconfig”(3) 修改平台输入时钟。修改平台的始终频率,以满足2440的工作频率。修改内核源码“arch/arm/mach-s3c2440/mach-smdk2440.c”文件的162行,把16.9344MHZ改为12MHZ,因为2440使用的是12MHZ的外部时钟源输入,即把16934400改为12000000。如下图所示:图3.1 修改系统晶振然后保存刚刚设置好的参数,然后就可以开始尝试编译出镜像使其运行到开发板中输入:#make menuconfig,然后进入配置菜单界面,如下图所示:图3.2 配置单选项(4) 制作2440的配置单。先调用自带的一个默认配

    22、置单,该配置单在内核源码的“arch/arm/configs”目录下面,名为:“s3c2410_defconfig”,该配置文件里面选择了几乎所有的和S3C24XX系列CPU相关的配置选项,可以在该配置单的基础上进行配置。在配置菜单中选择选项:“Load an Alternate Configuration File”,然后调用刚刚说到的那个配置文件,如下图:图3.3 储存配置单然后进入到如下界面,输入刚刚提到的路径和配置文件名称,回车即可。图3.4 储存配置单然后返回到配置界面,进入到“System Type”选项下的配置单:图3.5 选择系统类型然后配置各个平台。然后对是否支持EABI进行

    23、选择,由于在Linux系统中使用的是4.3.3的编译器,所以要在“Use the ARM EABI to compile the kernel”和“Allow old ABI binaries to run with this kernel (EXPERIMRNTAL)”两项选定。然后选择选项:“Save an Alternate Configuration File”,将其保存为:“.config”文件,因为编译系统时会调用该文件。如下图所示:图3.6 保存配置单并退出保存为“.config”文件后,退出配置单。(5) 修改机器码。在2440使用的uboot中设定了机器码为168,所以内核这

    24、里需要修改机器码,否则会出现不能启动的情况。机器码保存在内核源码的“arch/arm/tools/mach-types”文件中,在文件的379行,把原来的362改为168保存即可。3.2 相关驱动移植3.2.1 Nand Flash驱动移植 Linux里面已经做好了Nand Flash的驱动,只要进行简单的修改就可以了。添加NAND分区表到内核。(1) #vim arch/arm/plat-s3c24xx/common-smdk.c。(2) 修改结构smdk_default_nand_part,添加自己的分区表信息。 (3) 在内核配置选项中,选择Device Drivers-MTD supp

    25、ort-NAND Device Support-NAND Flash support for Samsung S3C SoCs和Samsung S3C NAND Hardware ECC;同时需要在MTD support中选择MTD partitioning support(支持分区)、Command line partition table parsing、Direct char device access to MTD devices和Caching block device access to MTD devices。MTD support选择项中只需要选择这些就可以了,别的都可以去掉。

    26、3.2.2 添加yaffs2文件系统到内核(1)从相关网站上下载最新的yaffs源代码包。(2)解开yaffs源码包后,有两个目录分别为yaffs和yaffs2。之后进入yaffs2,执行如下命令:#patch-ker.sh c 。(3)在内核配置选项中,选择File Systems-Miscellaneous filesystems-YAFFS2 file system support。3.2.3 网卡驱动移植DM9000网卡驱动的移植。2.6.31.5中自带的dm9000.c可以满足2440开发板上的DM9000网卡的要求,因此可以以2.6.31.5自带的dm9000为基础进行移植。下面是

    27、具体的移植步骤:(1) 添加网卡驱动的平台数据信息,包括:网卡的资源(地址资源、数据资源以及中断号等)、数据位数、网卡名称等。(2) 导出s3c_device_dm9k变量。编辑arch/arm/plat-s3c/include/Plat/devs.h文件,具体添加内容如下:extern struct platform_device s3c_device_dm9k。(3) 添加s3c_device_dm9k到平台设备数组。编辑arch/arm/mach-s3c2440/mach-smdk2440.c文件,具体添加内容如下:static struct platform_device *smdk2

    28、440_devices _initdata = &s3c_device_usb,&s3c_device_lcd,&s3c_device_wdt,&s3c_device_i2c0,&s3c_device_iis, &s3c_device_rtc&s3c_device_dm9k,/添加dm9000到平台设备数组 (4)修改dm9000.c文件。由于在common-smdk.c中设置了dm9000使用的系统资源是CS4,因此需要根据dm9000的芯片手册来设置BWSCON和BANKCON4寄存器。另外由于dm9000网卡中断信号为上升沿,因此需要在网卡注册中断前设置中断信号为上升沿有效。3.2.4

    29、SD卡驱动移植SD卡移植。2.6.31.5内核对SD卡的支持已经很好了,因此只需要简单的修改以及配置必要的内核选项即可。(1)修改mmc驱动。drivers/mmc/host/s3cmci.c文件的s3cmci_probe()函数中需要修改CardDetect中断号,根据开发板的设置此中断号为EINT16,对应s3c2440为GPG8引脚。具体添加内容如下:host-irq_cd=s3c2410_gpio_getirq(host-pdata-gpio_detect); /添加irq_cd的中断号为IRQ_EINT16且设置GPG8脚为16号中断的输入引脚host-irq_cd=IRQ_EINT

    30、16;s3c2410_gpio_cfgpin(S3C2410_GPG(8),S3C2410_GPG8_EINT16);(2)修改系统初始化硬件设备列表。arch/arm/plat-s3c24xx/common-smdk.c的smdk_devs数组中需要添加s3c_device_sdi设备。使得MMC/SD设备在系统开机时能正确加载。(3)在内核配置中添加对S3C MMC/SD的支持。3.2.5 USB驱动移植(1)支持U盘。2.6.31.6内核已经对USB设备进行了很好的支持,不需要修改任何代码,只需要在配置内核的时候注意选择必须的选项即可。除了device driver中USB模块外还需要对

    31、SCSI和HID部分进行特殊处理。具体设置如下: SCSI:SCSI support、SCSI disk和SCSI CDROM HID:full HID和raw HID(2)USB从设备。2.6.31.6内核已经支持USB从设备,需要在配置内核时选择device driver-USB support-USB Gadget support(编译进内核),以及其下的USB片上外设控制器为S3C2410、USB Gadget driver和File-backed Storage support(这两项编译成模块,需要动态加载)。除了内核配置外,还需要对USB Gadget平台设备进行必要的设置。编辑

    32、arch/arm/mach-s3c2440/mach-smdk2440.c文件。3.3 编译镜像完成以上配置后,在终端中输入“# make zImage”,就可以进行编译了,编译完毕后,会在内核源码的“arch/arm/boot/”目录下面生成名为“zImage”的镜像,然后将其烧写到开发板中。3.4 构建文件系统3.4.1 构建框架在”/opt/EmbedSky/”目录下面建立一个“root_2.6.30.4”的目录,复制编译出来的busybox“bin”的目录、“sbin”目录、“usr”目录和“linuxrc”到“root_2.6.30.4”目录下,然后新建“dev”、“etc”、“home”、“lib”、“mnt”、“opt”、“


    注意事项

    本文(基于TQ2440和Qt的Mp3设计 精品.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开