欢迎来到天天文库
浏览记录
ID:25878467
大小:55.00 KB
页数:8页
时间:2018-11-23
《基于qt-embedded的gui移植及无线网络》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Qt/Embedded的GUI移植及无线网络摘要具有友好用户界面的嵌入式系统已成为当今嵌入式相关研究的的热点。本文介绍了系统平台构建,分别叙述了嵌入式Linux内核的配置与编译,Qt/Embedded图形界面系统的移植与开发,以及基于嵌入式Linux的无线网络功能模块的开发与实现。运行结果表明,方案合理,运行可靠。关键词嵌入式Linux;Qt/Embedded;Qtopia;GPRS;无线网络1引言随着信息技术的发展和数字化产品的普及,嵌入式设备被广泛应用。主流的嵌入式操作系统有SUNG公司的以ARM9为内
2、核的处理器S3C2410,该处理器核心频率可达到200M,具有低功耗、低成本等卓越性能和显著优点,同时具有JTAG调试等功能;针对掌上智能设备的功能比较复杂,消耗资源较多,选取了64M的SDRAM和128M的NandFlash,针对此项目的开发,摒弃了一些不必要的模块,保留了USB接口模块,标准串行口模块,显示屏(触摸屏)模块,基于无线通讯功能的实现,选取了SiemensMC35为核心的GPRS无线模块,整个硬件环境如图1所示。2.2嵌入式Linux系统内核的配置与移植首先,嵌入式系统在运行的初期即在操作系统内
3、核运行之前,需要一段程序初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,这就是BootLoader程序[1],这里我们选用了韩国Mizi公司的Vivi引导程序。然后是Linux内核的移植,出于实际功能的需要,我们采用了普遍应用于嵌入式系统的2.4.18版的内核。这里有一个相当重要的概念——交叉编译[2]:由于宿主机与目标机的CPU一般不相同,宿主机也就是我们常用的PC机是以X86为核心的,而目标板则是ARM体系结构的,因此需要在宿主机机
4、上建立一个用于目标机的交叉编译环境,也就是将各种二进制工具程序集成为工具链,其中包括如GNU的链接器(ld)、GNU的汇编器(as)、ar(产生修改和解开一个存档文件)、C编译器(gcc)以及C链接库(glibc)等等。这里宿主机采用Redhat9.0,工具链选择了cross-2.95.3交叉编译工具包。下列是工具和内核源文件列表及说明:--------------------------------------------◆binutils-2.11.2包含有ld、ar、as等一些产生或者处理二进制文件的工具
5、。◆gcc-core-2.95.3包含GCC的主体部分。◆gcc-g++2.95.3使GCC编译C++程序。◆glibc-2.2.4libc是很多用户层应用都要用到的库,即C链接库。◆glibc-linuxthreads-2.2.4libc用于支持Posix线程单独发布的压缩包。◆linux-2.4.18+rmk7Linux的内核及其支持ARM的补丁包。-----------------------------------------在交叉编译环境建立好以后,可以对内核进行配置并制作映像文件。这里需要注意的是,
6、针对不同开发商提供的硬件要进行不同的配置,并打上相应的补丁程序。2.3Qtopia图形用户界面文件系统的移植在建立好内核的基础上,要完成根文件系统(rootfilesystem)的创建。在Linux系统启动时,首先完成内核安装及环境初始化,最后会寻找一个文件系统作为根文件系统被加载,它是Linux系统的核心部分,包含系统使用的软件和库,以及所有用来为用户提供支持架构和用户使用的应用软件,并作为存储数据读写结果的区域。这里我们选择嵌入式系统常用的CRAMFS文件系统,它是Linux创始人Linus开发的一个适用于
7、嵌入式系统经压缩以及只读的小型文件系统[3]。在完成无图形界面的CRAMFS文件系统的建立后,这里重点阐述一下带Qtopia图形界面文件系统开发环境的建立和移植。Qt/Embedded是Trolltech公司开发的面向嵌入式系统的Qt版本,与X11版本的Qt在最大程度上接口兼容,采用帧缓存(framebuffer)作为底层图形接口。Qt/Embedded类库完全采用C++封装,并且有着丰富的控件资源以及较好的可移植性,大范围的Qt/EmbeddedAPI可用于多种开发项目。Qt/Embedded的实现结构如表1
8、所示。表1Qt/Embedded的实现结构Qtopia是基于QT/Embedded开发的一个嵌入式的窗口系统和应用程序集,如地址本、图像浏览、Media播放器等,还包括娱乐和配置工具,广泛用于PDA等掌上设备。Qtopia平台由Qtopia库和Qtopiaserver/laucher组成。Qtopiaserver/laucher是控制窗口系统、进程间通信、发起所有应用和其他核心任务的主
此文档下载收益归作者所有