Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1013954
  • 博文数量: 244
  • 博客积分: 6820
  • 博客等级: 准将
  • 技术积分: 3020
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 21:33
文章分类

全部博文(244)

文章存档

2013年(1)

2012年(16)

2011年(132)

2010年(3)

2009年(12)

2008年(80)

我的朋友

分类: LINUX

2011-09-16 16:03:05

1. 环境

硬件环境:

HostX86PC 

Target:友善之臂mini2440开发板

 

软件环境:

HostVMware虚拟机下的redhat linux 9.0(完全安装)

Targetarm-linux             kernel:linux-2.6.13

Crosstool: arm-linux-gcc-3.3.2

 

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

 

开发库: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内核相应的驱动。虽然开源,但提供的功能有限,不过,当作学习还是可以的。

阅读(2113) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~