原创 i.mx27平台的miniGUI的移植

2010-2-4 15:08 2346 1 1 分类: MCU/ 嵌入式

假设安装在以下目录:


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


1.1        交叉编译依赖的库


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


1.1.1          安装zlib


1.      解压zlib-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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


-----


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


#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


重新编译库即可


 


 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
1
关闭 站长推荐上一条 /2 下一条