免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1171 | 回复: 0
打印 上一主题 下一主题

minigui 1.6.10 在arm-linux下 完整移植过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:51 |只看该作者 |倒序浏览
Andrew Huang <bluedrum@163.com> 转载请注明作者及网址


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

  移植是在mini6410上进行的。
 

一.准备工作

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

   
   
二.项目目录
   为了方便管理,按照我的一贯的规范,我在通用项目目录 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
   
运行图例:
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP