MiniGUI是由原清华大学教授魏永明主持开发的轻量级图形系统,现遵循GPL公约.能跨多种操作系统,主要运行于linux及一切具有POSIX线程支持的POSIX兼容系统,包括普通嵌入式Linux、eCos、uC/OS-II、VxWorks 等系统.MiniGUI的主要特点有:
遵循GPL条款的纯自由软件;提供了完备的多窗口机制;多字符集和多字体支持,目前支持ISO8859-1、GB2312及Big5 等字符集,并且支持各种光栅字体和 TrueType、Type 1 等矢量字体;全拼和五笔等汉字输入法支持;BMP、GIF、JPEG及PCX 等常见图像文件的支持;Windows的资源文件支持,如位图、图标、光标、插入符、定时器及加速键等;可移植性好.
3.2 MiniGUI的移植
本文MiniGUI移植目标系统为:XScale PXA255处理器,Linux2.4.18操作系统.交叉编译工具:arm-linux-gCC 2.95.3版,MiniGUI版本:1.3.0,主机系统为:FEDora Core 1 Linux.
MiniGUI的移植通过如下步骤:
1)安装交叉编译工具: arm-linux-gcc 2.95.3
2)建立挂装目录,实现主机与目标机的连接
3)安装Minigui资源文件:Minigui-res-1.3.0.tar.gz
4)配置Minigui交叉编译脚本
5)移植Minigui库文件和实例程序
3.3嵌入式软件实现
在开发基于MiniGUI的嵌入式软件时,先将mde-1.3.0中的configure.in、autogen.sh以及脚本arm-complier拷贝到项目开发目录中并修改confiugre.in在AC_INIT(<参数>),将<参数>改为项目主程序源文件名(如:main.c),将AC_OUTPUT(<参数>)中<参数>改为Makefile,编写Makefile.am 即可.执行./autogen.sh; ./arm-complier; make即可交叉编译项目程序.
然后,更改MiniGUI的配置文件MiniGUI.cfg设置设备驱动程序,设置显示区域及字体等内容.
如触摸屏驱动设置(在MiniGUI.cfg中设置):
# IAL engine
ial_engine=UCB1X00 //驱动引擎名称
mdev=/dev/touchscreen/0raw //驱动程序所在位置
mtype=
3.4源程序的交叉编译
当主机系统(开发应用程序的系统)和目标主机(应用程序将在其上运行的系统)不兼容时,需要在主机上通过交叉编译工具编译出目标系统可以运行的程序,这个过程叫做交叉编译.GNU编译器(GCC)是Linux系统中的一个强有力的编译工具,交叉编译后的软件可直接下载到PDA的FLASH ROM里[4].
4结论
该系统在首钢东华集团试运行约半年左右, ,此间企业运作比较良好。除了能够完成传统控制系统的功能外,在模糊控制方面和系统的灵活性方面都显示出良好的性能.在嵌入式软件方面,由于Linux与MiniGUI都遵循GPL公约,同时MiniGUI能稳定、可靠的运行于linux系统下,并且通过上述实践证明其可以快速构建一个稳定的可视化软件系统.
在经济效益方面,据粗略统计,在与没有实施移动温湿度监测系统情况下相比,实施此系统之后使得现场监测加灵活准确,在降低生产成本,提高工作效率,避免事故发生方面所形成的附加经济效益大约在30~50万元左右,而由此给实施本系统的企业带来的巨大经济效益更是无法估算。