目录。一背景介绍 1
二系统总体设计 1
2.1 博创netarm2410-s开发平台 1
2.2 硬件体系结构 2
2.2 软件体系结构 2
三系统具体设计 3
四系统调试结果 3
五个人具体工作 4
5.1 本机qtopia虚拟平台的建立 5
5.2 qt交叉编译环境的建立与开发板库文件的加载 6
5.3 程序交叉编译调试过程的建立 7
5.4 qt文件上下曲功能的编写 7
六总结 86.1 遇到主要问题及解决方案 8
6.2 设计不足与展望 9
6.3 个人总结 9
参考文献 10
近年来,嵌入式系统的发展成为计算机科学领域的一个热门技术。嵌入式系统是应用于特定设备中的专用计算机。随着计算机硬件技术的发展革新,用户对嵌入式产品功能的要求也愈加完备。
越来越多的嵌入式系统,包括pda、*****器、wap手机等在我们生活中扮演着愈加重要的角色。其中作为嵌入式数码设备的代表,*****器深得广大用户的喜爱。
***作为高质量**压缩标准,给音频产业带来了具大的冲击。***技术使**数据压缩比率大,回放质量高, 较小数据量和近乎完美的**效果使其在网络上传输得以实现。 随着*****器的出现及其技术的发展,对*****器的要求越来越高,制造商在选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。
本次实验任务是在up-netarm2410-s嵌入式系统教学平台上设计一个基于嵌入式linux与qt的*****器。使用qt制作图形用户界面,利用开源的madplay解码器对***文件进行软件解码,实现打开歌曲文件、**、暂停、停止、上下曲目、音量增减等功能。
由博创兴业科技****开发的arm9实验平台中已经包含了许多基本模块,兼容性很好,所以可以省去许多硬件开发的步骤,诸如a/d、d/a、flash、以太网卡、can总线控制器及lcd显示器等,也包含了许多扩展模块的接口。
图2-1 主控制器硬件框图。
该平台采用三星公司生产的基于arm9架构的嵌入式芯片s3c2410,主频202mhz,包含64mb sdram、64mb flash、lcd、键盘、网卡、usb接口、uart/irda、a/d通道、can bus、扩展卡插槽等硬件配置。硬件配置结构如图2-1所示。
*****器的硬件总体设计框图如图2.2所示:
图2-2 系统硬件总体设计框图。
由图2-2可以看出,本次设计的***硬件主要组成部分有:cpu、d/a转换与音频放大器、lcd显示屏、存储器等。以cpu s3c241o为中心,包括d/a转换与音频放大,sdram,flash存储器,tft液晶显示屏。
pc机通过以太网与arm9开发板相连,实现交叉编译功能。
s3c2410拥有丰富的处理器资源: 独立的16kb指令cache和16kb 数据cache、mmu支持tft的lcd控制器。采用iis接口芯片uda1341,一路立体声音频输出接口可接耳机或音箱,通过解码后的信号经音频放大电路输出。
通过lcd显示屏接口显示*****控制界面,通过人机界面实现对**和暂停,停止,音量递增,音量递减等功能的控制。
此*****器的软件体系结构采用分层模式,总共包含四层:硬件层、设备驱动层、操作系统及应用层。如图2-3所示:
图2-3 软件体系结构。
硬件层包括了*****器所需的物理设备: lcd液晶屏、音频接口芯片uda1341等;设备驱动层包括上述各个设备的驱动程序;操作系统层使用嵌入式linux的操作系统,为应用程序完成基本的底层的资源管理等工作;最上层是应用层,使用qt设计图形用户界面,通过移植开源的madplay解码器实现对***文件的解码,**、音量增减的控制。
完成系统总体设计后,进行系统的具体设计工作。本次课程设计主要划分成三个部分进行:
为了使用开源的madpaly程序,需要详细深入的研究开源**程序,为如何调用开源**提供依据。
使用qt desiger工具制作qt人机界面,完成所需要控件的添加以及界面美化,并在生成的“*.cpp”文件中添加各个按钮功能函数。
进行宿主机开发环境的配置,完成本机qtopia虚拟平台的建立。qt交叉编译环境的建立,开发板库文件的加载。
完成以上工作后,就可以进行程序的编译以及调试工作。
我们将编译通过的可执行程序发布到qtopia平台上,并在嵌入式开发板上所tft液晶屏上显示qt控制界面界面。该*****器完成了打开歌曲文件、**、暂停、音量加减、上下曲目、停止等功能。
图4-1 *****器启动界面。
图4-2 *****器打开**文件界面。
系统设计流程如图5-1所示。在设计中,我主要负责本机qtopia虚拟平台的建立、qt交叉编译环境的建立、开发板库文件的加载、编译调试过程建立以及部分qt程序的编写工作。在老师给给出直接写入文件前,本组已经配置好虚拟开发环境,下面所讲的并没有采用老师给的简单方法,而是一步步写入配置。
图5-1系统设计流程。
qtopia是trolltech公司为采用嵌入式linux系统的消费电子设备而开发的综合应用平台,它是基于qt/embedded的。使用qt/embedded不仅可以开发qtopia也可以用来开发面向qtopia的第三方软件。
使用虚拟平台前,需进行相应的配置工作,建立本机qtopia虚拟平台的步骤:
1)建立/root/2410sqt目录。将/arm2410s/gui/qt/src下的四个文件夹使用cp命令拷贝至/root/2410sqt目录下。使用tar xzf命令进行解压缩。
2)build qt/x11。这步主要进行qt的配置工作,使用。/configure –no –xft命令后,使用make命令,然后将生成的bin/uic拷贝至相对路径$qtedir/bin/中。
3)build qvfb。此步建立从qt/embedded 2.3.
10到qt 2.3.2的静态库的链接。
其中的qvfb工具可以模拟在开发板上的显示情况。使用make命令后,将生成的qvfb移至$qtedir/bin/中。
4)build liqte。使用。/configure –system-jpeg –no-xft –qconfig qpe –qvfb –depths 4,8,16,32后编译sub-src。
此步-qvfb用来支持virtual framebuffer,可以配置显示深度和添加对-system-jpeg的支持等。
5)build qtopia。此步进行qtopia的库文件的配置。在使用make命令时,编译出错提示缺少uuid库文件。为此我们需要重新进行编译。
经过以上步骤后,我们已经配置好本机虚拟qtopia的配置工作。但是需要注意的是, tmakedir、qt2dir、qtedir环境变量等在每次重新启动后都要再次配置,为了避免重复操作,我们需要修改宿主机的/root/.bash_profile的文件,修改path=$apth:
$home/bin:/arm2410s/gui/qt/tools/usr/local/arm/3.4.
1/bin/,将qtedir、qt2dir、tmakedir、qpedir等全部指向绝对路径,即/root/2410sqt下的qt-2.3.10、qt-2.
3.2、tmake-1.13、qtopia-free-2.
1.1,qtedir=$qtedir,同时,path和ld_library_path、tmakepath都要指向相应的路径。source存盘后退出。
至此,本机虚拟qtopia开发环境已经建立。
要想将我们的应用程序发布到qtopia上,需要三个文件:一个可执行文件、一个启动器文件、一个图标文件。可执行文件编译链接后生成。
图标文件就是一个。png文件,需要手动编写一个启动器文件。将图标文件、可执行文件、启动器文件分别复制到/root/qtopia/qtopia-free-2.
1.1/目录下pics、bin、apps/applications下,然后进入$qpedir/bin中,运行qvfb&,sleep 10,./就可以观察到我们自己发布在宿主机上的程序。
要将我们写好的程序发布到开发板上,需要对qt/embedded重新编译。我们在/root/2410sqt下重新解压注意,在这步操作之前将原有的qt-2.3.
10重新命名为qt-2.3.10_x86,以避免覆盖。
然后进行开发板的配置,./configure –xplatform linux-g++ no-qvfb –depths 4,8,16,32,然后make,将生成的这四个在开发板上运行所需要的库文件拷贝至开发板上的/usr/lib文件中。
在宿主机端将$qtedir/lib/fonts中的全部文件拷贝至主机的共享文件夹中。建立本机与开发板的通讯后,在开发板上进行操作,将共享文件夹挂至开发板上,然后$qtedir/lib/fonts中的全部文件拷贝至/mnt/yaffs/lib/fonts下。至此,qtopia交叉编译环境与开发板库文件加载已经完成,下面可以进行程序的编译调试工作。
要想将我们的应用程序发布到开发板qtopia上,同样需要三个文件:一个可执行文件、一个启动器文件、一个图标文件。主机与开发板挂接后,将图标文件、可执行文件、启动器文件分别复制到开发板的/mnt/yaffs/qtopia/目录下pics、bin、apps/applications的然后进入/mnt/yaffs/qtopia中,运行。
/就可以在开发板上看到我们的应用程序。
嵌入式系统报告
北京联合大学信息学院。嵌入式系统应用课程设计 实验报告。题目 基于arm9的电子时钟设计。时间2013.11.26 一 课程设计评分表1 二 设计任务书2 三 概要设计2 四 详细设计3 五 调试过程及结果分析10 六 设计 调试中的体会及建议13 七 参考文献13 课程设计评分表。基于arm9的电...
嵌入式系统报告
浙江理工大学。rm嵌入式系统技术及应用 课程报告。题目 基于stm32的呼吸灯设计。专业 电气工程及其自动化。班级 10电气工程及其自动化1班。姓名 杨家卫。学号 b103828 指导老师 顾敏明。本次设计基于对这一学期相关内容知识的整合,将相关知识应用在野火开发板上,实现设计目标的过程。stm32...
嵌入式系统课程报告
嵌入式系统 课程报告。学生姓名 车良康 学号 20091002977 班序号 116092 14 指导教师 徐战亚 中国地质大学 武汉 信息工程学院。2011 年 10 月。题目 仿picasa 浏览系统。1 引言。1.1 项目背景。picasa是一款可帮助您在计算机上立即找到 修改和共享所有 的软...