基于ARM9的简易数码相框
2349,就得到了移植 Madplay 所需要的三个文件:madplay-0.15.2b.tar.gz、libmad-0.15.1b.tar.gz 和libid3tag-0.15.1b.
tar.gz.
(2) 把这三个文件放到madplay 文件夹中,具体操作如下:
#cd /
#mkdir madplay
#cd madplay
#mkdir src-arm target-arm
解压后#cd madplay
#for f in $(ls *.tar.gz); do tar xvzf $f –C/src-arm ; done.
(3) 安装 libid3tag
#cd /src-x86/libid3tag-0.15.1b
# . / c o n f i g u r e - - p r e f i x = / m a d p l a y /target-x86
#make
#make install
(4)安装 libmad
#cd / libmad-0.15.1b
#./configure --prefix= /target-arm
#make
#make install
(5) 编译安装madplay
#cd /madplay/madplay-0.15.2b
# . / c o n f i g u r e - - p r e f i x = / m a d p l a y /t a r g e t - x 8 6 - - C P P F L A G S = - I m a d p l a y /t a r g e t - a r m / i n c l u d e – L D F L A G S = - L /madplay/target-arm/lib
生成了编译所需要的 Makefile 文件,输入以下命令开始编译安装:
#make
#make install
(6) 执行完毕后,可执行文件被安装在指定目录/madplay/target-arm/bin/ madplay中。拷贝一首MP3 文件到madplay 所在的目录,执行:#./madplay test.mp3,就可以听到MP3 的声音了。
3.编写程序
(1) 写操作流程。
在主程序中建一个mainwindow 类,用来显示开机界面并接收开机界面上的点击事件。
① 主程序中建一个setting 类, 初始化为隐藏,用来配置设置背景音乐、音量,播放幻灯片格式。当显示开机界面时点击到配置图标,该类的对象显示,显示出配置界面。点击setting 界面的隐藏图标时隐藏该界面;配置界面设置幻灯片切换的切换时间、音乐和音量② 主程序中建一个play 类, 初始化为隐藏。
显示开机界面后,如果点击到播放按钮,开始播放图片。播放过程中,点击点播界面界面,显示开机界面。
③ 设置完毕,点击播放图标,开始播放。
(2)制定程序架构。
QT 简单易用,功能强大,用它来实现该作品的功能,在写程序上省去了很多事。它提供对大多数目前流行图片格式的支持,如BMP、PNG、JPEG 等,并且可以对图片进行加工。我们可以通过QT 编程,实现图片的翻转、扭曲、缩放、重叠,以及播放幻灯片的各种切换效果。用触摸屏实现输入操作,进行界面切换。
(3)编辑调试程序。
程序用C++ 编写,在windows 主机系统下用source insight 软件编辑,通过文件共享,在虚拟机linux 环境下编译。具体步骤如下:
① 在windows 主机和linux 虚拟机的共享目录下, 打开source insight 软件,建一个工程,并把QT 源代码导入source insight 该工程,然后在这个工程里新建数码相框文件,这样,类成员会自动补齐。
② 编辑完毕,保存。
③ 进入虚拟机的数码相框工程路径, 执行以下面命令, 进行编译。
/bin/qmake –project
/bin/qmake
make
④ 挂载开发板,调试(用NFS)。进入开发板终端,执行相关命令,观看程序执行效果。
重复以上步骤,直至程序调试满意,然后把调好的程序烧入板子的flash 芯片中脱机运行。
四、结语
数码相框要求简洁实用、界面美观,力求给人以精神上的享受。本制作围绕这一目标,突出界面的美化,如幻灯片的切换、音量调整的界面等。该数码相框功能简单,大体框架已具备,在此基础上还可以进行很多修改和升级,比如连接网络、播放视屏、显示日历、闹钟等。
- 基于Linux NFS的Web数码相框设计 (08-27)
- UCOS-II 操作系统在数码相框中的应用(03-02)
- 基于Nios II 的多功能数码相框的设计与实现(06-05)
- 简易数码相框与电子书阅读器的设计(10-10)
- 基于RT-Thread和STM32的数码相框的设计方案(12-28)
- 基于Blackfin处理器的嵌入式数码相框设计[图](02-15)