当前位置:文档之家› 最新入式数码相框的设计与实现毕业

最新入式数码相框的设计与实现毕业

入式数码相框的设计与实现毕业广州大学华软软件学院本科毕业论文论文题目嵌入式数码相框的设计与实现专业电子信息工程班级11级嵌入式应用软件开发1班姓名许家淇学号1140907104指导教师徐礼国广州大学华软软件学院电子系2015年 4 月摘要本设计采用搭载s3c2440芯片的TQ2440开发板作为硬件平台,并在该硬件平台上移植了u-boot,linux内核,根文件系统,构成一个嵌入式linux操作系统,该系统的最大特点就是,可以根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求,主要用途就是对软硬件资源的调度与分配。

在搭载了linux嵌入式系统的TQ2440开发板上,本文设计了一个界面应用程序,该应用程序主要功能为:用户通过对界面的操作就可对数码相框中图片的浏览与管理,以及进行幻灯片播放功能。

关键词: TQ2440;嵌入式系统;数码相框;ABSTRACT This curriculum designt uses the TQ2440 development board with the S3C2440 chip as the hardware platform and transplant u-boot, the hardware platform in the Linux kernel, root file system, constitute an embedded Linux operating system, the biggest feature of the system is that can be tailored to meet the hardware and software according to the demand of application, function, reliability, cost, volume requirements of application system, the main purpose is to soft hardware resource allocation and scheduling.When equipped with a TQ2440 development board Linux embedded system, this paper designed an interface application program, the main function of the application program so that the user can browse and management of the image in the digital photo frame through the interface, and a slideshow feature.KEY WORDS: TQ2440; Embedded System; Digital Photo Frame目录1.前言 01.1背景与研究意义 01.2本论文的主要研究内容 02. 数码相框总体设计与论证 (1)2.1数码相框总体设计方案 (1)2.2.器件选型: (2)2.3论证 (2)3. 嵌入式linux系统构建 (3)3.1 u-boot的移植 (3)3.2 Linux内核的移植 (4)3.2.1 准备工作 (5)3.2.2 修改内核源码顶层 (5)3.2.3 设置 flash 分区 (5)3.2.4 修改机器码 (5)3.2.5 配置编译内核 (6)#make menuconfig //进入设置界面,配置内核 (6)3.2.6 Linux内核编译与烧写 (9)3.3制作根文件系统 (10)3.4.驱动的设计 (10)3.4.1关于USB驱动设计 (10)3.4.2 关于LCD驱动设计 (11)3.4.3关于触摸屏驱动设计 (12)4. 界面应用程序 (13)4.1程序作用简介: (13)4.2界面功能总框架: (13)4.3程序主流程介绍 (15)4.4程序模块介绍 (16)4.4.1程序模块实现概述: (16)4.4.2页面规划模块: (17)4.4.3调试模块: (17)4.4.4图片解析模块: (17)4.4.5字体解码模块: (18)4.4.6输入模式模块: (18)4.4.7显示模块: (19)5.系统分析和测试 (20)5.1系统分析方法简述 (20)5.2测试 (20)5.2.1 bmp图标显示测试 (20)5.2.2 jpeg图片解析测试 (20)5.2.3 u盘挂载测试 (22)5.3测试结论 (23)6. 总结 (24)参考文献 (25)附录 (26)致谢 (27)1.前言1.1背景与研究意义随着PC时代数码技术的发展,数码相机以其低廉的价格,方便的操作成为摄影器材的发展方向。

目前,很多家庭都持有数码相机,一次拍摄下来的照片往往会有上百张,使用PC机来查看拍摄下来的图片,过于依赖PC机。

并且众多的数码摄影产生的相片保存起来后,查看过程繁琐不方便,要想再把这些相片都冲印出来回味、欣赏,即浪费又不环保。

数码相框将彻底解放那些积压下来的数码相片,让你人生中值得记忆的每一个瞬间从此不再被埋没在硬盘里面。

数码相框可以不但可以节约了照片冲印的纸张,而且还可用来美化家居,构造精致生活享受。

分享快乐、展示成功;带给父母,缓解思念。

作为数码相机的一种附属产品,数码相框不仅具有传统相框的特点,而且可以直接从数码相机中选择心仪的照片,随时更新照片。

数码相框还可以摆放在家居显眼之处,成为现代家庭一道靓丽的风景线。

