视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
minigui移植到2440上
2025-09-29 22:30:07 责编:小OO
文档
Minigui移植到2440

作者:刘溯奇  日期:2009-2-5 地点:南宁师专数计系

1. 环境

硬件环境:

Host:X86PC 

Target:友善之臂mini2440开发板

软件环境:

Host:VMware虚拟机下的redhat linux 9.0(完全安装)

Target:arm-linux             kernel:linux-2.6.13

Crosstool: arm-linux-gcc-3.3.2

2.准备以下源码包(下载)

http://sourceforge.net/project/showfiles.php?group_id=2317&package_id=281013&release_id=617949

http://www.minigui.org/res.shtml

开发库:libminigui-1.6.0.tar.gz

资源文件:minigui-res-1.6.10.tar.gz

示例程序:mg-samples-str-1.6.2.tar.gz

3.编译安装

(1) 准备工作

在redhat linux 9.0下新建工作目录

[root@localhost /]# mkdir /minigui              工作目录  

[root@localhost /]# mkdir /minigui/compressed /minigui/source

[root@localhost /]# cd /minigui/compressed        进入工作目录

说明:把第2步下载的源码包放到该目录中,即/minigui/compressed

(2)编译安装minigui-res-1.6.10.tar.gz 

说明:minigui 所使用的资源,包括基本字体、图标、位图和鼠标光标。

[root@localhost compressed]# tar xzvf minigui-res-1.6.10.tar.gz –C ../source

[root@localhost compressed]# cd ../source/minigui-res-1.6.10

[root@localhost minigui-res-1.6.10]# make install

把生成的……/minigui/res目录下的所有文件拷贝到开发板上,其开发板上的目录如下形式/usr/local/lib/minigui/res/……,实际上这个目录与配置文件MiniGUI.cfg里的相应内容的目录一致,以便找到相应的资源。

(3)编译安装libminigui-1.6.0.tar.gz

说明:minigui函数库源代码。

[root@localhost minigui-res-1.6.10]# cd /minigui/compressed

[root@localhost compressed]# tar xzvf libminigui-1.6.0.tar.gz –C ../source

[root@localhost compressed]# cd ../source/libminigui-1.6.0

[root@localhost libminigui-1.6.0]# ./configure --prefix=/home/ --host=arm-linux --target=arm-linux --build=i386-linux CC=arm-linux-gcc --with-osname=linux --with-style=classic  --with-targetname=fbcon --enable-autoial --enable-commial --enable-rbf16 --disable-vbfsupport

[root@localhost libminigui-1.6.0]# make

[root@localhost libminigui-1.6.0]# make install

把/home/lib目录下的所有库文件(注:--prefix=/home/)拷贝到开发板上的/lib目录下,把/home/etc下的MiniGUI.cfg拷贝到开发板上的/etc目录下。

注:--disable-vbfsupport ,一定要注意这个选项,否则在开发板上运行示例程序时,提示找不到var bitmap font,实际上在开发板上的/usr/local/lib/minigui/res/font目录下没有var bitmap font字体库,至于如何支持它,没有深究。其他选项可通过./configure –h帮助查看,根据自己的开发板及项目需要控制相应的功能。

 (4)编译 mg-samples-str-1.6.2.tar.gz

同上原理:

解压

[………]# ./configure –host=arm-linux

[………]# make

把生成的可执行文件helloworld拷贝到开发板上的/usr/local/sbin目录下

(6) 配置

第一处:在开发板的/etc目录下建立ld.so.conf文件,并添加如下内容:

/usr/local/lib

/usr/lib

/lib     #实际上添加这个库文件目录就行了,目的是运行helloworld的时候,能找到相应的库文件,其他两个库目录可选,我加上了它,是为了系统扩展。

第二处:修改开发板上的/etc/MiniGUI.cfg文件

用编辑器打开,更改如下内容: 

[system]

# GAL engine and default options

gal_engine=fbcon

#IAL engine

ial_engine=dummy

mdev=/dev/mouse

mtype=none

[fbcon]

Defaultmode=240x320-16bpp    #我的LCD显示器是240x320像素的竖屏

与上述内容不一致的,请结合自己的开发板进行比较后,修改。

第三处:

在/etc/init.d/rcS脚本文件里添加如下内容:

/bin/ln –s /dev/vc/0 /dev/tty0

如不加,则出现如下问题:NEWGAL>FBCON: Can't open /dev/tty0: No such file or directory 

NEWGAL: Set video mode failure.

InitGUI: Can not initialize graphics engine!

注:就是使FBCON与你的FramBuffer设备关联

4.测试

在超级终端运行helloworld,命令如下:

[………]# /usr/local/sbin/helloworld

在/etc/init.d/rcS脚本文件里添加如下内容:

/usr/local/sbin/helloworld & 

呵呵,minigui跑起来了,自己感觉还是比较爽的。移植就算成功了,但没有使用价值,需继续添加minigui的一些功能,并需要编写相应应用程序和linux内核相应的驱动。

5.补充—支持鼠标和触摸屏,则设置如下

以上的操作还没有添加输入引擎。我的开发板可利用的输入引擎是usb鼠标,下面就是添加usb输入引擎的过程。

(1) 查看usb鼠标设备节点

查看方法就是在没有插入usb鼠标和插入usb鼠标时看看/dev/input/目录下有什么变化,我的在/dev/input目录下多出了mouse1,说明我的usb鼠标的设备节点是/dev/input/mouse1,把这个节点链接到/dev下更名为mouse,即:

#ln –s /dev/input/mouse1 /dev/mouse    支持触摸屏

#ln –s /dev/input/mouse0 /dev/mouse    插上鼠标,支持鼠标,不插鼠标,支持触摸屏

 

(2)配置MiniGUI.cfg文件(可以通过串口修改)

配置MiniGUI.cfg文件,主要是添加输入引擎,添加方法如下:

# GAL engine

gal_engine=fbcon

# IAL engine

ial_engine=console  //添加在这里

mdev=/dev/mouse   //添加在这里

mtype=PS2        //添加在这里

[fbcon]

Defaultmode=240x320-16bpp    #我的LCD显示器是240x320像素的竖屏

6. 郁闷的问题

配置文件,从windows拷贝到开发板,就有问题,但从linux桌面拷贝到u盘,再挂接到开发板上就没有问题,而且可执行文件不能在虚拟linux桌面下与xp系统下通过ssh工具传输,否则,可执行文件就会有错误,变得不可用。

@版权所有

(本篇完)下载本文

显示全文
专题