APP下载

基于S5PV210 数码相框的设计与实现

2015-12-02王莉莉

山西电子技术 2015年1期
关键词:宿主机相框文件夹

王莉莉

(苏州工业职业技术学院,江苏 苏州 215104)

当胶卷退出我们普通人的生活之后,拍摄-冲洗胶卷-扩印照片的经典流程也渐渐从我们身边消失。取而代之的是,大量的数码相机用户群和种类繁多的各种存储介质。数码相框则是目前回放这些照片的最好途径,作为浏览数字照片的核心产品,数码相框正迎合了消费者的需求。

1 系统需求分析

许多人不明白数码相框的魅力到底在哪里。时下拍摄的数码相片开始呈现出了几何级数的增长,要想再把这些相片都冲印出来回味、欣赏,浪费大量金钱不说,传统的相框、相册也无法再承担起保存的重任。数码相框将彻底解放那些积压下来的数码相片,让你人生中值得记忆的每一个瞬间从此不再被埋没在硬盘里面。数码相框可以用来美化家居,构造精致生活享受。分享快乐、展示成功;带给父母,缓解思念;或者带入办公室,消解工作压力。

而和传统的相框相比,数码相框也具备了很多的优势。数码相框采用了普通相框的外形,而且更为精致,用液晶显示屏来显示照片,配上电源、存储介质等,使多张相片能够在显示屏上循环播放,有的数码相框还增加了MP3 和MP4 等多媒体娱乐功能,比普通相框的单一功能更有优势。

作为消费类电子产品,数码相框必须考虑以下几个方面的功能:

1)用户界面及接口友好,操作简便。作为一个消费类电子产品,它的客户是多样化的,其中大部分都是非专业化的,甚至是老人或者是小孩,操作是否人性化、简洁化,成为能否让用户迅速接受产品的重要因素。

2)系统兼容性强,数码相框应该能够识别和处理当前数码相机拍摄图像格式,能够访问主流的半导体存储外设。

3)存储可靠,作为存储设备,必须通过严格的功能测试,以保证用户在使用过程中不丢失信息。

鉴于此,数码相框产品的主要功能应包括以下方面:

1)支持主流半导体存储卡,能从中读取图像文件。

2)在LCD 屏中全屏循环显示多幅图像文件,支持各种主流格式。

3)显示时间和日期

4)可通过按钮或触摸屏进行操作。

2 系统总体设计

基于Linux 下使用Qt 编写的数码相框架构设计方案通过使用纯C++语言开发来支持嵌入式Linux 系统,采用Qt/Embedded 作为GUI 来提供强大的用户界面,设计位于Linux 用户空间的目的是为了系统移植性。

本项目的系统架构由以下几个层次组成:

1)底层硬件。本设计采用凌阳的A8 实验箱为三星S5PV210。

2)驱动程序

3)操作系统。一台装有Ubuntu 系统或装有Ubuntu 虚拟机的PC 机。

4)Qt 应用程序

本项目所设计的数码相框主要采用Qt 为主的程序设计方案,配合A8 实验箱就做成了一款数码相框。数码相框在初始化时会扫描指定目录下的所有支持的图片文件,用户可以通过按钮实现前翻或者后翻,并且可以进行放大和缩小的操作。

3 实现数码相框项目流程

首先搭建系统,其中包括PC 平台Linux 虚拟机环境建立、ARM 平台Linux 系统搭建。使用Qt 编程实现。常见的Qt 应用程序的开发有两种方式[1]:

第一种使用文本编辑器编写C++代码,然后在命令行下生成工程并编译;

第二种使用Qt Creator 编写C++代码,并为Qt Creator安装Qt Embedded SDK,然后利用Qt Creator 编译程序。由于Qt Creator 具有良好的可视化操作界面,同时它包含了一个功能非常强大的C++代码编辑器,所以第二种方法是我们的首选。

1)在Qt 中,点击菜单栏File/New File or Project,新建文件类型为Qt C++Project/Qt Gui Application。在接下来的Qt Gui Application 对话框中输入工程名称QtImage 和保存路径[2]。

所创建的数码相册项目工程如图1 所示。

图1 项目工程文件

以下是数码相框的主程序,主要实现的功能是在界面上显示widget 控件。

图像显示程序段:

Ui 显示界面如图2 所示。

图2 放大模式

通过点击左上角的缩小控制按钮,图片显示如图3 所示。

图3 缩小显示的图片

通过点击左上角的翻页控制按钮,显示下一个图片如图4 所示。

图4 翻页功能

2)实验箱平台显示

通常的嵌入式系统的软件开发采用交叉编译调试的方式。交叉编译调试环境建立在宿主机上,对应的开发板成为目标板,本项目使用为凌阳的A8 实验箱为三星S5PV210,其为ARM A8 架构的处理器。GNU 编译器提供这样的功能,在编译器编译时可以选择开发所需的宿主机和目标机从而建立开发环境。所以在进行嵌入式开发前第一步的工作就是要安装一台装有指定操作系统的PC 机作宿主开发机。嵌入式开发通常要求宿主机配置有网络,支持NFS(为交叉开发时mount 所用)。然后要在宿主机上建立交叉编译调试的开发环境[3]。

接下来编译用于实验箱运行的Qt 应用程序,首先将实验箱的串口和网线连接到PC 机。

执行Qt Creator 的Build/Clean All,清理之前生产的编译文件,防止编译嵌入式版本的程序出错。单击左下角所示的图标,会弹出编译选择框。点击“Build”右侧的下拉列表,在弹出的四种编译类型中,选择“Qt for A8 Release”。点击“Build All”按钮,即可开始编译实验箱运行的版本,直到编译选择按钮上方的进度条变成绿色,即表示编译完成。并在工程的保存目录下,可以找到一个名为“QtImage- build-desktop”的文件夹,如图5 所示。编译生成的可执行程序即在此文件夹中。

图5 QtImage-build-desktop 文件夹

将QtImage-build-desktop 文件夹中的QtImage 文件复制到Windows 下,并按照前述中下载程序的方法,将QtImage下载到实验箱;在超级终端中,利用chmod 777 QtImage 为QtImage 添加可执行权限,并运行它。操作如图6 所示。

图6 运行QtImage

在实验箱上使用触摸屏即可对应用程序进行操作[4]。

4 结束语

随着嵌入式系统的飞速发展,其应用已经渗透到人们生活的每一个领域。大到军事领域,小到小朋友的玩具,它正在以不同的形式悄悄地改变着人们的生产、生活方式。已经成为当今计算机领域的一个热点,因此开发和探讨嵌入式系统有着十分重要的意义。

[1]陈海燕,任松岩.嵌入式Linux 根文件系统的研究[J].现代电子技术.2010,33(4):73-75.

[2]李亚峰.ARM 嵌入式Linux 设备驱动实例开发[M].北京:中国电力出版社,2008.

[3]朱小远,谢龙汉.Linux 嵌入式系统开发[M].北京:电子工业出版社,2012.

[4]凌阳科技.A8 实验箱——Linux 平台篇[OL].http://www.unsp.com.2013-04-12.

猜你喜欢

宿主机相框文件夹
相框
嵌入式计算机软件测试关键技术研究
相框
沙滩相框
虚拟网络实验室在农村职校计算机网络技术教学中的应用研究
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
挂在墙上的文件夹
不容忽视的空文件夹