欢迎来到天天文库
浏览记录
ID:25606609
大小:56.00 KB
页数:5页
时间:2018-11-21
《minigui到ev44b0ⅱ上的移植研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MiniGUI到EV44B0Ⅱ上的移植研究摘要:MiniGUI建立在比较成熟的图形引擎之上,其特点是小巧精致并尽量保持与iniGUI到EV44B0II的移植工作,提出MiniGUI软件移植的基本步骤。关键词:MiniGUI;图形引擎;EV44B0II;移植引言要在自己的ARM嵌入式系统[1]中使用MiniGUI,首先目标板要有足够的硬件资源;之后为目标板编写MiniGUI的图形引擎(GAL)和输入引擎(IAL)[2];接下来就可以配置MiniGUI交叉编译MiniGUI函数库及其应用程序;编译通过后,就可以在目标板上搭建MiniGUI应用环境;最后
2、就可以启动MiniGUI应用程序了。1MiniGUI只要某个硬件平台上运行有MiniGUI所支持的操作系统,MiniGUI就能在这个平台上运行。MiniGUI本身的占用空间非常小,在2MB到4M左右。在某些系统上,尤其是在传统嵌入式操作系统中,功能完备的MiniGUI系统本身所占用的空间可进一步缩小到1MB以内。和其它针对嵌入式产品的图形系统相比,MiniGUI对系统的需求具有如下几大优势:可伸缩性强、轻型、占用资源少、高性能、高可靠性和可配置性。2移植过程2.1在PC机上安装MiniGUI将MiniGUI函数库源代码、资源文件复制到PC机的Lin
3、ux操作系统的特定目录下,解压,以便于进行交叉编译。在“终端”窗口使用以下命令完成解压,对于较长的文件名或目录名,可以使用“*”通配符指定。#cd/home/minigui#tarzxflib*.gz#tarzxfmini*.gz#tarzxfmg*.gz2.2MiniGUI的GAL移植MiniGUI引入了图形抽象层和输入抽象层(GraphicsandInputAbstractLayers,即GAL和IAL)的概念。在libminigui-str-1.6.2/src/gal/native目录下建立一个源文件mlcd.c,编写老的GAL接口的几个接口
4、函数[3]。//使用native图形引擎的数据结构和fb(Framebuffer)的驱动程序#include"native.h"#include"fb.h"#include"lcddrive.h"//图形引擎初始化函数//初始化正确返回PSD结构,否则返回NULLStaticPSDfb_open(PSDpsd){PSUBDRIVERsubdriver;TftInit();Fprintf(stderr,"GALmonengine:InitLCM!");psd->planes=1;//单屏#ifS_YMAX;psd->yres=GUI_
5、LCM_XMAX;#elsepsd->xres=GUI_LCM_XMAX;psd->yres=GUI_LCM_YMAX;#endif};在libminigui-str-1.6.2/src/gal/native目录下建立液晶驱动程序文件lcddrive.c和lcddrive.h,由于在lcddrive.c文件中使用了S3C44B0的头文件,所以要将此文件复制到libminigui-str-1.6.2/src/gal/native目录下。设置libminigui-str-1.6.2/src/gal/native目录下的Makefile.am
6、文件,在lib_native_la_SOURCES变量最后加入lcddrive.c和mlcd.c等文件。为了使MiniGUI能够正确使用移植的图形引擎,还需要进行注册[4]。2.3MiniGUI的IAL移植在libminigui-str-1.6.2/src/ial目录下建立源文件minput.c及头文件minput.h,在minput.c文件中编写IAL接口的几个接口函数。在libminigui-str-1.6.2/src/ial建立键盘驱动程序文件m_drive.c,实现键盘的读取和键码的转换,具体源代码在MicetekEV44B0II产品的配套
7、光盘上。键盘驱动程序文件m_drive.c把EV44B0II开发板上的16个按键定义为0~9、TAB、ESC和ENTER等功能。设置libminigui-str-1.6.2/src/ial目录下的Makefile.am文件,新定义一个变量MINPUT_SRCS,变量赋值为minput.c和m_drive.c等文件,并在libial_la_SOURCES变量最后加入MINPUT_SRCS的引用,这样在编译MiniGUI时就可以编译这些移植的IAL源文件了。为了使MiniGUI能够正确使用移植的输入引擎,还需要进行注册。2.4交叉编译MiniGUI针对
8、EV44B0II开发板需要专门编写一个配置脚本buildlib-ev44b0ii,文件保存在libminigui-1.6.
此文档下载收益归作者所有