移植一个图形库也就相当于LINUX基本可以起来了。也可以说过年来的努力终于有了回报。听说iPHONE是6400的平台,以后为iPHONE提供linux操作系统支持。
1.下载source code
http://www.minigui.org/
2.先大概了解一下minigui是做什么的,大概的架构师是什么,需要移植的部分是什么?哪些可以不用了解的?
3.解压source code
配置信息如下:
CC=/usr/local/arm/4.0.3/bin/arm-linux-gcc ./configure --prefix=/home/hansonlu/resp/source/GUI/usr --build=i386-linux --host=arm-unknown-linux --target=arm-unknown-linux --disable-shared --with-style=phone --disable-cursor --enable-jpgsupport --disable-micemoveable --enable-nativegal --enable-fblin16 --disable-textmode --disable-dummyial --disable-nativeial --enable-hh2410r3ial --disable-latin9support --disable-big5support --disable-savebitmap --disable-imegb2312 --disable-aboutdlg --disable-savescreen --enable-tinyscreen
然后是make install
4.库安装好了,现在可以写一个简单的helloworld程序,跑跑看。可以直接从上面网站下载一个DEMO
编译命令是:
/usr/local/arm/4.0.3/bin/arm-linux-gcc helloworld.c -o hw -static -lminigui -lpthread -lm -I /home/hansonlu/resp/source/GUI/usr/include -L /home/hansonlu/resp/source/GUI/usr/lib
PS:静态编译,-lminigui -lpthread 顺序很重要,否则编译不过
5,最后就是准备运行minigui所需要的资源,配置文件。
[system]
# GAL engine and default options
gal_engine=fbcon
defaultmode=480x272-16bpp
# IAL engine
ial_engine=qvfb
mdev=/dev/input/mice
mtype=none
[fbcon]
defaultmode=480x272-16bpp
[qvfb]
defaultmode=480x272-16bpp
display=0
[rawbitmapfonts]
font_number=4
name0=rbf-fixed-rrncnn-8-16-ISO8859-1
fontfile0=/mnt/usr/local/lib/minigui/res/font/1.bin
name1=rbf-fixed-rrncnn-16-16-GB2312-0
fontfile1=/mnt/usr/local/lib/minigui/res/font/2.bin
name2=rbf-fixed-rrncnn-6-12-ISO8859-1
fontfile2=/mnt/usr/local/lib/minigui/res/font/3.bin
name3=rbf-fixed-rrncnn-12-12-GB2312-0
fontfile3=/mnt/usr/local/lib/minigui/res/font/4.bin
根据其架构,所以移植的部分只有这两个部分。一个是GAL engine(图形输出),另外一个是IAL engine(键盘鼠标)
下面的文件路径也要有相应的文件,资源工程也可以从以上网站上得到。
GAL engine和IAL engine对应所需要实现的接口不是很多,分别在source code下的gal和IAL目录下,根据配置文件gal_engine=fbcon的选择会有不同的实现,每个版本支持的好像都不相同。
1.下载source code
http://www.minigui.org/
2.先大概了解一下minigui是做什么的,大概的架构师是什么,需要移植的部分是什么?哪些可以不用了解的?
3.解压source code
配置信息如下:
CC=/usr/local/arm/4.0.3/bin/arm-linux-gcc ./configure --prefix=/home/hansonlu/resp/source/GUI/usr --build=i386-linux --host=arm-unknown-linux --target=arm-unknown-linux --disable-shared --with-style=phone --disable-cursor --enable-jpgsupport --disable-micemoveable --enable-nativegal --enable-fblin16 --disable-textmode --disable-dummyial --disable-nativeial --enable-hh2410r3ial --disable-latin9support --disable-big5support --disable-savebitmap --disable-imegb2312 --disable-aboutdlg --disable-savescreen --enable-tinyscreen
然后是make install
4.库安装好了,现在可以写一个简单的helloworld程序,跑跑看。可以直接从上面网站下载一个DEMO
编译命令是:
/usr/local/arm/4.0.3/bin/arm-linux-gcc helloworld.c -o hw -static -lminigui -lpthread -lm -I /home/hansonlu/resp/source/GUI/usr/include -L /home/hansonlu/resp/source/GUI/usr/lib
PS:静态编译,-lminigui -lpthread 顺序很重要,否则编译不过
5,最后就是准备运行minigui所需要的资源,配置文件。
[system]
# GAL engine and default options
gal_engine=fbcon
defaultmode=480x272-16bpp
# IAL engine
ial_engine=qvfb
mdev=/dev/input/mice
mtype=none
[fbcon]
defaultmode=480x272-16bpp
[qvfb]
defaultmode=480x272-16bpp
display=0
[rawbitmapfonts]
font_number=4
name0=rbf-fixed-rrncnn-8-16-ISO8859-1
fontfile0=/mnt/usr/local/lib/minigui/res/font/1.bin
name1=rbf-fixed-rrncnn-16-16-GB2312-0
fontfile1=/mnt/usr/local/lib/minigui/res/font/2.bin
name2=rbf-fixed-rrncnn-6-12-ISO8859-1
fontfile2=/mnt/usr/local/lib/minigui/res/font/3.bin
name3=rbf-fixed-rrncnn-12-12-GB2312-0
fontfile3=/mnt/usr/local/lib/minigui/res/font/4.bin
根据其架构,所以移植的部分只有这两个部分。一个是GAL engine(图形输出),另外一个是IAL engine(键盘鼠标)
下面的文件路径也要有相应的文件,资源工程也可以从以上网站上得到。
GAL engine和IAL engine对应所需要实现的接口不是很多,分别在source code下的gal和IAL目录下,根据配置文件gal_engine=fbcon的选择会有不同的实现,每个版本支持的好像都不相同。