LinuxQt4和SQLite掌上学习机
2014-05-30张郁芳
张郁芳
摘要:该文首先介绍了Linux操作系统及Qt/Embedded开发的优越性,其次分析了LinuxQt4和SQLite掌上学习机的可行性,并对相关技术做了分析。
关键词:Linux;SQLite;学习机
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)09-1962-02
21世纪,随着科学技术的迅猛发展,数字化,也在教育领域掀起了一阵风潮,掌上学习机抵挡之势,横扫教育电子产品领域。更一体化、功能兼容性更强、资料更齐全和功能更丰富的掌上学习机专门针对年龄较小的学生,通过趣味的flash和电子点读程序来吸引孩子的注意力,寓教于乐,使得学习不再枯燥,学习机市场刚性需求庞大,自学习机诞生以来,它就一直吸引着千千万万个学子及他们背后那些望子成龙的家长们。
1 基于Linux操作系统及Qt/Embedded开发的优越性
在嵌入式系统中使用Linux2.6.29内核的操作系统有许多优点。Linux操作系统具有内核功能强大、开源、易扩展和可裁减以及丰富的硬件支持等诸多优点,在嵌入式系统中得到相当广泛的应用,所以在本开发项目中将使用Linux操作系统。它的具体优先如下:
1)可以快速的针对目标平台开发应用程序,而且这些软件在日后可以快速方便的升级。
2)由于掌上学习机的特殊性,所以对平台的要求比较苛刻,务必采用体积较小质量较轻的嵌入式平台,所以涉及到许多驱动程序的开发与调试。在Linux环境下,驱动程序可被编写成模块,这在Wince环境下是不能做到。
3)Linux内核短小而精悍,所需的硬件资源少,性能强大,十分适合嵌入式这样硬件资源短缺性能需求高的环境。
2 QT4的GUI简介
2.1 QT的背景介绍
Qt是一个完全面向对象,容易扩展,并且允许组件编程的跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立艺术级的图形用户界面所需要的所用功能。
在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的 Qt Creator 也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。
2.2 关于Qt/Embedded以及它的实现结构原理
Qt/Embedded是Trolltech公司开发的面向嵌入式系统的Qt版本,与X11版本的Qt在最大程度上接口兼容,采用帧缓存(framebuffer)作为底层图形接口。Qt/Embedded类库完全采用C++封装,并且有着丰富的控件资源以及较好的可移植性,大范围的Qt/Embedded API可用于多种开发项目。
Qt/Embedded是Qt的面向嵌入式应用的简化版本,它包括一组完备的GUI类、操作系统封装、数据结构类、功能类和组合类。大部分Qt的应用程序可以经过简单的编译与重设窗口大小移植到Qt/Embedded。
Qtopia是基于QT/Embedded开发的一个嵌入式的窗口系统和应用程序集,如地址本、图像浏览、Media播放器等,还包括娱乐和配置工具,广泛用于PDA等掌上设备。Qtopia平台由Qtopia 库(Qt/E,libqpe,libqtopia1,qtopiapim)和Qtopia server/laucher组成。Qtopia server/laucher是控制窗口系统、进程间通信、发起所有应用和其他核心任务的主要服务程序。
3 系统需求与可行性分析
3.1 功能需求
经过广泛的调查和研究,掌上学习机需要具备以下功能:
1)电子点读书:使图书可以发声,点到哪里读到哪里。点读、讲读、领读、跟读、复读五种模式。
2)动漫学汉字:点击汉字,显示FLASH教学视频,FLASH动画学汉字,笔顺、笔画、偏旁部首、组词等……从听、说、读、写全方位打通儿童的认知触觉,让孩子在游戏中快乐、主动地学习汉字。
3)电子相册(图片浏览器):经典影像随身回味,让父母的爱伴随小朋友学习、成长。
4)仿真实验:可直接模拟操作。通过自主操作实验,从而掌握物理和化学知识原理,理解并记忆化学方程式、公式、定律、定理等,从而有效提高理化学习成绩。
5)考试系统:测验、听写二种考试模式,智能判断正误,互动学习加深记忆。
6)视频教学:视频教学用一个个生动有趣的故事将各种知识娓娓道来,让小朋友在听故事的同时学习知识知识掌握更牢固;视频教学课件,画面生动,浅显易懂,考学练结合,指导小朋友学习。
7)同步作文:海量的作文词句素材随意选用,写作指导包含各种文体小学作文写作技巧,低年级作文、中高年级作文、满分作文等各种作文资料集任你阅读学习;查找资料用作文检索,更方便快捷。
8)多媒体播放:MP3音乐播放,支持儿歌,流行音乐等随身播放,MP4电影播放,可播放各种精彩动画片、影视大片。
3.2 技术可行性
因为根据对掌上学习机的特殊之处在于平台的苛求,只能使用体积较小质量较轻的嵌入式平台。以下是操作系统和其他一些软件的技术可行性分析:
1)考虑到开发成本、耗能和开源软件的优势等问题,本项目选用了嵌入式linux操作系统。该系统性能稳定,功能强大,支持多种硬件平台,简单易用且开放源代码,可广泛用于各种分时系统领域。而这些功能恰恰是本项目所需要的。经过内核的剪裁与编译,制定出适合本项目所用Linux系统,这方面的技术是十分成熟,该linux操作系统采用linux2.6.29内核,其他功能支持如下所示:① 驱动程序包含串口、100M网口、LCD、触摸屏、鼠标、键盘、等多种驱动;② 支持多种文件系统,像EXT3、FAT等;③ 支持QT等图形系统。
2)在界面开发方面,使用的是nokia公司的图形应用程序开发平台QT/Embedded,它是强大的图形界面应用程序开发工具,它的功能和微软的MFC媲美。最重要的它的大部分功能是免费使用的,而且有强大的可移植性,所以QT刚好符合所有要求,是最佳的选择。
3)在驱动程序方面,主要设计字符设备驱动以及块设备驱动,这两方面的设备驱动成功案例已有很多,可参考相关的驱动程序,便可实现驱动程序的编写。
3.3 掌上学习机选书功能
利用丰富的网络资源下载图书至机内,机内图书任意选择,不同学习内容无限切换,增添学习乐趣。
4 Linux内核移植
所谓Linux内核移植就是把Linux操作系统针对具体的目标机做必要裁剪之后,安装到目标机使其正确的运行起来。这个概念目前在嵌入式开发领域流传比较广泛。嵌入式Linux移植是指对Linux经过小型化裁剪后,能够固化在容量只有几K或几十K字节的存储器芯片或单片机中,可应用于特定嵌入式场合的专用Linux操作系统。
对于嵌入式 Linux 系统来说,有各种体系结构的处理器和硬件平台,并且用户需要根据需求自己定制硬件板。只要是硬件平台发生变化,即使非常小,可能也需要做一些移植工作。内核移植是嵌入式 Linux 系统中最常见的一项工作。
当然,移植嵌入式Linux系统并不意味着该内核使用了任何特定的链接库或用户工具,建立嵌入式系统并不需要特别的内核。嵌入式系统中使用的内核与工作站或服务器上使用的内核主要的不同在于内核的配置方面。Linux内核移植是在Linux原内核基础上,通过对平台的选择设计来实现针对特定系统的内核版本。
Linux内核的移植包含启动代码的修改、内核的链接及装入、参数传递、内核引导几个部分。
4.1 Linux device driver 的概念
系统调用是应用程序和操作系统内核之间的接口,设备驱动程序是机器硬件和操作系统内核之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件, 应用程序可以像操作普通文件一样对硬件设备进行操作。
体积较小质量较轻掌上学习机由于功能强大、携带方便等灵活性会越来越得到人们的青眯,它的市场前景也越来越广阔。
4.2 Linux下编写驱动程序
Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下 的驱动程序有很大的区别。在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用 的操作要自己来编写,而且调试也不方便。
参考文献:
[1] 陈敬,向伟. 基于嵌入式Linux的QT/Embedded移植与应用开发[J].电脑与信息技术,2013,21(1):57-59.
[2] 陈勇,田江明. Qt4在嵌入式Linux 系统下的移植研究[J].科技信息,2010,31:5-7.
[3] 李智勇,罗维亮.基于SQLite 的多媒体课件制作新方法[J].计算机技术与发展,2014,24(1):228-230,234.
[4] 唐摇敏,宋摇杰.嵌入式数据库SQLite的原理与应用[J].电脑知识与技术,2008(4):600-603.