4 加入mde库支持
mde库是执行MiniGUI应用程序的归档压缩文件,其中包含被称为mginit的MiniGUI-Lite的服务器程序,安装的过程需要popt-1.7.tar.gz库支持,安装过程较为简单,和前面的库安装类似。
为了避免安装过程出现MINIGUI-LiteVerl.2.6 orLater的警告信息,必须对configure.in文件作出修改,添加下面的一行语句指定头文件和库文件的寻找路径:
同时对包含MiniGUI常用的宏以及数据类型定义的common.h文件路径进行修改,在参数AC_CHECK_HEADERS行中添加如下代码:
5 创建设备文件节点
在内核启动之前,应该保证MiniGUI运行于服务器模式,嵌入式系统上执行MiniGUI应用程序时,先由mginit调用vfork产生一个子进程,然后呼叫系统调用execl来启动,同时服务器程序还需要创建几个设备文件,在/dev目录下执行下面创建命令:
mknod ptysf c 2 63
mknod ttysf c 3 63
分别创建了主设备号是2、次设备号是63的设备文件ptysf以及主设备号是3、次设备号是63的设备文件ttysf。如果需要在系统启动时自动加载上述设备文件,可以在系统启动脚本文件rc.d中添加上述命令。至此移植阶段的工作完成。
6 下载程序到目标板并运行
通过以上的编译,在目标板上运行MiniGUI所需的库文件和应用程序已全部编译好,进入/usr/local/arm/2.95.3/arm-linux/,在etc,lib子目录下有需要拷贝到目标机上的资源。首先拷贝根文件目录到/opt/rootfs下,在根文件目录下新建和/usr/local/arm/2.95.3/arm-linux/下相同的目录结构,把/usr/local/arm/2.95.3/arm-linux/lib中相应的库拷到根文件系统的/usr/local/lib目录下去(无需拷贝libjpeg.a等静态库);拷贝MiniGUI资源文件,将usr/local/lib/目录下的minigui目录拷贝到根文件/opt/rootfs目录下;拷贝配置文件/usr/local/etc/MiniGUI.cfg,保持目录结构一致。修改根文件系统中的/etc/ld.SO.conf文件,在文件最后一行增加“/usr/local/lib”,然后执行命令ldconfig-r/opt/rootfs,将根文件目录设置为根目录,最后修改MiniGUI.cfg,使之适合目标板的硬件设置:将鼠标设备改为mdev=/dev/input/mouse0,鼠标协议类型改为mtype=IMPS2,其他的用默认方式即可。
至此,MiniGUI已经成功移植到了开发板上,图2为MiniGUI在开发板上启动后的画面。此后可以根据需要,继续修改MiniGUI库函数及各种资源,并且编写自己的应用程序,使开发板上的界面更加美观和完善。
7 结 语
介绍的MiniGUI移植过程已通过实验验证,并且大体的过程适合于其他型号的开发板和其他开源版本的MiniGUI。将图形用户界面引人嵌入式系统是嵌入式技术发展的必然趋势,可以肯定,随着MiniGUI的不断推广和功能的加强,它将在嵌入式系统设计中起着举足轻重的作用,并且在实际应用中不断走向成熟。