学士学位毕业设计论文
基于嵌入式ARM-Linux的电子相册设计
学生姓名
学 号
指导教师
所在学院
专 业
中国·
2013年05月
本科毕业设计论文任务书
注 1 任务书由指导教师填写后交给学生要求学生妥善保存。
2此任务书夹于论文扉页与论文一并装订作为论文评分依据之。
摘要
随着数码相机的盛行传统相机逐渐退出历史的舞台。对于数码相片的欣赏和摆设人们一般只能通过PC机极其不方便。 电子相册正是迎合这种需求它体积小能随时更换相片并具有USB传输功能能够即插即用拥有较大的存储空间。本设计采用了比较通用的S3C2410系列处理芯片为主芯片和源代码开放的嵌入l i nux操作系统共同建立的平台设计了电子相册系统主要实现的功能有对多种格式相片在640*480 LC D触摸屏上以幻灯形式播放、USB读取等功能。该设计具有成本低功能强大等特点。针对nandflash启动的支持实现了启动引导程序U-BOOT的修改和移植以及嵌入式linux内核的裁剪和驱动的修改包括nandflash分区、 LCD驱动修改等在软件开发的同时我们根据该项目设计需求完成了电路原理图和PCB版图的设计。
关键词 S3C2410 nandflash LCD触摸屏 linux
—I—
AB S TRAC T
With the prevalence of digital camera, traditional camera gradually withdrawfrom the stage of history.For digital photo appreciation and decoration,peoplegenerally only through the PC machine, is not very convenient.Electronic photoalbum is to meet this demand, it is small in size, can be replaced at any time andphoto,with USB transmission function, can plug and play,has a larger storagespace.This design uses the joint establishment of embedded operating system oflinux series S3C2410 chip as the main chip,and open source general platformdesign of electronic album system, the main function of a variety of photos in the640*480LCD touch screen in the slide show broadcast,USB read functions.Thedesign has the advantages of low cost,powerful features.The nandflash startupsupport, realize the bootloader of the modification and transplantation ofU-BOOT,and the embedded Linux kernel cutting and drive modifications,including nandflash partition,LCD driver modification; in software developmentand at the same time,we according to the design requirements of the project,completed the design of the circuit principle diagram and PCB layout.
Key words: S3C2410;Nandflash;LCD touch screen;Linux
—II—
目录
摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I
ABSTRACT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .II
目录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .III
前言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .IV
1绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1. 1电子相册市场成长的必然性. . . . . . . . . . . . . . . . . . . . . . . . . .1
1. 2电子相册未来产品的发展. . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2. 1数码相框. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2.2电子相册. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1. 3 目前市场上流行三种系统设计架构. . . . . . . . . . . . . . . . . . . .2
1.3. 1单芯片解决方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1. 3. 2以DSP+FPGA等硬件为基础用软件算法实现功能. . . . . 2
1.3.3 ARM9核心方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
2硬件设计方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
2. 1采用此硬件方案的优势. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2. 2采用LINUX操作系统的优势. . . . . . . . . . . . . . . . . . . . . . . . . . .4
2. 3硬件的设计方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.3. 1 S3C2410简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.3.2 SDRAM存储接口电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3.3 NANDFLASH存储电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.3.4电源模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.3.5USB电路模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.3.6 LCD电路模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.4小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3 LINUX系统的建立. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3. 1 LINUX的启动过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3. 2启动代码和BOOTLOADER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
3. 3 U-BOOT的简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
3.4 U-BOOT的移植和修改步骤. . . . . . . . . . . . . . . . . . . . . . . . . .19
3.4. 1 U-BOOT由Nand Flash启动概述. . . . . . . . . . . . . . . . . .19
3.4.2 U-BOOT基本配置移植步骤. . . . . . . . . . . . . . . . . . . . . . .19
—III—
3.4.3 U-BOOT对Nand Flash命令的支持. . . . . . . . . . . . . . . .20
3.4.4启动代码的移植. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.4.5 Nand Flash环境参数的设置. . . . . . . . . . . . . . . . . . . . .21
3. 5 LINUX内核移植. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.5. 1 LCD驱动分析和修改. . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.5.2配置图形. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.6文件系统的创建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.6. 1创建根文件系统. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3.6.2 yaffs文件系统的移植. . . . . . . . . . . . . . . . . . . . . . . . . .23
3. 7嵌入式图形用户界面系统概述. . . . . . . . . . . . . . . . . . . . . . .23
3. 7. 1图形用户界面GUI系统简介. . . . . . . . . . . . . . . . . .23
3. 7.2嵌入式图形用户界面简介. . . . . . . . . . . . . . . . . . . . . . .24
3. 7.3 Qt/Embedded简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
3.8 QT/EMBEDDED核心技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.8. 1信号与槽. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.8.2对象模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.8.3国际化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
3.8.4 Frame Buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
3.8.5 Qt/Embedded工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
3.8.6 Qt/Embedded的移植. . . . . . . . . . . . . . . . . . . . . . . . . . . .29
3.9小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4基于嵌入式的电子相册应用程序设计. . . . . . . . . . . . . . . . . . .29
4. 1图片播放模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4. 1. 1程序实现功能及说明. . . . . . . . . . . . . . . . . . . . . . . . . . .29
4. 1.2关键代码实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
4. 2移动设备读取模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
4.2. 1程序实现功能及说明. . . . . . . . . . . . . . . . . . . . . . . . . . .32
4.2.2关键代码实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
4. 3设置模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.3. 1程序实现功能及说明. . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.3.2关键代码实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4小结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
附录 Ⅰ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
—IV—
附录Ⅱ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
—V—
前言
随着数码相机的大量普及和人们对多媒体娱乐播放的需求各种记忆卡越来越多地被运用于存放数码照片和多媒体文件。不同用户的计算机中存满各种照片连桌上相框中照片的更换频率也提高了。先输出照片然后更换到相框中这样的程序比较烦琐常常要通过计算机才能将相片进行显示与分享。对数码相片进行便捷的显示、分享、编辑、删除、打印等操作逐渐成为市场的需求。电子相框数码伴侣等概念型产品逐渐出现在数码市场电子相册也由概念型产品进入市场已有六、七年。
目前电子相册产品主要应用于礼品市场其真正的目标用户却是非常广泛的并且它的最终消费人群应该是以家庭为主的普通消费者其应用的领域将更广阔。国内也有厂家很早就注意到这类产品的良好的发展趋势例如曾作为NH JM P4中国地区总代理的北京中电金捷数码科技有限公司就及时地推出了自有品牌的金捷电子相册并且以出众的外观设计和良好的口碑效应以及亲民的价格赢得了市场的青睐。
—IV—
1绪论
1 . 1 电子相册市场成长的必然性
1市场需求的必然性
在上世纪末本世纪初电子相册呈现迅速发展的势头普及型数码相机的分辨率由200万象素增长到现在的800—1500万象素价格也由300美元左右下降到现在的120美元左右。随着数码相机的日益普及作为一种以数字照片的保存、 回放和浏览为核心功能的产品——电子相册自然迎合了消费者的需求。
2 核心器件性能和价格的合理化推动市场的发展
电子相册有三大核心器件处理器半导体存储器和LCD显示单元。随着ARM的不断发展电子相册所需要的ARM+Jpeg处理器技术已为许多厂商所拥有集成了USB Host及卡接口单元的产品也屡见不鲜。Nandflash技术飞速发展单位容量的价格在过去的六年中约下跌40至50倍。
1 . 2电子相册未来产品的发展
1 . 2. 1数码相框
数码相框将是以数字照片的重显为主要功能的产品其功能更接近于传统意义上的相框。由于受到人机界面的限制为更方便地重显和浏览以及确定重显的规则这类产品不强调有大容量的内存以及丰富的卡接口。主要特征是
1 US B接口以便更新和同步数据
2在某些情况下如从P C端通过相框的US B接口同步数据时 允许修改数字照片的格式使其有最佳的重显效果
3仅依靠内置的半导体存储器存放需要重显的数字照片
4文件照片查询和播放规则设定非常简洁易用
5产品大致分为桌面和壁挂两种。
1 . 2.2电子相册
电子相册是以数字照片的存储和浏览为主要功能的产品 由于需要满足跟PC相同的类似功能这类产品的主要特征是
1 有大容量的内置数据存储器
2USB等各种卡接口并支持内部存贮器与各种数据存贮器之间的同步以及相互拷贝
—1—
Sharktech最近洛杉矶和丹佛低价配置大部分都无货了,只有荷兰机房还有少量库存,商家又提供了两款洛杉矶特价独立服务器,价格不错,CPU/内存/硬盘都是高配,1-10Gbps带宽不限流量最低129美元/月起。鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主...
racknerd怎么样?racknerd最近发布了一些便宜美国服务器促销,包括大硬盘服务器,提供120G SSD+192TB HDD,有AMD和Intel两个选择,默认32G内存,1Gbps带宽,每个月100TB流量,5个IP地址,月付$599。价格非常便宜,需要存储服务器的朋友可以关注一下。RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新泽西机房基于KVM虚拟化的VPS、...
在八月份的时候有分享到 Virmach 暑期的促销活动有低至年付12美元的便宜VPS主机,这不开学季商家又发布五款年付VPS主机方案,而且是有可以选择七个数据中心。如果我们有需要低价年付便宜VPS主机的可以选择,且最低年付7.2美元(这款目前已经缺货)。这里需要注意的,这次发布的几款便宜年付方案,会在2021年9月30日或者2022年4月39日,分两个时间段会将INTEL CPU迁移至AMD CP...