嵌入式毕业设计论文基于ARM的嵌入式GUI点菜系统.doc

上传人:龙*** 文档编号:1000340 上传时间:2018-11-12 格式:DOC 页数:52 大小:3.10MB
下载 相关 举报
嵌入式毕业设计论文基于ARM的嵌入式GUI点菜系统.doc_第1页
第1页 / 共52页
嵌入式毕业设计论文基于ARM的嵌入式GUI点菜系统.doc_第2页
第2页 / 共52页
嵌入式毕业设计论文基于ARM的嵌入式GUI点菜系统.doc_第3页
第3页 / 共52页
嵌入式毕业设计论文基于ARM的嵌入式GUI点菜系统.doc_第4页
第4页 / 共52页
嵌入式毕业设计论文基于ARM的嵌入式GUI点菜系统.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、编号: 毕业设计(论文)说明书题 目: 基于 ARM的嵌入式 GUI点菜系统 院 (系): 电子工程系 专 业: 电子信息工程 题 目 类 型 : 理 论 研 究 实 验 研 究 工 程 设 计 工 程 技 术 研 究 软 件 开 发II摘 要本课题设计是以ARM开发板搭载Linux嵌入式系统为核心,使用QT编程制作GUI点菜终端,用LCD屏显示菜单信息,并可以通过触摸屏按钮实现点菜,换台,查询已点菜和结账等常用服务功能。通过Linux Socket套接字通信机制创建服务器和客户端,实现通过点菜终端向服务器发送数据。文章详细介绍了嵌入式Linux移植到ARM开发板和软件的设计过程,设计的GUI

2、系统具有小型、高效、支持网络功能等特点。关键词:Qt;点菜系统;软件设计;LCD屏This topic design based on ARM development board carrying Linux embedded system as the core, using QT programming production order terminal, with GUI LCD display menu information, and can be realized by touch screen button, change channels inquires order alre

3、ady order and check-out etc common service functions. Through the Linux Socket Socket communication mechanism create server and client, realize through the terminal send data to a server in order. This paper introduces in detail the embedded Linux transplanted to ARM development board and software d

4、esign process, design the GUI system has small, efficient and support network function etc. Characteristics. Key words: Qt; Order system; Software design;目 录摘 要 .II目 录 .1第 1章 引言 .11.1背景知识介绍 .11.2 方案选择.11.3 设计意义.2第 2章 嵌入式 LINUX及其 GUI系统 .22.1 系统硬件电路组成.22.1.1Real6410开发板简介 .22.1.硬件资源.22.2.软件资源.42.2.1嵌入式

5、 Linux系统及其开发要点 .52.2.2 几种嵌入式 Linux GUI系统.6第 3章 嵌入式 Linux系统开发平台 .73.1 开发环境选择.7311 xll 桌面系统的选择 .73.2 建立 ARM板开发环境.83.2.1 ARM嵌入式编译环境设置: .83.3 QT安装及 Qt4使用教程 .103.3.1配置: .113.3.2编译、安装: .113.3.3设置运行时的环境变量 .113.4、编译安装 tslib: .13第 4章嵌入式 GUI的软件编程及调试 .1441 Qtopia 图形界面系统的开发流程 .14411 Qtopia 图形系统的开发方法 .15412 建立交叉

6、开发环境 .16413 软件开发调试工具 .184.2 点菜终端程序编写.194.2.1 QT4编程技巧 .194.2.2 程序图形界面设计.20423 主窗口类 .214.2.4 各对话框实现代码.23425 主程序 .31426 程序编译 .3243 程序测试 .3324.3 socket套接字建立服务器/客户端 .344.3.1 Linux下的 soket编程 .344.3.2 socket编写点菜系统服务端 .374.3.3 socket编写点菜系统客户端 .40第 5章 程序调试和问题解决 .425.1 tftp配置过程 .425.2 QtEmbedded 安装编译 .445.3 板

7、上操作.455.3.1启动程序出现段错误和非法指令。.455.3.2. minicom启动错误 .46结 论 .47谢 辞 .48参考文献 .49第 1章 引言1.1背景知识介绍餐饮业已经发展成为我国的黄金产业,在国民生产生活中扮演重要角色。餐饮企业做大做强,追求现代化、产业化、品牌化的在进程中,从点菜服务等基础项目即实现信息化管理,提供更加快速、便捷、透明、卫生的餐饮条件,对其经营档次、服务质量和管理效率的提高具有重要意义,这就催生和发展了网络点菜终端业务。嵌入式 GUI 网络通讯点菜终端是将客人所点的菜和酒水等信息发送到服务器,对数据进行处理,不但方便厨房及时了解客人的需要,也可以及时方便

