模板开题报告
- 格式:doc
- 大小:217.50 KB
- 文档页数:6
南京邮电大学通达学院毕业设计(论文)开题报告
题 目 基于嵌入式系统下的qt-GUI程序设计与实现
学生姓名 邓凯 班级学号 05001015 专业 通信工程
一、 课题的背景和意义
1.1课题的提出和主要内容
普通Linux有自己标准的GUI系统—X Windows,但是由于X Windows过于庞大和臃肿,极耗系统资源,而且其中不少功能对于嵌入式系统来说是多余的,不适于资源有限的嵌入式系统使用。而通常嵌入式设备中的GUI系统占据资源比较多,因此对GUI的筛选显得很重要,需要高性能、轻量级的GUI系统。Qt是Trolltech公司开发的一个多平台的C++图形用户界面应用程序框架。Qt采用了完全面向对象组件编程技术,支持多平台。Qt提供图形用户界面在嵌入式系统上开发的一系列开发工具包。该图形系统最大的优点是采用面向对象设计,移植性好,基于X Windows的Qt桌面应用程序可以非常方便的移植到嵌入式系统上。
本课题的内容是在熟悉嵌入式系统以及Linux的情况下,学习Qt的配置,安装和使用,设计并实现嵌入式Qt-GUI程序;移植LCD驱动程序;掌握嵌入式Linux下Qt-GUI编程接口;能在计算机上配置、安装、运行Qt-GUI;并通过平台移植,使之能在嵌入式板子上运行一个Qt-GUI例子。
1.2课题的意义
随着嵌入式Linux应用的不断发展,嵌入式处理器运算能力的不断增强,越来越多的嵌入式设备开始采用较为复杂的GUI系统,手持设备中的GUI系统发展得非常迅速。传统的GUI系统,如Microwindows等,由于项目规模较小、功能较为薄弱,缺乏第三方软件开发的支持等诸多原因。在比较高级的手持或移动终端设备(如PDA、Smart-Phone、车载导航系统)中应用较少。Qt完全采用C++封装,拥有丰富的控件资源和较好的可移植性,可以开发嵌入式Linux下的应用软件,应用于高级的移动终端设备中。
二、 课题的设计与实现
2.1课题任务分析与难点提示
本课题需要建立交叉编译环境,配置安装Qt,应用其设计一个GUI实例,通过平台移植,使之能在嵌入式板子上运行。
难点提示:
1) 利用虚拟机创建Linux系统,为Qt安装的基础环境
2) Qt环境的建立,配置,安装及使用
3) Linux系统下的C语言编程,Qt-GUI实例的程序设计
4) 对嵌入式开发板的熟练掌握 2 5) 从PC机上将程序移植到嵌入式开发板上运行
2.2课题设计与实现的总体流程
Qt-GUI的总体流程如图1所示,主要包括:选定嵌入式应用的目标平台(本课题选用ARM9平台FS2410嵌入式开发板);在Linux系统建立Qt/Embedded的开发环境;交叉编译Qt/Embedded库及应用程序;交叉编译成功后发布到目标平台运行。
图1 Qt-GUI的总体流程图
2.3课题实现的硬件支持
本课题的硬件部分选用了FS2410嵌入式开发板,FS2410 采用SAMSUNG
S3C2410A 微处理器,提供强大的图形系统。 3
图2 FS2410开发板
FS2410硬件资源:
中央处理器
CPU: 三星S3C2410A,主频203MHz
外部存储器
内存:64M字节
NOR Flash:2M字节
NAND Flash:64M字节
串口
两个标准5线串口
网络接口
10M网口,CS8900Q3,带联接和传输指示灯
USB接口
两个USB1.1 HOST接口(其中一个HOST与Device复用,通过短路块选择),支持USB 摄像头 (Linux 2.4),支持 WLAN 提供二进制代码
一个USB1.1 Device接口(它与USB HOST接口复用,通过短路块选择)
红外通讯口
一个IRDA红外线数据通讯口
音频接口
采用IIS接口芯片UDA1341,一路立体声音频输出接口可接耳机或音箱
支持录音,板子自带驻机体话筒可直接录音,另有一路话筒输入接口可接麦克风 4 存储卡接口
一个SD卡接口
LCD和触摸屏接口
一个50芯LCD接口引出了LCD控制器和触摸屏的全部信号
标准配置为 256K色240x320/3.5英寸TFT液晶屏,带触摸屏
支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,尺寸从3.5寸到12.1寸,屏幕分辨率可达到1024*768像素
时钟源
内部实时时钟(带有后备锂电池)
调试及下载接口
一个20芯Multi-ICE标准JTAG接口,支持SDT2.51,ADS1.2等调试
电源接口
开关电源供电,输入直流电压范围是7~20V(推荐使用12V),带电源开关和指示灯
其他
一个EEPROM(AT24C02)用来验证IIC总线读写
十六个小按键,四个高亮LED
一个蜂鸣器(带使能控制的短路块)
一个精密可调电阻接到ADC引脚上用来验证模数转换
一个50芯2毫米间距双排标准连接器用作扩展口,引出了地址线、数据线、读写、片选、中断、IO口、ADC、5V和3.3V电源、地等用户扩展可能用到的信号
2.4课题实现的软件部分开发流程
Qt/Embedded开放了源代码,使得开发人员可以在GPL许可协议下自由地使用Qt/Embedded进行嵌入式Linux应用系统的开放。源代码可以从Trolltech的官方网站下下载到。而且Tmake、Qmake、QVFB和Qt Designer等众多强大开放工具的支持下,大大提高了Qt/Embedded系统的开放效率和项目进度,具体步骤大致如下:
1) Qt Designer是设计窗口组件(Widget)的应用程序,在安装Qt的bin目录下键入./designer,将启动一个包含许多Qt组件的可视化界面。在此组织应用程序的各组件分布很方便,最后可生成一个file.ui和main.cpp文件;file.ui是用XML语言写的一个文本。
2) Uic(User Interface Compiler)是从XML文件生成代码的用户界面编译器,用来将file.ui文件生成file.h和file.cpp文件(命令如:uic –o file.h file.ui uic –o
file.cpp –o file.h file.ui),但生成的这两个文件不是标准的纯C++代码,通常称为Qt的C++扩展,因为Qt的对象间中运用了信号与槽的通信机制,在文件中Q_OBJECT宏来标识。
3) 用qmake工具生成file.pro文件,在设置好的环境变量后,用tmake工具生成 5 Makefile文件(tmake是跨平台Makefile生成器);不管在PC环境、Qt/Embedded环境还是交叉编译环境中都能生成相应的Makefile文件。
4) moc(元对象编译器)用来解析一个C++文件中的类声明并且生成初始化对象的C++代码,moc在读取C++源文件,如果发现其中一个或多个类的声明中含有Q_OBJECT宏,就给出这个使用Q_OBJECT宏的类生成另外一个包含元对象代码的C++元文件;原对象代码对信号与槽机制、运行时类型信息和动态属性系统是需要的。
5) 用make命令生成可执行的二进制代码文件;由于使用tmake生成Makefile文件,当需要的时候,编译规则中包含调用moc(元对象编译器),自动地被连编系统调用,不需要手工调用。
三、 进度安排
4-5周:阅读相关资料和文献,熟悉和掌握开发工具的使用,了解开发环境
6-7周:根据现有的程序代码和例子,学习并能够用C在Linux下编程
8-9周:根据现有的程序代码和例子,在PC机上配置、安装、运行Qt-GUI
10-11周:把Qt-LCD驱动程序移植到开发板上
12-13周:编写Qt-GUI例子程序
14-15周:交叉编译、在目标板上运行Qt-GUI
16-17周:撰写毕业论文并准备答辩
四、 参考文献
[1] 孙天泽,嵌入式设计及Linux驱动开发指南:基于ARM9处理器[M],北京,电子工业出版社,2007
[2] ARM实验箱指导书[C],由指导教师提供
[3] 刘峥嵘,嵌入式Linux应用开发详解[M],北京,机械工业出版社,2004
[4] 倪继利,Qt及Linux操作系统窗口设计[M],北京,电子工业出版社,2006
[5] 朱居正,高冰,Red Hat Linux 9[M],北京,清华大学出版社,2007
[6] 嵌入式系统设计与实例开发实验教材II,基于ARM9微处理器与Linux操作系统[M],北京,清华大学出版社,2005
[7] 田泽,ARM9嵌入式Linux开发实验与实践 [M],北京,北京航空航天大学出版社,2006
[8] Barr,C/C++嵌入式系统编程[M],北京,中国电力出版社,2001
[9] Robert Love.Linux System Programming[M].Oreilly & Associates Inc.2007
[10] Robert Love.Linux Kernel Development[M].Novell Press.2005
6
指导教师批阅意见
该生对本课题理解透彻,并具有浓厚兴趣,对课题的研究和执行积极性较强,事先已经熟练掌握了开发工具的使用,拟定的研发进度合理,难度恰当,准予开题
指导教师(签名): 年 月 日