建立基于ARM-uClinux的MiniGUI开发环境

原创 2007年09月19日 10:10:00

即交叉编译MiniGUI,使经过arm-elf-gcc编译后的MiniGUI程序能运行在ARM-uClinux平台上。

准备的软件包:libminigui-str-1.6.2.tar.gz minigui-res-str-1.6.tar.gz

交叉编译过程如下:

1)解压minigui-res-str-1.6.tar.gz,设置config.linux文件,将编译器设置为arm-elf-gcc。并将安装路径设置为arm-elf-gcc所在的目录。

2)解压libminigui-str-1.6.2.tar.gz 配置编译环境如下:

CC=arm-elf-gcc /

CFLAGS="-D__linux__ -I/root/minigui_lib/include -fno-builtin -nostartfiles" /

LDFLAGS="-Wall -elf2flt -static -L/root/minigui_lib/lib -lc" /

./configure /

    --prefix=/opt/uClinux/arm-elf /

    --build=i386-linux /

    --host=i686-pc-linux-gnu /

    --target=arm-elf /

    --disable-shared /

    --enable-static /

    --with-osname=uclinux /

    --disable-lite /

    --enable-standalone /

    --disable-micemoveable /

    --disable-cursor /

    --disable-newgal /

    --enable-nativegal /

    --disable-galfbcon /

    --enable-fblin8 /

    --disable-textmode /

    --enable-dummyial /

    --enable-autoial /

    --enable-nativeial /

    --disable-qvfbial /

    --disable-latin9support /

    --disable-big5support /

    --disable-savebitmap /

    --disable-jpgsupport /

    --disable-pngsupport /

    --disable-imegb2312 /

    --disable-aboutdlg /

    --disable-savescreen /

    --enable-incoreres /

    --enable-mousecalibrate /

    --enable-fontsserif /

    --enable-fontcourier /

    --enable-fontsymbol /

    --enable-fontvgas /

    --enable-vbfsupport /

    --enable-rbfsupport /

    --enable-rbf16 /

--enable-gifsupport

   3) GAL移植

需准备的程序:COMMLCD.C,LCDDRIVE.C,LCDDRIVE.H,LPC2294.H

下面对这些程序进行分析。

LPC2294.H定义ARM的各种寄存器,I/O口,中断口,串行口等的地址。

LCDDRIVE.HLCDDRIVE.C定义显示器驱动。

COMMLCD.C图形引擎的定义。

具体步骤如下:

A)      libminigui-str-1.6.2/src/gal/native下建立COMMLCD.CLCDDRIVE.C,LCDDRIVE.H,LPC2294.H

B)      Makefile.am里的LIBNATIVE_LA_SOURCES变量所在行末尾添加LCDDRIVE.C LCDDRIVE.H COMMLCD.C LPC2294.H

C)      修改libminigui-str-1.6.2/src/gal/gal.c,在GFX结构添加{“commlcd”,InitNative,TermNative}

D)      修改libminigui-str-1.6.2/src/gal/native.c,

#ifdef_Native_GAL_COMMLCD

  else if(strcmp(gfx->id,”commlcd”)==0)

psd=commlcd.Open(&commlcd);

#endif

改为

//#ifdef_Native_GAL_COMMLCD

  else if(strcmp(gfx->id,”commlcd”)==0)

psd=commlcd.Open(&commlcd);

//#endif

即注销ifdefendif

    修改libminigui-str-1.6.2/src/gal/native.h,同样将extern SCREENDEVICE commlcd上下的ifdefendif给注销掉。

   4) IAL移植

需要准备的程序:ADS7843.C ADS7843.H comm._drive.c comminput.c comminput.h CONFIG.H I2C.C I2C.H LPC2294.H

ADS7843.CADS7843.H是触摸屏控制电路的驱动程序。

Comminput.ccomminput.h是普通输入设备(键盘,鼠标,触摸屏)驱动程序。

I2C.CI2C.H是连接键盘等输入设备的I2C总线控制程序。

具体步骤如下:

A)      libminigui-str-1.6.2/src/ial下建立ADS7843.C,ADS7843.H,comm._drive.c,comminput.c,comminput.h,CONFIG.H,I2C.C,I2C.H LPC2294.H

B)      配置Makefile.am,新增变量COMMINPUT_SRCS= ADS7843.C ADS7843.H comm._drive.c comminput.c comminput.h CONFIG.H I2C.C I2C.H LPC2294.H

C)      LIBIAL_LA_SOURCES变量后加入$(COMMINPUT_SRCS)