8、结账,节省了服务员的算账埋单时间。1.2 方案选择本课题通过考察现有的电子点菜系统的解决方案,研究一种无线点菜系统的软件设计。利用已有的 SAMSUNG ARM11(S3C6410)开发板作为硬件载体,综合应用嵌入式Linux 和 Qt/Embedded 开发等技术,以程序软件的通用性和易用性为方向,构造能够方便应用到各种 PDA 系统的点菜终端程序和普通 PC 机的服务器软件,实现无线点菜系统。主要包括以下研究内容:以 SAMSUNG ARM11(S3C6410)和嵌入式 Linux 为平台的,基于 arm-linux 的 QT 触屏模块的硬件和软件方面的设计。ARM11 中 linux 内

9、核移植、u-boot 的烧写和 Nand flash DM9000AE 网卡驱动 LCD 驱动 Touchscreen 驱动配置测试等等。1构建嵌入式 Linux 系统开发平台。使用 Ubuntu 系统建立基本开发环境,建立交叉编译工具,安装配置 NFS;安装用于开发点菜终端程序的 Qt,包括 QtX 1 l、x86 版 QtEmbedded、ARM 版 QtEmbedded。2设计点菜终端程序。利用 Qt 设计器规划点菜终端程序的大致界面,然后根据QtlEmbedded 编程一般规则编写代码,主要分为浏览器核心类和主窗口类的实现,再通过 NFS 测试。3建立服务器网站。利用普通 PC 机+U

10、buntu Linux 作为网站服务器,主要包括登录管理、点菜导航、餐台使用、菜单列表、选单提交等功能页面。4调试和发布程序。在开发板原配内核及文件系统的基础上,内核配置网卡支持,根文件系统中添加点菜终端程序、库文件、无线网卡驱动和无线管理工具,设置环境和启动脚本,烧写入开发板后连接到 WLAN,发布运行程序。该系统实现了以下功能:使用 LCD 屏的客户端进行点菜;换桌服务;查询记录与修改;退菜并向服务端发送信息等等。21.3 设计意义随着国民生产生活水平的不断提升,人们对生活质量的要求也越来越高。作为生活消费必不可少的一部分,餐饮的质量成为衡量生活品质的重要标准。而餐饮服务质量包括了各个方面

11、,快速上菜、快速结算、便捷订单、透明菜价、菜品档次、菜品成分、卫生环境和饮食健康成为其不可或缺的内容。显然,从点菜服务等基础项目即实现信息化管理,提供更加快速、便捷、透明、卫生的餐饮条件,对餐饮企业服务质量和管理效率的提高具有重要意义。基于 ARM 和 Linux 的嵌入式系统,具有成熟的嵌入式硬件结构和丰富的开放软件资源,优良的性能和广泛的市场定位,这无疑对开发工作和学习研究是一个重大帮助;在 GUI(图形用户界面)的选用上,使用基于 C+语言面向对象编程的应用程序开发软件库 Ot,它汇集了丰富的 C+类提供开发应用程序用户界面所需要的全部内容,具有优良的跨平台性能和丰富的 API 函数及开

12、发文档。另外,当前量产的普通 PDA 和 PC 机硬件上已经基本满足点菜系统要求,使自行研发的专用硬件设备不再具有明显的成本优势。为此,本课题集合 ARM、嵌入式 Linux 和 Qt 开发应用等技术,利用本人已有的 S3C6410 开发板硬件基础,以程序软件的通用性和易用性为方向,构造能够方便移植到到各种 PDA 系统的点菜终端程序和普通 PC 机的服务器软件,实现整个无线点菜系统。提升餐饮业服务质量和管理效率,并为自身研究学习嵌入式系统和 GUI 应用开发提供一个良好的平台。第 2章 嵌入式 LINUX及其 GUI系统2.1 系统硬件电路组成2.1.1Real6410开发板简介2.1.硬件

