模板开题报告

  • 格式: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

指导教师批阅意见

该生对本课题理解透彻,并具有浓厚兴趣,对课题的研究和执行积极性较强,事先已经熟练掌握了开发工具的使用,拟定的研发进度合理,难度恰当,准予开题

指导教师(签名): 年 月 日