- 论坛徽章:
- 0
|
买了个周立功2410的箱子,要在上边实现图像采集。图形显示准备使用Minigui,第一因为它主要以C语言写成的第二嘛,当然要支持国产了。
做MiniGUI的开发,首先当然要有一个得心应手的开发环境了,首先在自己的主机(linux)建立开发环境。前期准备工作就不多说了,无非就是下载源代码,解压缩,安装之类的。这里首先要说明的源代码安装前的配置问题。
1 从飞漫公司官网(
http://www.minigui.com/index.php?id=minigui-component&L=1
)下载技术文档,包括编程基础,用户手册等。在用户手册中,非常详细的说明了MinigGUI不同的配置以应对不同的需要。编写一个配置脚本。
#gedit buildlib2410 内容如下:
#!/bin/sh
rm config.cache config.status -f
CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc \ /这是我交叉编译的路径、
CFLAGS=-I/linux/kernel/include \ /编译需要的头文件 linux为内核源代码所在的文件夹
./configure --prefix=/usr/local /指定安装目录,在编译完成后,会在该目录下生成
/ etc include lib三个子文件夹
接下来配置编译选项,可以参考用户手册中的说明。
--build=I386-linux \
--host=arm-linux \
--target=arm-linux \
--with-osname=linux \
--with-style=pc3d \
--disable-shared \
--enable-cursor \
--disable-newgal \
--enable-nativegal \
--enable-galfbcon \
--enable-fblin16 \
--disable-textmod \
--enable-dummyial \
--enable-nativeial \
--enable-qvfbial \ /因为要在自己的linux图像界面上编译自己的程序。这样编译程序很方便的,不然如果使用frame buffer的话要不断得在命令模式和图形模式之间切换/
--enable-videoqvfb \ /和qvfbial配合使用/
--enable-micemoveable \
--disable-latin9support \
--disalbe-big5support \
--disable-savebitmap \
--disable-imegb2312 \ /支持jpeg png图形库。需要在linux中安装jpeg 和libpng/
--enable-jpgsupport \
--enable-pngsupport \
--disable-aboutdlg \
--disalbe-savegreen \
保存,然后进行编译。安装。
在编译过程中,checking for jpeg_std_error in -ljpeg... yes // jpeg 支持
checking for png_check_sig in -lpng... yes //png 图形支持
如果显示为no,要检查这2个库文件是否安装正确。从
http://download.chinaunix.net/search/?q=&&key=A
下载相关软件包,解压,安装。注意安装路径为:/usr/local/arm/3.3.2/arm-linux/,这是我的交叉路径,安装完成后将会在该目录下生成相关的链接文件和头文件。如果安装完成后再该目录下没有生成这些文件,回到解压缩后的文件夹,讲相应的文件拷到正确的文件夹下。
2 安装qvfb
从
ftp://ftp.minigui.com/pub/deplibs/
下载qvfb压缩包,放到linux中MiniGUI的源文件目录下,解压缩。#cd qvfb-1.0,进行配置并安装,如何配置安装就不多说了。
安装完成后,需要修改Minigui启动文件。因为Minigui安装到了、usr/local中,所以在其etc目录下找到MiniGUI.cfg文件,进行修改。具体修改如下:
[system]
# GAL engine
#gal_engine=fbcon
gal_engine=qvfb //这里修改
# IAL engine
#ial_engine=console
ial_engine=qvfb //这里修改
mdev=/dev/mouse
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp //这里修改
display=0
然后保存退出。
接着讲qvfb加入到编译路径当中。
#vi .bashrc
在最后一行中加入exportPATH="$PATH:/sbin:/usr/local/arm/3.3.2/bin:/usr/local/bin:/usr/local"保存。
重启linux或是执行#source .bashrc。
这样qvfb基本安装完毕,执行#qvfb&,看看吧,会有一个框框出来的,这就是我们以后编译执行程序所在的环境,很直观而且方便。下边就拿一个例子程序试验一下吧。
对自己下载的mg-samples-str-1.6.0进行编译,会生成src目录,里边放着已经生成的可执行的例子程序。然后执行一个例子,比如# ./helloworld,然后在终端中显示如下错误:
GAL qvfb engine :No driver for bpp32
GAL init GAL engine failure:qvfb
GAL: can not initialize graphics engine
一检查原来是在qvfb配置中depth中选择了32bit,换一个重新执行的话发现可以正常执行了。
这样qvfb的开发环境就建立好了,以后开发图形程序就方便很多了。搞这个东东竟然花了将近一天的时间,原因就是在安装相关的库文件的时候,链接目录设置错误,另外读用户手册页花了不少时间,所以以后在以后Linux下安装软件的时候,相关文件的链接一定要搞明白,清楚什么样的文件该安装在什么地方。
好了,就讲到这里吧,关于MINIGUI移植在我博客中我转载了一篇来自oldstorm得文章,写的很详细,在这里一并谢谢了。接下来要开发自己的minigui程序了,路好长啊!
补充一点:每次启动qvfb之前都需要重新配置一下。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/102829/showart_2030597.html |
|