13、资源Real6410是华天正科技推出的用于高端手持设备、微型智能控制设备的开发套件。采用韩国三星公司的ARM11内核的处理器S3C6410/S3C6410。该款套件核心板的尺寸仅相当于一个48mm*67mm 的方块的大小。Real6410套件由核心板和底板(外设板或称基本板)组成,核心板上集成三星 S3C6410处理器,128MB 的 DDR 内存以及 1GB 的 NANDFLASH,同时预留了 256K NORFLASH。为您的应用研发提供了充足的空间。底板上则提供以下外设接口: 1.两个四线 RS-232串口(COM0,COM1) 2.一个 USB HOST 接口 33.一个 10M/10

14、0M 自适应以太网接口,一个 TFT LCD 接口,一个触摸屏接口 4.一个 wm8987 sound 接口 5.一个 4x4 按键接口 6.一路视频输入(模拟 saa7113 或数字 ov9650,可以选择) 7.一路视频输出 TVOUT 8.一个 RTC 和 watchdog 9.一个 SDIO 接口 WIFI 模块 10.一个 SD 卡接口 核心板和底板配合即构成一个最小的完整应用系统。系统具有体积小、耗电低、处理能力强等特点,能够装载和运行嵌入式 Linux 操作系统。用户可以在这个系统平台上进行自主软件开发。Real6410套件中提供底板硬件电路图和硬件设计文档,极大的方便了用户进行

15、硬件扩展开发。同时华天正科技提供完备的嵌入式 Linux 开发环境及丰富的开发调试工具软件。S3C6410微处理器的特性: ARM11嵌入式处理器内核,主频可达 800MHz; 扩展总线最大频率 133MHz; 32位数据总线和 32 位外部地址总线; 完全静态设计(0-667M); 存储控制器(八个存储体): 包含 SROM、 SRAM 控制器,NAND 控制器; 复位时引导芯片选择(8 比特、16 比特存储或 NAND 可供选择); 五个三十二位定时器,(time0,time1 带有 PWM); 多达 64 个中断源的中断控制器; RTC; 四个 UART,Supports IrDA 1.

16、0; 四个 DMA 控制器,每个 DMA 控制器有 8 个通道;(支持外设 DMA) 支持 STN 与 TFT LCD 控制器; 看门狗; IIS 音频接口; 两个 USB host 口,一个 USB device 口。 IIC -Bus 接口; 两个串行外围接口电路(SPI) 三个 SD 卡接口(sopport 1/4/8 bit mode,rate up to 50MHz); 自定义按键 camera_if接口 TV_out接口 MFC(多格式视频编解码)接口,支持 H263、H264、MPEG4 和 VC-1 硬件编解码。 4Real6410 开发套件硬件主要结构: Samsung S3

17、C6410 处理器 1Gbytes 8 位 NAND FLASH 64Mbytes 32位 DDRRAM,共256MB 两个四线 RS-3 接口 一个 10M/100M 自适应以太网接口 camera 摄像头接口(可选模拟TVP5150或ov9650) 两个USB(一个 host,一个 device)接口 一个SD卡接口 自定义按键 AC97音频(使用 wm9713 芯片) 一个LCD 接口(可选两种不同接口的屏) 一个触摸屏接口。 MFC 接口 直流电源(需要客户自己购买) 复位建 运行状态指示 LED 灯 2.2.软件资源对于linux部分提供以下的软件资源: 1.引导程序版本 s3c-u

18、-boot-1.1.6 2.内核版本 s3c-Linux-2.6.28.4 3.设备驱动 6M mDDR支持 LCD驱动程序 三通道MMC/SD驱动 看门狗watdog驱动 实时时钟RTC驱动 2通道i2c驱动 2通道spi驱动 键盘接口keybad驱动 GPIO键盘驱动 触摸屏驱动 网卡芯片DM9000AEP驱动 ENC、TVSCALER驱动 tator驱动 jpeg驱动 5 nand flash驱动(2K page) onenand flash驱动 USB device驱动、USB host驱动、USB OTG驱动 fimc驱动 2D、3D加速器驱动 电源管理驱动 mera驱动 IO WI

19、FI驱动 针对nand的yaffs2、UBIFS文件系统支持 声卡WM9713驱动(ALSA) 4.文件系统 ubifs/yaffs2/cramfs/fat32文件系统 5.图形界面 qtopia-2.2.0 E-4.5.2 6.其他功能 提供支持SD卡启动的u-boot,无需通过JTAG方式烧录u-boot 通过SD方式升级系统,方便快捷 支持USB升级内核和文件系统 7.编译器 arm-none-linux-gnueabi-4.3.2 2.2.1嵌入式 Linux系统及其开发要点在所有的嵌入式操作系统中,Linux是一个发展最快、应用最为广泛的操作系统。Linux本身的种种特性使其成为嵌入

