您好,欢迎访问三七文档
嵌入式课程设计---------基于QT的界面程序设计学院:信息科学与工程学院专业:电子科学与技术班级:电科1101姓名:学号:指导老师:张平均、李光炀日期:2015年1月6日福建工程学院课程设计报告1目录一、设计目的..........................................................................................................................................2二、设计任务及要求..............................................................................................................................2三、方案设计..........................................................................................................................................2四、嵌入式系统开发环境建立..............................................................................................................3五、NFS挂载...........................................................................................................................................6六、QT界面设计及运行程序...............................................................................................................9七、课设完成质量分析........................................................................................................................13八、设计过程中遇到的问题................................................................................................................13九、设计总结…………………………………………………………………………………………..14十、参考文献…………………………………………………………………………………………..14十一、附录………………………………………………………………………………………………15福建工程学院课程设计报告2基于QT界面的程序设计一、设计目的1.进一步巩固嵌入式系统的基本知识;2.掌握嵌入式应用系统的基本结构;3.掌握嵌入式系统开发环境建立和使用;4.掌握嵌入式系统基本驱动、应用程序的设计调试和编译移植方法;5.学会查阅有关专业资料及设计手册;6.QT界面编程。二、设计任务及要求1.掌握嵌入式系统开发环境建立和使用;2.掌握嵌入式系统基本驱动、应用程序的设计调试和编译移植方法;3、QT在PC上的安装、4、QT在开发板上的移植1)、触摸屏原理及tslib库的工作原理;2)、QT设计LED灯控制,设计方案自由发挥,可以单个控制LED灯、也可以流水灯的控制,可控制流水灯的频率(1-5HZ可选)5、QT界面程序设计6.编写设计说明书(方案的确定、设计环节的考虑及必要说明等)及设备的使用说明;7.绘制有关图纸.三、方案设计1系统文件可以远程挂载,也可以编译成镜像文件。编译镜像文件的话,只要里面的东西改变就要重新编译,重新导入。所以我选择NFS挂载。2内核编译有两种方案,一种是静态编译内核,另一种是动态编译内核。动态编译的好处是便于对驱动的测试,但是还要进行相应的操作;静态编译的好处是一次编译,之后就不用再进行插入的操作。基于以上的分析,所以我采用了静态编译的方法。3开发板应用程序的运行方式我们编写的应用程序有两种方式启动,一种是在系统启动之后,用命令手动启动,另外一种是系统启动时自动加载,为了更方便,所以我选择了后一种方案,修炼了系统的一个脚本文件,让LED控制程序在系统启动之后自动启动。福建工程学院课程设计报告3四、嵌入式系统开发环境建立1安装交叉编译器(1)解压EABI-4.3.3_EmbedSky_20091210.tar.bz2tar-jxvfEABI-4.3.3_EmbedSky_20091210.tar.bz2(2)设置环境变量exportPATH=/opt/EmbedSky/4.3.3/bin:$PATH(3).永久设置环境变量vi/etc/profile在最后添加一行exportPATH=/opt/EmbedSky/4.3.3/bin:$PATH2安装tslib-1.4.1(1)解压tslib-1.4.tar.gztar-zxvftslib-1.4.tar.gz-C/(2)创建目录mkdir/opt/EmbedSky/tslib_install(3)生成configure福建工程学院课程设计报告4./autogen.sh(4)配置./configure--prifix=/opt/EmbedSky/tslib_insatall--host=arm-linuxac_cv_func_malloc_0_nonnull=yes(5)编译(大概20~30分钟)make(6)安装makeinstall如果以上步骤没错,则可以在/opt/tslib_install下出现我们需要的库文件,这些库文件我们移植时会用到。3安装Qt4.7(1)解压qt-everywhere-opensource-src-4.7.0.tar.gztar-zxvfqt-everywhere-opensource-src-4.7.0.tar.gz-C/(2)创建目录,把QT4.7安装在qt-4.7.0-arm目录下mkdir/opt/QtEmbedded/qt-4.7.0-arm(3)配置configure./configure-embeddedarm-release-opensource-silent-qt-libpng-qt-libjpeg-qt-libmng-qt-libtiff-no-multimedia-makelibs-nomaketools-nomakeexamples-nomakedocs-nomakedemos-qt-kbd-linuxinput-qt-mouse-tslib-xplatformqws/linux-arm-g++-little-endian-qt-freetype-depths16,18-qt-gfx-linuxfb-no-qt3support-no-nis-no-cups-no-iconv-no-dbus-no-openssl-no-fast-no-accessibility-no-scripttools-no-mmx-no-multimedia-svg-no-webkit-no-3dnow-no-sse-no-sse2-no-gfx-transformed-no-gfx-multiscreen-no-gfx-vnc-no-gfx-qvfb-no-glib-prefix/opt/EmbedSky/qt-4.7-arm/-I/opt/EmbedSky/tslib_install/include-L/opt/EmbedSky/tslib_install/lib福建工程学院课程设计报告5(4)编译(大概两个小时)make(5)安装makeinstall安装成功后/opt/QtEmbedded-4.7.0-arm/bin里面有qmake4、qt-4.5文件系统(1)将root_qt_4.5_2.6.30.4_20100601.tar.bz2解压到根下(2)修改用户权限福建工程学院课程设计报告6(3)拷贝字体文件解压:tarxvfz/opt/wqy-zenhei-0.8.38-1.tar.gz-C/opt/EmbedSky5、Qt4.7相关文件mkdir-p/opt/EmbedSky/root_nfs/opt/qt-4.7cp-rf/opt/EmbedSky/qt-4.7-arm/lib/opt/EmbedSky/root_nfs/opt/qt-4.7cp-rf/opt/EmbedSky/qt-4.7-arm/plugins/opt/EmbedSky/root_nfs/opt/qt-4.7mkdir/opt/EmbedSky/root_nfs/opt/qt-4.7/bin拷贝自己的可执行文件到bin/opt/EmbedSky/root_nfs/opt/qt-4.7/bin(4)修改环境profilevi/etc/profileexportsetQTDIR=/opt/qt-4.5改成exportsetQTDIR=/opt/qt-4.7exportsetQPEDIR=/opt/qt-4.5改成exportsetQPEDIR=/opt/qt-4.7五、NFS挂载在ubuntu下安装、配置nfs服务的步骤如下:Ubuntu10.10配置TFTP和NFS1、已安装好tftp和nfs的情况下,请先进行卸载工作:sudoapt-getremovetftpdtftpxinetdsudoapt-getremovenfs-kernel-server2、安装NFSUbuntu上默认是没有安装nfs服务器的,因此我们首先安装nfs服务器端:$sudoapt-getinstallnfs-kernel-server3、配置/etc/exportsNFS允许挂载的目录及权限在文件/etc/exports中进行了定义。例如,我们要将根目录下的/opt/EmbedSky/rootfs目录共享出来,那么我们需要在/etc/exports福建工程学院课程设计报告7文件末尾添加如下一行:/opt/EmbedSky/rootfs*(rw,sync,no_root_squash)4、拷贝文件将tslib_install/lib/下的文件及bin下tslib提供的触摸屏校准程序ts_calibrate和仅利用qt-4.7生成的lib和plugins文件。拷贝到共享目录/source/rootfs下福建工程学院课程设计报告85文件系统挂载(1)设置虚拟机的IP地址(2)设置参数先输入0,再输入1,依次设置192.168.1.7(PC的Linux的IP地址)-192.168.1.6(开发板的Linux的IP地址)-255.255.255.0(开发板的掩码地址)/opt/EmbedSky/root_nfs(PC的Linux中的NFS文件系统的路径)。然后选择s保存,q退出。(3)启动选择8进入系统,成功后,输入ls,看看有没有之前拷贝的那些文件,如果有,即挂载成功。福建工程学院课程设计报告9六、QT界面设计及运行程序1在/opt/EmbedSky下安装qtcreater2添加ARM平台的编译环境设置(1)添加arm的环境3创建一个工程(1)创建工程打开qtcreator后,创建一个工程,如下图,命名为hzt,类名为led,之后一直next福建工程学院课程设计报告10(2)添加arm和pc机环境下的qmake4界面设计5主要程序代码voidLed::LedOpen()//打开LED驱动{led_fd=open(/dev/mini2440_led,0);if(led_fd0
本文标题:嵌入式课程设计报告
链接地址:https://www.777doc.com/doc-3558274 .html