Linux在arm下完整吗,minigui 1.6.10 在arm-linux下 完整移植过程

Andrew Huang 转载请注明作者及网址

用于测试的I80屏,因为找到不到最新的3.0.下载,因此用 minigui 1.6.10 来测试.

移植是在mini6410上进行的。

一.准备工作

一.下载

感谢这位 网友,他把所有相关源码打这一个包里,下载使用了。

二.项目目录

为了方便管理,按照我的一贯的规范,我在通用项目目录 workspace建了minigui,minigui的所有文件都在这个目录下.

workspace

|

+-- output

|      |

|      +-- arm-linux # 库,应用程序输出目录

|

+--- minigui

|

+-- libminigui-1.6.10 #minigui 图形库

|

+-- minigui-res-1.6.10 #minigui 资源(位图,图标,光标,字体)

|

+-- mg-samples-1.6.10  #minigui 简单演示例子

|

+-- mde-1.6.10         #minigui 增强样例

三.解压

tar xvf libminigui-1.6.10.tar.gz

tar xvf minigui-res-1.6.10.tar.gz

tar xvf mg-samples-1.6.10.tar.gz

tar xvf mde-1.6.10.tar.gz

四.安装资源

这里安装资源是指安装workspace/output/arm-linux 中统一个发布目录,以便NFS运行或打包。

a)cd minigui-res-1.6.10

b)修改config.linux中prefix的定义。原值是

prefix = $(TOPDIR)/usr/local

将其修改为 prefix=$(PWD)/../../output/arm-linux

c)安装

make install

成功后,资源会安装在 $(PWD)/../../output/arm-linux/lib/minigui/res

二.移植minigui 库

一.编译libminigui

cd libminigui-1.6.10

生成Makefile

./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux --enable-shared --enable-static --disable-textmode   --enable-videofbcon

编译 make

安装 make install

如果成功,应该在output/arm-linux/lib 生成libminigui.so.XXX系列文件。

二.编译演示程序

cd mg-samples-1.6.10

生成Makefile

./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux --enable-shared --enable-static CPPFLAGS="-I$PWD/../../output/arm-linux/include" LDFLAGS="-L$PWD/../../output/arm-linux/lib "

编译make

安装make install

编译成功后,可执行文件仍在src下。

四.修改配文件

编辑Minigui.Cfg 文件,它是minigui库运行配置文件,缺省配置文件放在输出目录的/etc目录下。

比如我的例子里是 $PWD/../../ouput/arm-linux/etc/Minigui.Cfg.

没有这个文件,运行程序会提示:

./run.sh

MISC: Can not locate your MiniGUI.cfg file or bad files!

InitGUI: Initialization of misc things failure!

修改后有三个位置可以放,一个用户目录,那必须改名成 .MiniGUI.cfg ,即 ~/.MiniGUI.cfg

另外可以放在 /etc 或 /usr/local/etc 目录下。名字仍然是 MiniGUI.cfg.

关于配置文件的含义:

配置文件的所有资源采用绝对路径,并指向 /usr/local/lib/minigui/res,这里修改成资源真正安装(minigui-res-1.6.10),一次性全部置换就行

在修改之前,要明白两个概念,在开发板上运行,直接采用Linux framebuffer 接口即可,在X86 Linux上,因为没有framebuffer,只用能用QT 开发的应用程序qvfb来虚拟一个framebuffer驱动。

a)[system] 表示系统启动配置

[system]

# GAL engine and default options 图形引擎配置

gal_engine=qvfb            #默认的图形底层接口     defaultmode=800x600-16bpp  #分辩率与bpp

我在mini6410开发板的上配置是

[system]

# GAL engine and default options

gal_engine=fbcon

defaultmode=480x272-16bpp

# IAL engine 输入适配层配置

ial_engine=qvfb         #输入模式,qvfb下设为qvfb,fbcon 设为console

mdev=/dev/input/mice    #鼠标的设备结点

mtype=IMPS2             #鼠标类型

我的配置是

[system]

# GAL engine and default options

gal_engine=console

defaultmode=480x272-16bpp

b) [fbcon] [qvfb] 段

这两段就是被配成相关配置后,生效,只有一个defaultmode ,含议与system相同

五.运行测试样例

写一个run.sh,里面把LD_LIBRARY_PATH指向库路径。大部分例子都能运行

export PRJ_HOME=/mnt/nfs/workspace/output/arm-linux

export LD_LIBRARY_PATH=$PRJ_HOME/lib

#./gridview

#./loadbmp

#./button

#./listbox

#./coolbar

#./menubutton

#./treeview

#./combobox

./iconview

运行图例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值