20、式开发中的首选。随着嵌入式Linux的成熟,它裁剪后的尺寸越来越小,得到更多类型的处理器的支持,并从早期的试用阶段迈进到嵌入式操作系统的主流,它紧紧抓住了电子消费类设备开发者们的想象力。嵌入式Linux版本还有多种变体。如:RTLinux通过改造内核实现了实时的Linux;RTAI、Kurt、和LinuxRK也供了实时能力;还有uCLinux去掉了Linux的MMU(内存管理单元),能够支持没有MMU的处理器等。所谓嵌入式Linux是指Linux在嵌入式系统中应用,而不是什么嵌入式功能,因此Linux在嵌入式系统中的应用随着Linux的发展而发展。嵌入式Linux相对于其它嵌入式操作系统具有无

21、可替代的优越性。嵌入式Linux开发就是构建一个Linux系统,这需要熟悉Linux系统组成部分,熟悉Linux开发工具,还要熟悉Linux编程。嵌入式Linux系统包含Bootloader(引导程序)、内核和文件系统三部分。对于嵌入式Linux系统来说这三部分都是必不可少的。在启动一个嵌入式Linux项目之前,主要从下面几点予以考虑。(1)选择嵌入式Linux发行版。商业的Linttx发行版是作为产品开发维护的,经过严格的测试验证,并且可以得到厂家的技术支持。它为开发者提供了可靠的软件和完整的开发工具包。6(2)熟悉开发环境和工具。交叉开发环境是嵌入式Linux开发的基本模型。Linux环境

22、配置、GNU工具链、测试工具甚至集成开发环境都是嵌入式Linux开发的利器。(3)熟悉Linux内核。嵌入式开发一般都需要重新定制内核,熟悉Linux的内核配置、编译和移植也十分的重要。(4)熟悉目标板引导方式。开发板的Bootloader负责硬件平台的初始化,并具备引导Linux内核启动的功能。由于硬件平台是专门定制的,一般都需要再修改编译Bootloadcr。(5)熟悉Linux根文件系统。Linux离不开文件系统,程序和文件都存放在文件中。系统启动必需的程序和文件都必须放在根文件系统中。(6)理解Linux内存模型。Linux是保护模式的操作系统,内核和应用程序分别运行在完全分离的虚拟地

23、址空间,物理地址必须映射到虚拟地址空间才能访问。(7)理解Linux调度机制和进程线程编程。Linux调度机制影响到任务的实时性,理解调度机制可以更好地运用任务优先级。进程和线程编程则是应用程序开发所必需的。2.2.2 几种嵌入式 Linux GUI系统目前来看,在Linux之上进行嵌入式系统开发一般采用的是如下几种GUI系统:高度裁剪的X Windows系统、MicroWindow、MiniGUI、OpenGUI、QTEmbedded等。1. 在高度裁剪的X Window系统中,其x服务器可以降低到800KB,但因为X Window系统的运行还需要其它程序和库的支持,包括x窗口管理器、XLi

24、b、建立在XLib之上的GTK或Qt等函数库等。因此,其在运行期间所占用的系统资源较多,加上中文显示和中文输入等本地化代码之后,系统的尺寸和运行时的消耗将进一步加大。因此,它主要用在机顶盒等对系统资源要求不是很高的地方。2. Microwindows开发重点在底层的图形引擎上,窗口系统和图形接口方面的功能还比较欠缺;并且它是基于UNIX套字节的传统客户服务器体系,进程间的通信频繁,系统资源消耗也比较大,同时Microwindows的免费版本研发进展一直很慢,几乎处于停顿状态。3. MiniGUIt41开发的主要目标就是为基于Linux的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。MiniGUI还有一些有些不成熟的地方,主要表现在:体系结构不够成熟,控件的可定制性不够好;缺少一个方便的集成开发环境;对输入法的支持不是很好。4. OpenGUl只用于基于x86平台的实时系统,它不支持ARM、MIPS等处理器,因此其跨平台的可移植性较差,目前发展较慢。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。