新闻  |   论坛  |   博客  |   在线研讨会
i.mx27平台的miniGUI的移植
0750long | 2010-02-04 21:12:08    阅读:1641   发布文章

i.mx27平台的miniGUI的移植

 

 

假设安装在以下目录:

/usr/local/arm-926ejs-linux/

1.1        交叉编译依赖的库

源文件在minigui光盘deplibs文件夹中。

1.1.1          安装zlib

1.      解压zlib-1.2.2.tar.gz

tar –xzvf zlib-1.2.2.tar.gz

2.      执行命令:

CC=arm-926ejs-linux-gcc ./configure --shared --prefix=/usr/local/arm-926ejs-linux/arm-926ejs-linux/

Prefix指定把zlib安装到交叉编译器所在的目录;

3.      安装:

make install

4.      把安装的头文件和动态链接库拷贝到嵌入式文件系统/usr/local/include/usr/local/lib的目录下。

5.      拷贝/usr/local/arm-926ejs-linux/arm-926ejs-linux/lib目录下的libz*/usr/local/lib目录

   拷贝/usr/local/arm-926ejs-linux/arm-926ejs-linux/lib目录下的zconf.hzlib.h/usr/local/include目录

#cp /usr/local/arm-926ejs-linux/arm-926ejs-linux/lib/libz*  ~/rootfs/usr/local/lib

#cp /usr/local/arm-926ejs-linux/arm-926ejs-linux/lib/include/z*  ~/rootfs/usr/local/include

1.1.2          安装png

1.      解压libpng_src.tgz

tar –xzvf libpng_src.tgz

2.      按如下修改Makefile

CC=arm-926ejs-linux-gcc

                                                                               

# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h

prefix=/usr/local/arm-926ejs-linux/arm-926ejs-linux/

                                                                                

# Where the zlib library and include files are located

ZLIBLIB=/usr/local/arm-926ejs-linux/arm-926ejs-linux/lib/

ZLIBINC=/usr/local/arm-926ejs-linux/arm-926ejs-linux/include/

3.      安装:

make install

4.      把安装的头文件和动态链接库拷贝到嵌入式文件系统/usr/local/include/usr/local/lib的目录下。

5.      拷贝/usr/local/arm-926ejs-linux/arm-926ejs-linux/include/目录下的png.h pngconfig.h/usr/local/include目录

拷贝/usr/local/arm-926ejs-linux/arm-926ejs-linux/lib/目录下的libpng.so.2 libpng.so

/usr/local/arm-926ejs-linux/arm-926ejs-linux/lib/目录下

#cp /usr/local/arm-926ejs-linux/arm-926ejs-linux/lib/libpng*  ~/rootfs/usr/local/lib

#cp /usr/local/arm-926ejs-linux/arm-926ejs-linux/lib/include/png*  ~/rootfs/usr/local/include

1.1.3          安装jpeg

1、  解压缩jpegsrc_v6b.tar.gz

Tar –zxvf jpeg-v6b.tar.gz

2、  配置jpeg

./configure CC="arm-926ejs-linux-gcc" –host=arm-926ejs-linux –enable-share –prefix=/usr/local/arm/arm-926ejs-linux/arm-926ejs-linux/

3、复制libtool

Cp /usr/bin/libtool ~/jpeg-6b/

Vim libtool

修改CC=   CC=arm-926ejs-linux-gcc

Mkdir –p /usr/local/arm/arm-926ejs-linux/arm-926ejs-linux/man/man1

4、  make

5make install

6make install-lib 安装库文件

7make install="headers" 安装头文件

6/usr/local/arm/arm-926ejs-linux/arm-926ejs-linux /lib

/usr/local/arm/arm-926ejs-linux/arm-926ejs-linux/include下的jpeg库和头文件拷贝到嵌入式系统中相应目录。

#cp /usr/local/arm/arm-926ejs-linux/arm-926ejs-linux /lib/jpeg* ~/rootfs/usr/local/lib/

# cp /usr/local/arm/arm-926ejs-linux/arm-926ejs-linux /include/jpeg* ~/rootfs/usr/local/include/

1.2.4 安装miniGUI资源文件

1、解压缩

minigui-res-1.6.10.tar.gz

tar –zxvf minigui-res-1.6.10.tar.gz –C /home/zjr/mx27_work/minigui/

3、  配置资源

./configure CC="arm-926ejs-linux-gcc"

Make

Makeinstall

将资源文件安装在/usr/local/lib目录

并把资源拷贝到嵌入式对应文件系统中的/usr/local/lib目录

1.2        交叉编译MiniGUI库

1.      解压libminigui-1.6.10-linux.tar.gz

libminigui-1.6.10-linux.tar.gz

2.      执行命令:

CC=arm-926ejs-linux-gcc ./configure \

--with-style=fashion \

--build=i386-linux \

--host=arm-linux \

--target=arm-linux

3.      安装:

make install

miniGUI库安装在/usr/local/lib/usr/local/include/目录

4.      把安装的头文件和动态链接库拷贝到嵌入式文件系统/usr/local/include/usr/local/lib的目录下。

1.3        交叉编译数据库

1.      解压sqlite-amalgamation-3.6.20.tar.gz

libminigui-1.6.10-linux.tar.gz

2.      执行命令:

CC=arm-926ejs-linux-gcc ./configure \

--build=i386-linux \

--host=arm-linux \

--target=arm-linux

3.      安装:

make install

数据库库文件安装在/usr/local/lib/usr/local/include目录

4.      把安装的头文件和动态链接库拷贝到嵌入式文件系统/usr/local/include/usr/local/lib的目录下。

1.4        编译应用程序

修改makefile指定交叉编译器。

指定应用程序编译器CROSS=arm-926ejs-linux-gcc

指定CXX :=(CROSS)g++  -I /usr/local/include

如果miniGUI库和res库在编译的时候指定安装路径,那么在Makefile文件中修改时改为指定库安装路径下的include以及将Makefile中文中的-L /usr/local/lib修改为-L /库安装路径/lib/

直接make,将生成的应用可执行文件拷贝到嵌入式系统的/usr/local/bin文件下

1.5        设置miniGUI配置文件

将系统中的/usr/local/etc/MiniGUI.cfg文件拷贝到/usr/local/etc

Vim /usr/local/etc/MiniGUI.cfg

修改:

[system]

Gal_engine =fbcon

-----

 

#IAL engine

Ial_engine =console

Mdev =/dev/input/mice

----

[fbcon]

Defaultmode =800*480-16bpp

最后注意:

飞漫的1.6.0正版程序鼠标左右键相反,修改方法:

打开libminigui-1.6.10-linux.tar.gz解压下的libminigui-1.6.10-linux\src\include\ial.h文件

小改:

#define IAL_MOUSE_LEFTBUTTON    1

#define IAL_MOUSE_MIDDLEBUTTON  4

#define IAL_MOUSE_RIGHTBUTTON   2

改成:

#define IAL_MOUSE_LEFTBUTTON    4

#define IAL_MOUSE_MIDDLEBUTTON  2

#define IAL_MOUSE_RIGHTBUTTON   1

重新编译库即可

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客