D)      修改ial.c,将#include “comminput.h” 上下的#ifdef#endif注释掉。在INPUT结构中添加{“comm”,InitCOMMInput,TermCOMMInput}

接着编译和安装即可。安装完毕,便可交叉编译minigui源程序,如下

#arm-elf-gcc –elf2flt –o helloworld helloworld.c –lminigui –lpthread

编译后的程序便可在目标系统上运行。

MINIGUI 开发指南---GDI

本文讲述 MiniGUI 中 GDI 函数及其使用。主要包括:设备上下文的概念、获取和释放;矩形操作和区域操作;基本绘图函数;位图操作函数;逻辑字体操作函数等。 引言 GUI 系统的一个重...
  • yangzijiangtou
  • yangzijiangtou
  • 2014年11月04日 20:38
  • 814

基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南七——MiniGUI 1.1.0 引入的新 GDI 功能和函数之二

简介: 我们在 “MiniGUI1.1.0 版本引入的新 GDI 功能和函数”一文中描述了在 1.1.0Pre4版本中添加的新 GDI 相关函数的功能及其使用。目前,MiniGUI 1.1.0Pre7...
  • HiRuyue
  • HiRuyue
  • 2013年09月15日 11:07
  • 1192

Minigui V1.3.3在uClinux中的移植经验总结

 经过一个星期的努力,终于将Minigui移植到我的ARM7开发板上了,在这个过程中我遇到了很多困难和问题,但是通过网络,通过以前很多前辈在网络上分享的经验,终于取得成功,也让我更加体会到只有大家都互...
  • hhq0216
  • hhq0216
  • 2006年03月12日 21:39
  • 2328

minigui基于vc60的开发环境建立

本文转载,地址:http://hi.baidu.com/%C0%A5%B8%E7%B9%A4%D7%F7%CA%D2/blog/item/015e65916723e484a977a4ef.html,版...
  • linucos
  • linucos
  • 2010年07月18日 22:26
  • 1195

基于MiniGUI的嵌入式媒体播放器的设计与实现

基于MiniGUI的嵌入式媒体播放器的设计与实现1 引言  随着嵌入式系统的不断发展,处理器性能的不断提升,存储系统容量的不断扩大,各种多媒体应用程序被移植到嵌入式系统中,多媒体组件成为其不可或缺的重...
  • lqrensn
  • lqrensn
  • 2009年08月28日 14:19
  • 977

MiniGUI源码分析——开始篇

MiniGUI即将开源,大家可以关注官方微博 http://weibo.com/fm0minigui  文章中即将提到的很多内容点,主要基于开源版本1.6.10,对应的是即将开源的3.0版本,以前的...
  • HiRuyue
  • HiRuyue
  • 2013年09月12日 14:29
  • 1288

MiniGUI 移植到pc和arm开发板全过程详解 及错误解答

最近移植了 MiniGUI 1.3.3 到一个开发板上,中间遇到许多问题,在论坛上发问题,结果也没多少人回我,就算偶尔有回的,基本上回答也没有什么用,网上找不到一个完整的移植文章,所以就决定把自己这次...
  • liaoxinmeng
  • liaoxinmeng
  • 2010年01月03日 00:22
  • 4768

Ubuntu14.04安装MiniGUI

本文主要解决如下问题: 如何在64位的ubuntu14.04系统上安装MiniGUI 解决安装过程中碰到的问题 Ubuntu14.04环境安装qvfb工具 准备安装包和安装环境Ubuntu 64bit...
  • meirixuexi
  • meirixuexi
  • 2017年05月29日 00:09
  • 768

嵌入式GUI及其开发工具——miniGUI和mStudio

     什么才是好的东西,什么样的东西让你一眼看上去就喜欢它呢?这个当然离不开它的外表了,软件同样如此!一个好的软件,除了它的功能之外,还要有方便与人交互的友好的界面。功能是看不见摸不着的,是隐藏在...
  • ningan1987
  • ningan1987
  • 2009年11月25日 20:40
  • 1140

基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南三——对话框和控件编程

简介: 本文讲述 MiniGUI 中的对话框和控件编程。首先讲解 MiniGUI 中的控件类和控件实例的关系,并举例说明控件子类化的概念及应用;其次讲解 MiniGUI 对话框的编程技术,包括对话框模...
  • HiRuyue
  • HiRuyue
  • 2013年09月15日 10:55
  • 1064
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:建立基于ARM-uClinux的MiniGUI开发环境
举报原因:
原因补充:

(最多只允许输入30个字)