1.2本论文的主要研究内容本设计是以TQ2440为硬件平台并搭载嵌入式Linux操作系统为基础,完成图片可轮播、查看的数码相框系统设计。

主要研究内容包括以下几个方面:(1)分析数码相框系统需求,对所用硬件器件选型,嵌入式系统的选择,以及确定界面程序实现方式。

(2)在基于ARM9微处理器的TQ2440平台上搭建嵌入式系统开发环境。

(3)在嵌入式Linux操作系统平台上完成实现了uboot、内核的移植和构建根文件系统等工作。

(4)对数码相框的界面进行研究,通过界面程序实现了友好的人机交互UI界面。

2.数码相框总体设计与论证2.1数码相框总体设计方案本文设计的数码相框系统,完成了实现图片的查看、轮播功能的系统设计方案设计。

该数码相框系统依靠ARM微处理器和嵌入式Linux操作系统作为平台,同时结合界面应用程序,通过对触摸屏的操作,在LCD屏幕上显示图片,实现数码相框系统与外界的信息交互,从而能在TQ2440上实现数码相框的基本功能。

如图2.1所示图2-1 数码相框系统2.2.器件选型:本文选择以搭载ARM处理器的三星s3c2440芯片为核心,搭建硬件平台,主要原因是ARM处理器具有以下特点:(1)体积小、低功耗、低成本、高性能。

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

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

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

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

(6)指令长度固定。

2.3论证本课程设计采用的是linux系统,属于嵌入式系统的一种。

对比开发常见的嵌入式操作系统WinCE、uCOS-II、VxWorks等。

嵌入式linux操作系统用途更为广泛,并且是开源系统软件,其主要功能是分配、调度工作,控制协调并分发软、硬件资源;该系统是功能模块化的,即一个功能对应一个模块,添加一个功能只需要增加一个对应模块就可以。

嵌入式linux操作系统突出的特点是系统实时的高效性、移植性好、,众多的系统软件开源等。

嵌入式操作系统与普通的计算机操作系统相比,除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等,还有系统功能可裁剪、系统工具开源里面以及与嵌入式ARM微处理器兼容性好等特点。

3. 嵌入式linux系统构建3.1 u-boot的移植TQ2440的启动需要Bootloader,Bootloader是硬件启动的引导程序,是启动操作系统的根本,是在操作系统内核或用户应用程序运行之前运行的一段小程序。

通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用准备好环境。

本课程设计采用的u-boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。

简单的说,u-boot就是开源的且通用的Bootloader。

由于u-boot源代码十分庞大,本文无法一一列出代码,而且,移植u-boot到TQ2440开发板的过程十分的复杂与繁琐,所以,本文只对移植u-boot关键部分作出说明:(1)获取u-boot源码:登录官网下载u-boot-源码 ,然后解压:# tar xzf u-boot-2010.03.tar.bz2此时我们就得到了u-boot 2010.03版本的源码。

(2)根据系统的处理器平台选择对应的目标编译项:(A)在uboot-2010.03的根目录下面的Makefile中为TQ2440建立编译, 以sbc2410x为模板例子。

在Makefile中加上对TQ2440板子的支持,将这个编译项命名为TQ2440:TQ2440_config : unconfig@$(MKCONFIG) $(@:_config=) arm arm920t TQ2440 NULL s3c24x0 各项的意思如下:arm:CPU的架构为arm架构。

arm920t:CPU的类型为arm920t。

TQ2440:开发板的型号为TQ2440。

NULL:开发者/或经销商(vender),NULL表示没有。

s3c24x0:片上系统为s3c24x0。

(B)由于本文使用arm架构处理器,故需要设置交叉编译工具链,修改顶层Makefile的CROSS_COMPILE定义如下:CROSS_COMPILE = arm-linux-(C)仿造sbc2410x模板,在/board目录下建立TQ2440文件夹,并在include/configs/中建立开发板的配置头文件,拷贝sbc2410x的文件到TQ2440和include/configs/中,并将sbc2410x命名的文件和定义改为TQ2440。

(3)修改cpu/arm920t/start.S,根据S3C2440A数据手册时钟参数,修改代码使得u-boot从NAND Flash启动或者从Nor flash启动。

(4)根据TQ2440上的NAND Flash芯片手册,增加NAND Flash读写函数,实现NAND Flash的读写操作,实现加载Uboot、内核和文件系统硬件到NAND Flash 功能。

相关主题