Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121112
  • 博文数量: 41
  • 博客积分: 170
  • 博客等级: 入伍新兵
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-09 16:11
文章分类

全部博文(41)

文章存档

2012年(41)

我的朋友

分类:

2012-06-05 09:48:21

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.
      没有这个文件,运行程序会提示:
        
  1. ./run.sh
  2. MISC: Can not locate your MiniGUI.cfg file or bad files!
  3. 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开发板的上配置是     
   
  1. [system]
  2. # GAL engine and default options
  3. gal_engine=fbcon
  4. defaultmode=480x272-16bpp
   # IAL engine 输入适配层配置
   ial_engine=qvfb         #输入模式,qvfb下设为qvfb,fbcon 设为console
   mdev=/dev/input/mice    #鼠标的设备结点 
   mtype=IMPS2             #鼠标类型
  
 我的配置是
  1. [system]
  2. # GAL engine and default options
  3. gal_engine=console
  4. defaultmode=480x272-16bpp
b) [fbcon] [qvfb] 段
   这两段就是被配成相关配置后,生效,只有一个defaultmode ,含议与system相同

五.运行测试样例
   写一个run.sh,里面把LD_LIBRARY_PATH指向库路径。大部分例子都能运行
  1. export PRJ_HOME=/mnt/nfs/workspace/output/arm-linux
  2. export LD_LIBRARY_PATH=$PRJ_HOME/lib
  3. #./gridview
  4. #./loadbmp
  5. #./button
  6. #./listbox
  7. #./coolbar
  8. #./menubutton
  9. #./treeview
  10. #./combobox
  11. ./iconview
   
运行图例:
  
阅读(1250) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~