搜档网
当前位置:搜档网 › minigui移植到hi3531

minigui移植到hi3531

minigui移植到hi3531
minigui移植到hi3531

miniGUI3.0.12移植到Hi3531

分类:linux2013-04-22 10:01 412人阅读评论(1) 收藏举报minigui hi3531

miniGUI3.0.12移植到Hi3531

之前一直在用miniGUI2.0的版本,看到现在miniGui3.0 GPL开源了,所以下载来移植到Hi3531平台上,下面阿来详细将这个移植过程记录如下:

一、移植资源包:

下载miniGUI3.0.12组件

简单介绍一下各个库:

freetype:字体

qvfb2和gvfb::虚拟显存,主要用在pc机上做仿真

jpegsrc:显示jpeg图像时要用到的库

libpng:显示png图像时要用到的库

zlib:PNG压缩算法

libminigui:minigui3.0.12的核心库

minigui-res:minigui3.0.12资源文件,包括字体、图标、位图等

mg-samples:minigui3.0.12例子程序

minigui3.0.12可选组件: libmg3d(3D支持)、libmgi(提供输入接口)、libmgp(提供打印机接口的支持)、libmgplus(2D矢量图支持和图像加速)、libmgutils(提供一些常用对话框的模板),可以根据自己的需要来使用。

在这里我只安装了freetype,zlib,,jpegsrc,,libpng,libmgplus以及res,主库,和sample。

这里提示下,下面操作的安装目录是:

/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi 这里你自己选择合适的安装目录就可以了。

二、编译zlib库

编译配置脚本:

1.[root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2.CXX=arm-hisiv100nptl-linux-g++ \

3.LD=arm-hisiv100nptl-linux-ld \

4.AS=arm-hisiv100nptl-linux-as \

5.AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv10

0-linux-uclibcgnueabi \

8. --shared

9.[root@localhost] make

10.[root@localhost] make install

三、编译png库

编译配置脚本:

1.[root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2.CXX=arm-hisiv100nptl-linux-g++ \

3.LD=arm-hisiv100nptl-linux-ld \

4.AS=arm-hisiv100nptl-linux-as \

5.AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv10

0-linux-uclibcgnueabi \

8.--build=i386-linux \

9.--host=arm-hisiv100nptl-linux \

10.--target=arm-hisiv100nptl-linux \

11.[root@localhost] make

12.[root@localhost] make install

注意;如果编译时报错提示zlib库没有安装的,解决方法:

在编译之前(我是在configure之前),手动指定一下参数:

1.export CFLAGS="-I/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-

uclibcgnueabi/include"

2.export LDFLAGS="-L/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux

-uclibcgnueabi/lib"

四、编译jpeg库

编译配置脚本:

1.[root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2.CXX=arm-hisiv100nptl-linux-g++ \

3.LD=arm-hisiv100nptl-linux-ld \

4.AS=arm-hisiv100nptl-linux-as \

5.AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv10

0-linux-uclibcgnueabi \

8.--build=i386-linux \

9.--host=arm-hisiv100nptl-linux \

10.--target=arm-hisiv100nptl-linux \

11. --enable-shared \

12.[root@localhost] make

13.[root@localhost] make install

五、编译freetype库

编译配置脚本:

1.[root@localhost]./configure \

2.--host=arm-hisiv100nptl-linux \

3.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv10

0-linux-uclibcgnueabi \

4. --enable-static \

运行配置脚本后,修改:

1.[root@localhost] vim config.cache

2.# 修改如下行

3.ac_cv_path_LD=${ac_cv_path_LD=arm-linux-gnu-ld}

4.ac_cv_prog_CC=${ac_cv_prog_CC=arm-linux-gnu-gcc}

5.ac_cv_prog_CPP=${ac_cv_prog_CPP='arm-linux-gnu-gcc -E'}

6.#重新配置,再运行一次配置脚本

7.#修改Makefile文件,以跳过编译test目录。

8.# 去掉“all:”后的变量“tttest”

9.# 注释掉“install:”下的第二行:“cd $(FTTESTDIR); $(MAKE) –f$(MAKEFILE) install”之后编译:

1.[root@localhost]make

2.[root@localhost]make install

六、安装minigui资源库

编译配置脚本:

1.[root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2.CXX=arm-hisiv100nptl-linux-g++ \

3.LD=arm-hisiv100nptl-linux-ld \

4.AS=arm-hisiv100nptl-linux-as \

5.AR=arm-hisiv100nptl-linux-ar \

6. ./configure \

7.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv10

0-linux-uclibcgnueabi \

8.[root@localhost]make

9.[root@localhost]make install

七、编译minigui核心库

编译配置脚本:

1.[root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2.CPP=arm-hisiv100nptl-linux-cpp \

3.LD=arm-hisiv100nptl-linux-ld \

4.AR=arm-hisiv100nptl-linux-ar \

5.RANLIB=arm-hisiv100nptl-linux-ranlib \

6.STRIP=arm-hisiv100nptl-linux-strip \

7.LDFLAGS="-L/home/minicross/miniarm/lib_hi3531" \

8.CPPFLAGS="-I/home/minicross/miniarm/include_hi3531" \

9. ./configure \

10.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv10

0-linux-uclibcgnueabi \

11.--build=x86_64-linux \

12.--host=arm-hisiv100nptl-linux \

13.--target=arm-hisiv100nptl-linux \

14. --disable-screensaver \

15. --disable-splash \

16. --disable-jpgsupport \

17. #--with-osname=linux \

18. #--with-targetname=fbcon \

19. #--enable-autoial \

20. #--disable-vbfsupport \

运行完配置脚本后,会出现这样的提示:

Going to generate license pictures ...

./configure: line 15530: ./runme.sh: No such file or directory

不用理会这个提示,继续往下操作。

修改:vim src/newgal/pcxvfb/Makefile 的194行,将/usr/include去掉

INCLUDES = -I$(abs_top_srcdir)/src/include -I$(abs_top_srcdir)/include \

-I$(abs_top_srcdir)/src/newgal/ -I/usr/include/

否则编译pcxvfb.c将出错

之后再编译安装:

1.[root@localhost]make

2.[root@localhost]make install

八、编译libmgplus

编译配置脚本:

https://www.sodocs.net/doc/df8456795.html,=arm-hisiv100nptl-linux-gcc \

2.CPP=arm-hisiv100nptl-linux-cpp \

3.LD=arm-hisiv100nptl-linux-ld \

4.AR=arm-hisiv100nptl-linux-ar \

5.RANLIB=arm-hisiv100nptl-linux-ranlib \

6.STRIP=arm-hisiv100nptl-linux-strip \

7../configure \

8.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgn

ueabi \

9.--build=x86_64-linux \

10.--host=arm-hisiv100nptl-linux \

11.--target=arm-hisiv100nptl-linux \

make编译时候会出现错误:

configure: WARNING: using cross tools not prefixed with host triplet

checking pkg-config is at least version0.9.0... yes

checking for MINIGUI... configure: error: Package requirements (minigui >=3.0.10) were not met:

No package 'minigui' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you

installed software in a non-standard prefix.

Alternatively, you may set the environment variables MINIGUI_CFLAGS

and MINIGUI_LIBS to avoid the need to call pkg-config.

See the pkg-config man page for more details.

解决方法:

1.export PKG_CONFIG_PATH=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-

linux-uclibcgnueabi/lib/pkgconfig/

再编译:

1.[root@localhost]make

2.[root@localhost]make install

九、编译minigui例子程序

编译配置脚本:

1.[root@localhost]CC=arm-hisiv100nptl-linux-gcc \

2.CPP=arm-hisiv100nptl-linux-cpp \

3.LD=arm-hisiv100nptl-linux-ld \

4.AR=arm-hisiv100nptl-linux-ar \

5.RANLIB=arm-hisiv100nptl-linux-ranlib \

6.STRIP=arm-hisiv100nptl-linux-strip \

7. ./configure \

8.--prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv10

0-linux-uclibcgnueabi \

9.--build=x86_64-linux \

10.--host=arm-hisiv100nptl-linux \

11.--target=arm-hisiv100nptl-linux \

在配置阶段或遇到环境变量的问题,但是在配置了环境变量后还是出现错误,就直接在configure文件中添加了变量,这样才通过配置。修改如下:

vim configure

# 在$as_echo_n "checking for MINIGUI... " >&6; }后添加如下变量:

1.MINIGUI_CFLAGS = -I/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linu

x-uclibcgnueabi/include

2.MINIGUI_LIBS = -L/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-

uclibcgnueabi/lib

然后开始make,又出现如下错误:no such file: File format not recognized collect2: ld returned 1 exit status。经过网上查资料后发现是生成的Makefile有问题,需要逐个修改Makefile。修改每个Makefile中的如下行:

1.LDFLAGS = -lminigui_ths -ljpeg -lm -lpthread -ldl -lz –lpng

2.LIBS = -L/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcg

nueabi/lib

这样就可以编译生成可执行文件了。。。

十、修改MiniGUI.cfg

将MiniGUI.cfg的开头部分改为:

1.[system]

2.# GAL engine and default options

3.gal_engine=fbcon

4.defaultmode=800x480-16bpp (对应板子分辨率)

5.

6.# IAL engine

7.ial_engine=console

8.mdev=/dev /mice

9.mtype=IMPS2

10.

11.[fbcon]

12.defaultmode=800x480-16bpp

修改res资源放置的路径,在配置文件中的[cursorinfo]->cursorpath以及[resinfo]->respath 否则运行sample程序时会出错。

修改路径:

1.103 [cursorinfo]

2.104 # Edit following line to specify cursor files path

3.105 cursorpath=/usr/local/share/minigui/res/cursor/

1.131 [resinfo]

2.132 respath=/usr/local/share/minigui/res/

到这里就大功告成了………

minigui1.33在uclinux移植过程

Minigui V1.3.3在uClinux中的移植经验总结 [转] 经过一个星期的努力,终于将Minigui移植到我的ARM7开发板上了,在这个过程中我遇到了很多困难和问题网络,通过以前很多前辈在网络上分享的经验,终于取得成功,也让我更加体会到只有大家都互相帮助,才能使大家都受益。所以基于这一点,我将我的移植过程分享给大家,并且写得尽量详细点,希望给大家后来者少走一些弯路。有不对的地方,欢迎大家板砖! 首先说明一下我的开发平台,我用的是Samsung S3C44B0X芯片的开发板,已经移植好的uClinux操作系FrameBuffer驱动。我的uClinux安装在"/s3c44b0fu/uClinux-dist"目录下,交叉编译工具安装在"/usr/local/a 下。 具体步骤: 一. 从网站下载 libminigui-1.3.3.tar.gz, mde-1.3.0.tar.gz, mg-samples-1.3.0.tar.gz和minigui-res-1.3.3.tar.g 件,并将这四个文件保存到交叉编译环境的目录下,因为我的arm-elf-gcc交叉编译工具安装在"/usr/local/arm-以将minigui的四个压缩包同样拷贝到"/usr/local/arm-elf"目录下. 二. 在终端中输入"cd /usr/local/arm-elf",进入minigui的四个压缩文件所在目录,然后分别执行"tar zxvf xxxx 四个压缩包解压缩.解压后生成libminigui-1.3.3, mde-1.3.0, mg-samples-1.3.0和minigui-res-1.3.3四个文件 三. 1) 进入minigui-res-1.3.3文件夹内,修改config.linux,在prefix = $(TOPDIR)/usr/local/后添加我们的交叉arm-elf,即prefix = $(TOPDIR)/usr/local/arm-elf. 2) cd minigui-res-1.3.3 3) make install 四. cd mde-1.3.0 ./configure make cd mg-samples-1.3.0 ./configure make 五. 1) 编写交叉编译minigui函数库的配置脚本domain.sh. domain.sh的具体内容为: #!/bin/sh rm config.cache config.status -f CC=arm-elf-gcc \ CFLAGS="-I/s3c44b0fu/uClinux-dist/uClibc/include -Dlinux -D__linux__ -D__uClinux__ -Dunix " \ LDFLAGS="-Wl,-elf2flt -static -Wl,-move-rodata -Wl,-L/s3c44b0fu/uClinux-dist/lib/uClibc/lib -Wl,-L/s3c44b dist/linux-2.4.x/lib -Wl,-lc -Wl,-lm" \ ./configure --prefix=/usr/local/arm-elf \ --build=i686-pc-linux-gnu \ --host=arm-elf-linux \

Minigui在ARM开发板上的移植过程

Minigui在ARM开发板上的移植过程 一、题外话: 为了感谢国人在开源世界颇具影响力的为数不多Minigui的开发者们的辛勤劳动(希望为数不多这个这个词若干年后我们不再提^_^),也为答谢飞漫公司和魏永明先生对开源项目在中国的运作模式的有意义的探索, 也为自己在感慨、敬佩之余尽一点微波之力,就将借工作之便并参考众多网友的体会,将一点移植心得整理出来,希望公司不介意。考虑到每个人接触linux的起点不同,所以下文档按步就班说得比较详细(说得不好听点是罗嗦,^_^,如果您熟悉相关部分,请略过,希望不要当面说俺写的罗嗦,呵). 二、特别声明: 本文的移植过程主要以minigui1.2.3为基础。 本文中提到的注意可能是您容易忽视,而又要引起您注意的地方或者由于理解上的差异而容易造成交叉编译失败的地方。 本文中需要修改的地方以红色字体标注,而添加或者修改的地方以蓝色标注,需要您执行命令的地方以粉红标注(html格式颜色不显,我又懒蛋得写HTML标签,建议您下载附件中的PDF文档)。 另外,本文中提到的脚本编写和修改都请在linux环境下手工编写,不要在windows下或者直接从下面拷贝,免得出现错误。 三、硬件平台: CSB226-PXA250,Cogent ep7312,此文档以CSB226-PXA250参考开发板的移植过程为主来说明. LCD屏幕特性:640x480,支持8bpp. 支持标准PC键盘、鼠标 四、软件环境: 主机:Redhat7.2 目标板:采用umon作为boot loader, 开发环境和运行的内核是Montavista Profession Edition 2.1. 目标板(以下称为target)采用NFS的方式将根文件系统挂接到开发主机(以下称为host)上,其路径为:/opt/hardhat/devkit/arm/xscale_le/target,目标板上以控制台下的framebuffer 方式运行。 host和target都以root身份登陆。 将minigui库文件原代码libminigui1.2.3.tar.gz,资源文件minigui-fonts.1.2.0.tar.gz, minigui-imetabs-1.1.0.tar.gz, minigui-res-1.2.0.tar.gz放在主机任意目录下,而考虑到演示程序编译后没有相应的安装脚本,将源代码包mde-1.2.3..tar.gz放在了 /opt/hardhat/devkit/arm/xscale_le/target/root下面。首先用类似tar zxf liminigui1.2.3.tar.gz命令将所有的压缩包解开。 五、libminigui1.2.3及资源文件的移植: 1、libminigui1.2.3文件的移植: 它移植主要定义交叉编译器已经编译后的目标库和头文件的存放路径,参考给出的交叉编译例子编写了交叉编译脚本build-pxa250 #!/bin/sh

控制工程基础课程内容总结

控制工程基础课程内容总结 一.控制、控制系统的一般概念 1.反馈(闭环)控制原理 概念:基于负反馈基础上的检测偏差用以纠正偏差的控制原理(P4) 控制系统的工作原理:(P4) a.通过测量元件检测输出信号的实际值 b.将实际值与输入信号进行比较得出偏差信号。 c.利用偏差信号产生的控制调节作用去消除偏差。 控制系统的基本组成和术语 控制目标、控制系统、控制结果三部分组成;(P2) 信号、反馈、控制是控制工程的三个要素。(P5) 反馈是把取出输出信号送回到输入端,并与出入信号进行比较产生偏差信号的过程。(P4) 负反馈:反馈的信号是与输入信号相减,时产生的偏差越来越小。 正反馈:反之即得 控制过程的物理本质:任何控制系统的控制过程都是一种信息处理使能量(或物质、或信息)按预定的规律转移、传递的过程。(P6) 2.基本控制策略:开环控制、闭环控制、复合控制(P6—P7) 如果系统只是根据输入信号和干扰信号进行控制,而输入端和输出端之间不存在反馈回路,输出信号在整个控制过程中对系统的控制不产生任何影响,这样的控制方式称为开环控制。(数控机床的进给运动) 如果系统的输入端和输出端之间存在反馈回路,输出量对控制过程产生直接影响,这种系统称为闭环控制系统。 同时采用闭环控制和开环控制的控制方式称为复合控制。 3.线性系统的重要性质:叠加原理(P10) 控制系统的基本要求:稳定,快速,精确,健壮。(P11) 4.瞬态响应和稳态响应;零输入响应、零状态响应(P70) 二.系统数学模型及其建模 何谓数学建模?(P15)何谓负载效应?(P21)何谓线性化?(P19)如何线性化?(P19—P20) (一).传递函数 1.传递函数的概念(P35)与性质(P36)零点、极点、特征多项式和特征方程(P36) 2.典型环节的传递函数(P38—P46) 3.控制系统的传递函数 开环传递函数(P56),开环增益(P57),系统型号(P96) 主令输入、扰动输入下的闭环传递函数(P57) 主令输入、扰动输入下的偏差、误差传递函数(P57—P58)

linux下minigui移植与软键盘

课程设计成果说明书 题目:Linux下基于minigui的软键盘程序调试 学生姓名:苏腾云/王润志/蒋强/游寺豪/沈龙/陈阳狮学号:0800403220/0800403222/081311128 081311101/081311136/0800403109 学院:机电工程学院 班级:AC08电信 指导教师:赵秋亮老师 浙江海洋学院教务处 2011年07月01日

浙江海洋学院课程设计成绩评定表 2009 —2010学年第2 学期 学院机电工程班级 AC08电信专业电子信息工程 学生姓名(学号) 苏腾云/王润志 游世豪/蒋强 沈龙/陈阳狮 课程设计 名称嵌入式系统课程设计 题目MiniGUI移植 指导教师评语 指导教师签名: 年月日 答辩评语及成绩 答辩小组教师签名: 年月日

附2: 浙江海洋学院课程设计任务书 2010 —2011学年第2 学期 学院机电工程班级 AC08电信专业电子信息工程 学生姓名(学号) 苏腾云/王润志 游世豪/蒋强 沈龙/陈阳狮 课程 名称 嵌入式系统课程设计 设计 题目 Linux下基于minigui的软键盘程序调试 完成 期限 自 2011 年 6 月 20 日至 2011 年 7 月 1 日共 2 周 设计依据本次设计所需知识 1.S3C2410的基本知识 2.Linux系统常用命令 3.linux编辑器VI的使用方法 4.MiniGUI的基本知识 5.MiniGUI的移植方法 设计要求及主要内容1.熟悉linux系统的常用操作命令 2.熟悉VI(或GVIM)的操作方法 3.完成虚拟机VM的安装 4.完成虚拟机VM下的Linux(RedHat9.0)的安装 5.完成交叉编译环境的建立 6.完成PC机环境下minigui的安装与配置,QVFB的安装 7.完成minniGUI在S3C2410A上的移植 8.利用示例程序包中程序验证移植结果,结果能在LCD与QVFB上正常显示 9.调试基于minigui的软键盘程序,并能在QVFB和LCD上显示。10.录制设计结果演示和解说视频 11.完成课程设计说明书的撰写。撰写格式要求按照《机电工程学院毕业设计文本规范》。 参考资料[1]. ARM9嵌入式系统设计――基于S3C2410与Linux.徐英德等.北京航空航天大学出版社.2007年. [2]. 嵌入式系统实验指导书.自编. [3]. 实验指导书-EL-ARM-830型教学实验系统(ARM9).北京精仪达盛科技有限公司. [4]. Minigui实验指导书(for S3C2410).北京精仪达盛科技有限公司. [5]. Minigui编程指南.飞漫公司. [6]. FTP资源:172.16.51.6 用户名:dx 密码:1234. 在/ARM目录下。 指导教 师签字 日期

MiniGUI及其移植与应用

MiniGUI及其移植与应用 权宁一 (东北电力大学信息工程学院吉林吉林132012) 【摘要】:本文介绍了MiniGUI系统在嵌入式开发中的移植与应用。对MiniGUI图形软件的特点、体系结构、工作模式做了叙述,描述了MiniGUI在uc_osⅡ环境中的移植方法,MiniGUI应用软件的开发思想和流程,并对其应用领域做了介绍。 【关键词】:MiniGUI,移植,控件,消息循环 1、MiniGUI概述 随着嵌入式系统在工业控制、信息家电、智能手持终端、办公自动化等领域中的广泛应用,人们对产品的图形用户接口(GUI)的需求越来越强烈。图形美观、界面友好的GUI已广泛应用在3G手机、PDA、智能传感器、工控终端等嵌入式设备上,其中比较成熟的GUI产品有:MiniGUI、MicroWindows、OpenGUI、TinyXWindow、QT/Embedded。 MiniGUI最初是清华大学为数控机床研发计算机控制系统时根据需要独立开发的图形用户接口,它具有代码小巧、实时性好、高效稳定、易于裁减的特点,非常适合应用于嵌入式实时控制系统。MiniGUI可以运行在任何一种具有线程支持的POSIX兼容系统上,同时也是国内出现的最早的遵循LGPL条约的自由软件之一。MiniGUI有三种运行模式:⑴MiniGUI-Threads:运行在MiniGUI-Threads的程序可在不同的线程中建立多个窗口,但所有的窗口在一个进程中运行,可以配合的操作系统有ucosii、vxworks、linux。⑵MiniGUI-lite:每个程序是单独的进程,每个进程可建立多个窗口,只有具备完整unix特性的操作系统才可运行这一模式。⑶MiniGUI-standalone,可以以独立进程方式运行而不需要其它任何支持,这种方式几乎可以支持所有操作系统。MiniGUI具有以下特点:⑴小巧可订制,包含全部功能的库文件只有300k。⑵高稳定性,可移植性好。⑶界面皮肤支持,用户可通过皮肤支持获得华丽外观界面。⑷提供了完备的多窗口机制及消息传递机制。⑸丰富的控件资源,包括菜单、进度条、列表框、按钮、工具栏等。(6)多种键盘布局支持,多字符集及多字体支持,常见的图像文件支持。⑺多种汉字输入法支持,windows资源文件支持。 2、MiniGUI的结构特点与移植方式 2.1MiniGUI的体系结构 图1MiniGUI结构体系 MiniGUI采用了分层结构设计思想,共分为GAL、IAL、Pthread层,MiniGUI核心层,用户接口层三层结构。GAL为图形抽象层,提供了底层操作系统的图形接口,配置MiniGUI选用GAL引擎,就可使用framebuffer作为MiniGUI图形发生引擎;IAL为输入抽象层,它提供了输入设备如键盘鼠标等的驱动,可将输入设备的输入事件最终映射为GUI系统API层的消息事件。有了GAL、IAL可以把底层硬件及操作系统进行完全屏蔽,方便MiniGUI的移植。同时,用户可在XWindow系统中调试运行自己的产品,通过重新编译就可使软件运行在特定的硬件平台上。Pthread(POSIXthread)是提供内核级线程支持的c库函数。MiniGUI核心层为中间层,包含了窗口系统所需要的各个功能模块,详见图1。用户接口层API对于不同的平台是一致统一的,底层系统已被完全屏蔽,用户不必考虑输入设备及绘图细节,只需使用标准C语言进行类似win32库函数调用即可。2.2MiniGUI工作模式 MiniGUI采用微客户/服务器机制,通过消息队列和多线程之间的同步机制来实现。在多线程环境中各线程之间有信息交互的需要,依据"先来先服务"的原则,依次处理每个线程的请求。一个线程首先在desktop微服务器的消息队列中放置一条消息,要求建立窗口,然后进入等待状态。当desktop处于空闲状态时可以立即处理这一请求。最后,desktop返回处理结果,唤醒等待的线程。 MiniGUI启动3个重要的微服务器,它们分别为desktop、parser、timer。其中desktop用于管理MiniGUI窗口中的所有主窗口;parser线程用于采集键盘鼠标事件并转换成API层消息;timer线程用来触发定时器事件。 2.3MiniGUI的移植 嵌入式系统的结构框架从底层到上层依次为:硬件平台、嵌入式操作系统、MiniGUI、用户程序,其中uclinux与uc/OS-II为常用的操作系统,下面以uc/OS-II为例介绍MiniGUI的移植。uc/OS-II具有实时性强、代码简单的特点,在教学及工业实时控制领域得到了广泛应用。MiniGUIforuc/OS-II的配置及编译可在windows环境中的ADS开发平台中进行,编译完成之后生成一个静态库MiniGUI_lib,最终生成包括uc/OS-II、MiniGUI、应用程序在内的可执行映像文件,将映像文件固化写入硬件平台即完成MiniGUI的移植。在编译之前需要进行以下工作:设置MiniGUI配置头文件、确定头文件路径、选定编译规则。MiniGUI配置头文件中参数_AUTO_IAL是模拟键盘鼠标选项;_COM-MM_IAL是uc/OS-II通用输入引擎;_GB_SUPPORT是字符集支持;_USE_OWN_MALLOC为内存管理函数支持;_USE_OWN_STDIO为函数支持。编译规则设置中_MiniGU-I_LIB_声明编译MiniGUI_LIB库;_uc/OS-II_声明目标操作系统;-EC允许隐性类型转换;_NOLINUX_表示非linux系统。3、基于MiniGUI的软件设计开发思想 3.1MiniGUI开发流程 uc/OS-II初始化后创建任务main_task,在该任务中创建POSIX协议线程main_thread,main_thread中调用函数mg_main_task,进入MiniGUI入口MiniGUI_entry,进而调用应用程序入口函数MiniGUIMain,执行用户软件及窗口过程函数。MiniGUI应用程序必须包括的头文件有:common.h--定义了宏及数据类型;minigui.h--定义了接口函数及杂项函数;window.h--定义了窗口的宏及数据类型;control.h--定义了系统内部控件。 MiniGUIMain()是程序的入口点函数,一般用户程序先创建一个主窗口或非模式对话框,在主窗口内建立若干控件,然后建立消息队列,进入窗口消息循环,响应各类消息。通过调用Cre-ateMainWindow()函数创建主窗口,函数返回窗口句柄。函数调用时需给MAINWINCREATE结构体指针赋值,确定主窗口的各项属性值。调用ShowWindow()函数将主窗口进行显(下转第71页 )

MiniGUI3.0+tslib1.4移植过程

硬件平台:ASM9260开发板 Linux内核:linux-2.6 作者:孙怀亚 qq:413983254 交叉编译器:arm-none-linux-gnueabi-gcc MiniGUI交叉编译过程--------------------------------------------------------- 在开始之前,先准备好交叉编译过程中所需要的几个库文件: 1.jpegsrc.v6b.tar.gz 2.libpng-1.2.18.tar.bz2 3.tslib-1. 4.tar.gz 4.libminigui-gpl-3.0.12.tar.gz 5.minigui-res-be-3.0.12.tar.gz 6.zlib-1.2.3.tar.gz 7.freetype-1.3.1.tar.Gz 8.mg-samples-3.0.12.tar.gz 如果下面配置或命令有错,一般是由于拷贝制作word文档时,软件自动首字母变成大写或自动加空格的原因,切记要改回来!!!!! 第一步:首先建立新目录 [root@localhost /]# mkdir -p /root/cross 将开头所述的文件全部拷贝至 /root/cross目录下 第二步:安装 zlib 库,这个是后面的库的编译基础。 [root@localhost cross]# tar zxvf zlib-1.2.3.tar.gz 由于 zlib 库的configure 脚本不支持交叉编译选项,只好自己手动临时把 gcc 修改成指向我们的交叉编译器arm-none-linux-gnueabi-gcc [root@localhost cross]# cd /usr/bin/ [root@localhost bin]# mv gcc gcc_back [root@localhost bin]# ln -s /usr/local/arm/arm-2008q3-linux/bin/arm-none-linux-gnueabi-gcc ./gcc [root@localhost bin]# mv ld ld_back [root@localhost bin]# ln -s /usr/local/arm/arm-2008q3-linux/bin/arm-none-linux-gnueabi-ld ./ld 修改完成后回到 /root/cross/zlib-1.2.3 目录下: [root@localhost bin]# cd /root/cross/zlib-1.2.3 [root@localhost zlib-1.2.3]# ./configure --prefix= /usr/local/arm/arm-2008q3-linux/arm-none-linux-gnueabi --shared

热工基础课程总结

热工基础读书报告 摘要:能源是提供能量的源泉,是人类社会生存和发展的源泉。热工的基础课程的目的是认识和掌握能源开发和利用的基本规律,为合理的开发和利用能源奠定理论基础。本文就热工基础这门课程的学习进行了以下三方面的总结。第一:说明这门课程的研究目的和研究方法;第二:简单总结各章节的主要内容和知识框架体系;第三:从个人角度论述一下学习这门课程的心得体会及意见。 关键词:能量热工学研究方法心得体会

正文 自然界蕴藏着丰富的能源,大部分能源是以热能的形式或者转换为热能的形式予以利用。因此,人们从自然界获得的的能源主要是热能。为了更好地直接利用热能,必须研究热量的传递规律。 1 热工基础的研究目的和研究方法 1.1 研究目的 热的利用方式主要有直接利用和间接利用两种。前者如利用热能加热、蒸煮、冶炼、供暖等直接用热量为人们服务。后者如通过个证热机把热能转化为机械能或者其他形式的能量供生产和生活使用。 能量的转换和传递是能量利用中的核心问题,而热工基础正是基于实际应用而用来研究能量传递和转换的科学。 传热学就是研究热量传递过程规律的学科,为了更好地间接利用热能,必须研究热能和其他能量形式间相互转换的规律。工程热力学就是研究热能与机械能间相互转换的规律及方法的学科。由工程热力学和传热学共同构成的热工学理论基础就是主要研究热能在工程上有效利用的规律和方法的学科。 作为一门基于实际应用而产生的学科,其最终还是要回归到实际的应用中,这样一来,就要加强对典型的热工设备的学习和掌握。 1.2研究方法 热力学的研究方法有两种:宏观研究方法和微观研究方法。宏观研究方法是以热力学第一定律和热力学第二定律等基本定律为基础,针对具体问题采用抽象、概括、理想化简化处理的方法,抽出共性,

MiniGUI arm移植

2.MiniGUI在嵌入式ARM系统中的移植 MiniGUI在嵌入式ARM系统中的移植方法和本书6.1节中介绍的在上位Linux机器上的移植方法基本相同。 (1)确保系统硬件平台的底层FrameBuffer驱动已经安装好。 (2)在编译嵌入式Linux的内核时,必须要把FrameBuffer的支持加入: 在该选项下面的参数中进行选择,如在Linux Kernel v2.4.21-rmk1-omap1的内核配置中: (3)安装资源文件的方法。 (4)编译库文件的方法。 编译库文件的方法和在主机Linux上的编译有所不同,这里可以写一个shell来做。一个在arm-linux-gcc(2.95.3)编译器上配置的例子如例程6-1所示。 例程6 1 Buildlib-omap例子

--prefix=/usr/src/arm-linux/minigui/minigui-arm \ --build=i686-linux \ --host=arm-linux \ --target=arm-inux \ --disable-shared \ --disable-lite \ --disable-standalone \ --with-style=phone \ --enable-incoreres \ --enable-rbfgb12 \ --enable-rbf16 \ --enable-fonthelv \ --enable-newgal \ --enable-videofbcon \ --disable-videoqvfb \ --disable-qvfbial \ --disable-videodummy \ --disable-videocommlcd \ --disable-nativegal \ --disable-nativegalqvfb \ --disable-micemoveable \ --enable-cursor \ --disable-fblin1l \ --disable-fblin16 \ --disable-fblin32 \ --disable-textmode \ --disable-palm2ial \ --disable-dummyial \ --disable-nativeial \ --enable-hh2440ial \ --disable-qpfsupport \ --disable-ttfsupport \ --disable-type1support \ --disable-latin9support \ --enable-gbsupport \ --disable-gbksupport \ --disable-big5support \ --disable-unicodesupport \ --disable-savebitmap \ --enable-imegb2312 \ --enable-imegb2312py \ --disable-aboutdlg \ --disable-savescreen \

热工基础课程总结

热工基础读书报告 摘要:能源就是提供能量得源泉,就是人类社会生存与发展得源泉。热工得基础课程得目得就是认识与掌握能源开发与利用得基本规律,为合理得开发与利用能源奠定理论基础。本文就热工基础这门课程得学习进行了以下三方面得总结。第一:说明这门课程得研究目得与研究方法;第二:简单总结各章节得主要内容与知识框架体系;第三:从个人角度论述一下学习这门课程得心得体会及意见。 关键词:能量热工学研究方法心得体会 正文 自然界蕴藏着丰富得能源,大部分能源就是以热能得形式或者转换为热能得形式予以利用。因此,人们从自然界获得得得能源主要就是热能。为了更好地直接利用热能,必须研究热量得传递规律。 1 热工基础得研究目得与研究方法 1、1 研究目得 热得利用方式主要有直接利用与间接利用两种。前者如利用热能加热、蒸煮、冶炼、供暖等直接用热量为人们服务。后者如通过个证热机把热能转化为机械能或者其她形式得能量供生产与生活使用。 能量得转换与传递就是能量利用中得核心问题,而热工基础正就是基于实际应用而用来研究能量传递与转换得科学。 传热学就就是研究热量传递过程规律得学科,为了更好地间接利用热能,必须研究热能与其她能量形式间相互转换得规律。工程热力学就就是研究热能与机械能间相互转换得规律及方法得学科。由工程热力学与传热学共同构成得热工学理论基础就就是主要研究热能在工程上有效利用得规律与方法得学科。 作为一门基于实际应用而产生得学科,其最终还就是要回归到实际得应用中,这样一来,就要加强对典型得热工设备得学习与掌握。 1、2研究方法 热力学得研究方法有两种:宏观研究方法与微观研究方法。宏观研究方法就是以热力学第一定律与热力学第二定律等基本定律为基础,针对具体问题采用抽象、概括、理想化简化处理得方法,抽出共性,突出本质。建立合适得物理模型通过推理得出可靠与普遍适用得公式,解决热力过程中得实际问题。微观研究方法就是从物质得微观基础上,应用统计学方法,将宏观物理量解释为微观量得统计平均值,从而解释热现象得本质。 传热学得研究方法主要有理论分析,数值模拟与实验研究。理论分析就是依据基本定律对热传递现象进行分析,建立合适得物理模型

minigui在uclinux上的移植心得

M i n i g u i在u C l i n u x上的 移植心得 -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

Minigui在uClinux 上的移植心得 1、下载minigui源码 1.3.3 1.3.3 这两个包的下载需要你在上注册过才可以下载,免费注册的,自己去下吧 1.3.0 图形界面程序 1.3.0 一些小例子 2、把源码文件复制到/home/liu/minigui目录下,解开源码 3、[root@localhost minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.0 minigui]#tar zxvf 1.3.0环境的搭建 首先你需要一个 Linux 环境,我安装的是 RedHat 安装时记着选everything,这样可以避免到时候编译少了东西。这里搭建的环境是让 MiniGUI 在你的 PC 上可以跑起来,这样以后你开发程序就可以只在 PC 上开发,调试好,最后交叉编译一下放到板子上就行了。 把 1.3.3 解开 [user]# tar zxf [user]# tar zxf 编译 libminigui ,这个是 minigui 运行所必需的库文件,必须编译成功[user]# cd libminigui-1.3.3 [user]# ./configure . yes checking for pthread library... yes checking for TT_FreeType_Version in -lttf... yes checking for T1_InitLib in -lt1... no checking for jpeg_std_error in -ljpeg... yes checking for png_check_sig in -lpng... yes

Minigui在uClinux 上的移植心得

Minigui在uClinux 上的移植心得 1、下载minigui源码 1.3.3 1.3.3 这两个包的下载需要你在上注册过才可以下载,免费注册的,自己去下吧 1.3.0 图形界面程序 1.3.0 一些小例子 把源码文件复制到/home/liu/minigui目录下,解开源码 [root@localhost minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.0 minigui]#tar zxvf 1.3.0环境的搭建 首先你需要一个Linux 环境,我安装的是RedHat 安装时记着选everything,这样可以避免到时候编译少了东西。这里搭建的环境是让MiniGUI 在你的PC 上可以跑起来,这样以后你开发程序就可以只在PC 上开发,调试好,最后交叉编译一下放到板子上就行了。 把 1.3.3 解开 [user]# tar zxf [user]# tar zxf 编译libminigui ,这个是minigui 运行所必需的库文件,必须编译成功[user]# cd libminigui-1.3.3 [user]# ./configure . yes checking for pthread library... yes checking for TT_FreeType_Version in -lttf... yes checking for T1_InitLib in -lt1... no checking for jpeg_std_error in -ljpeg... yes checking for png_check_sig in -lpng... yes 其中–lttf –lpng 必须是yes ,不然后面你的程序肯定会有问题,如果这里不是yes 的话,肯定是你的Redhat 9 安装不对,告诉过你安装时选everything ,你选了吗 其中ttf 库是对TrueType 字体的支持,png 库是对png 图形的支持,MiniGui 里都需要这两个,在后面为板子交叉编译的时候也需要这两个,不然你的程序跑不起来,切记切记。 好了,现在通过了,下面是编译了 [user]# make 接来来就是漫长的等待了,让它慢慢的编译吧 注:在make时,可能会出现如下错误:: /usr/include/asm/:6:2: warning: #warning using private kernel header; include <> instead! :265:47: missing terminating " character

MiniGUI_for_uCOS实验

第1章 MiniGUI图形界面实验 1.1 MiniGUI for uC/OS-II移植实验 1.实验目的 (1) 了解MiniGUI的基本特点和MiniGUI源文件目录结构。 (2) 掌握MiniGUI for uC/OS-II移植的基本方法和应用配置。 2.实验设备 硬件:PC机一台 MagicARM2200教学实验开发平台一套 软件:Windows98/XP/2000系统,ADS 1.2集成开发环境 μC/OS-II操作系统(V2.52) MiniGUI-STR(for uC/OS-II)软件 3.实验内容 学习移植MiniGUI-STR(for uC/OS-II)软件到MagicARM2200的基本方法,然后编写一个简单的MiniGUI应用程序,使用MessageBox函数创建一个消息框,消息框中显示字符串“Hello MiniGUI!”。 4.实验预习要求 (1) 仔细阅读<>第1章的内容,了解MagicARM2200实验箱的硬件结构,注意彩色液晶屏驱动电路和键盘电路。 (2) 阅读MiniGUI的文档<>和<>,了解MiniGUI的基本特点和应用配置选项,以及应用程序的编写。 5.实验原理 (1) MiniGUI简介 MiniGUI项目的最初目标是为基于Linux的实时嵌入式操作系统提供一个轻量级的图形用户界面支持系统,发展到今天,MiniGUI已进入成熟和稳定阶段,并且所支持的操作系统已不仅仅限于Linux,它还可以在uClinux、uC/OS-II、eCos、VxWorks等系统上运行。 MiniGUI为应用程序定义了一组轻量级的窗口和图形设备接口,利用这些接口,每个应用程序可以建立多个主窗口,然后在这些主窗口中创建按钮、编辑框等控制。MiniGUI还为用户提供了丰富的图形功能,以显示各种格式的位图并在窗口中绘制复杂图形。 MiniGUI和嵌入式操作系统的关系如图1.1所示,基于 MiniGUI 的应用程序一般通过ANSI C 库以及 MiniGUI 自身提供的 API 来实现自己的功能。

网络数据包传输过程总结

网络数据包传输过程总结 一、数据包是如何在网络中传输的 我们电脑上的数据,是如何“走”到远端的另一台电脑的呢?这是个最基础的问题,可能很多人回答不上来,尽管我们每天都在使用网络。这里我们以一个最简单的“ping”命令,来解释一个数据包“旅程”。 假设:我的电脑A,向远在外地的朋友电脑B传输数据,最简单的就是“ping”一下,看看这个家伙的那一端网络通不通。A与B之间只有一台路由器。(路由器可能放在学校,社区或者电信机房,无所谓,基本原理是一样的) 具体过程如下------ 1.“ping”命令所产生的数据包,我们归类为ICMP协议。说白了就是向目的地发送一个数据包,然后等待回应,如果回应正常则目的地的网络就是通的。当我们输入了“ping”命令之后,我们的机器(电脑A)就生成了一个包含ICMP协议域的数据包,姑且称之为“小德”吧~~~~

2.“小德”已经将ICMP协议打包到数据段里了,可是还不能发送,因为一个数据要想向外面传送,还得经过“有关部门”的批准------IP协议。IP要将你的“写信人地址”和“收信人 地址”写到数据段上面,即:将数据的源IP地址和目的IP地址分别打包在“小德”的头部和尾部,这样一来,大家才知道 你的数据是要送到哪里。 3.准备工作还没有完。接下来还有部门要审核------ARP。ARP属于数据链路层协议,主要负责把IP地址对应到硬件 地址。直接说吧,都怪交换机太“傻”,不能根据IP地址直接找到相应的计算机,只能根据硬件地址来找。于是,交换机就经常保留一张IP地址与硬件地址的对应表以便其查找目 的地。而ARP就是用来生成这张表的。比如:当“小德”被送到ARP手里之后,ARP就要在表里面查找,看看“小德”的 IP地址与交换机的哪个端口对应,然后转发过去。如果没找到,则发一个广播给所有其他的交换机端口,问这是谁的IP 地址,如果有人回答,就转发给它。 4.经过一番折腾,“小德”终于要走出这个倒霉的局域网了。可在此之前,它们还没忘给“小德”屁股后面盖个“戳”,说是什么CRC校验值,怕“小德”在旅行途中缺胳膊少腿,还得麻烦它们重新发送。。。。。我靠~~~~注:很多人弄不清FCS

arm-linux学习笔记之minigui移植

arm-linux学习笔记之minigui移植 https://www.sodocs.net/doc/df8456795.html,/u3/90065/showart_1793732.html minigui-1.6.10在s3c2410平台的移植 开发板:SBC2410 CPU:S3C2410 linux-2.6.25.5 fs:jffs2 LCD:TFT320 X 240 PC:fc8 linux-2.6.25.5 (一)准备工作 下载软件包 libminigui-1.6.10.tar.gz mg-samples-1.6.10.tar.gz minigui-res-1.6.10.tar.gz mg-samples-str-1.6.2.tar.gz 在/home/arm/创建一个minigui的目录,然后把这些载在的软件包放在该目录下,在分别解压缩。再在/home/arm/minigui下创建一个miniguitmp的目录,用于安装编译以后的库文件。 (二)编译libminigui 首先修改configure文件,在文件的开头加入交叉编译的路径 CC=arm-9tdmi-linux-gnu-gcc CPP=arm-9tdmi-linux-gnu-cpp LD=arm-9tdmi-linux-gnu-ld AR=arm-9tdmi-linux-gnu-ar RANLIB=arm-9tdmi-linux-gnu-ranlib STRIP=arm-9tdmi-linux-gnu-strip 然后执行 [root@localhost libminigui-1.6.10]# ./configure --prefix=/home/arm/minigui/miniguitmp/ \ --build=x86_64-linux \ --host=arm-unknown-linux \ --target=arm-unknown-linux [root@localhost libminigui-1.6.10]# make [root@localhost libminigui-1.6.10]# make install 这个过程基本上不会有什么错误的 执行make install的时候会把编译以后的资源安装到/home/arm/minigui/miniguitmp中,在这之下会有etc include lib usr 几个目录产生。 ¥#%#¥%说明:由于这是之后作的记录所以这一步产生的目录是include lib usr这三个还是四个忘记了,网上一堆说明 然后进入/home/arm/minigui/miniguitmp/lib,执行 [root@localhost lib]# ldconfig libminigui的交叉编译工作就算完成了。

传质总结

第一章传质过程基础 本章重点掌握的内容 (1)质量传递概论与传质微分方程。 (2)气体中的稳态扩散 (3)对流传质的基本概念 (4)相际间的对流传质模型———停滞膜模型 (5)对流传质系数和对流传质速率方程 本章应掌握的内容 (1)液体中的稳态扩散 (2)动量、热量与质量传递过程的类似律 (3)气体扩散系数和液体扩散系数的测定方法 (4)对流传质问题的分析求解方法 本章一般了解的内容 (1)固体中的稳态扩散 (2)气体扩散系数和液体扩散系数的计算公式 (3)对流传质系数的经验公式 本章学习应注意的问题 (1)传质速度和传质通量的概念较抽象,学习中应注意把握它们之间的联系。 (2)分子传质与导热、对流传质与对流传热具有类似性,在学习中应注意把握它们之间的类似性,以便于理解和记忆。 (3)学习分子传质、对流传质问题的求解时,不要机械地记忆各过程的求解结果,应注意把握求解的思路和应用背景。 第二章气体吸收 本章重点掌握的内容 (1)气体吸收过程的平衡关系 (2)气体吸收过程的速率关系 (3)低浓度气体吸收过程的计算 本章应掌握的内容 (1)费克定律和分子传质问题的求解方法 (2)双膜模型 本章一般了解的内容 (1)溶质渗透模型和表面更新模型 (2)吸收系数

本章学习应注意的问题 (1)表示吸收过程的平衡关系为亨利定律,亨利定律有不同的表达形式,学习中应注意把握它们之间的联系。 (2)表示吸收过程的速率关系为吸收速率方程,吸收速率方程有不同的表达形式,学习中应注意把握它们之间的联系。 (3)学习分子传质,不要机械地记忆各过程的求解结果,应注意把握求解的思路和应用背景。 (4)学习中应注意把握传质机理和吸收过程机理之间的联系,注意体会讲述传质机理和吸收过程机理的目的和意义。 第三章蒸馏 本章重点掌握的内容 (1)两组分理想物系的汽液平衡关系 (2)蒸馏过程的原理 (3)两组分连续精馏过程的计算(物料衡算与进料热状况的影响、理论板层数的计算与回流比的影响、塔板效率) 本章应掌握的内容 (1)平衡蒸馏与简单蒸馏 (2)两组分连续精馏过程的计算(简捷法求理论板层数、几种特殊情况理论板层数的计算、塔高和塔径的计算及连续精馏装置的热量衡算) (3)间歇精馏 本章一般了解的内容 (1)两组分非理想物系的汽液平衡关系 (2)特殊精馏 本章学习应注意的问题 (1)汽液平衡关系是精馏过程计算的基础,要理解平衡常数、相对挥发度等基本概念,熟练地运用汽液平衡关系进行有关计算。 (2)两组分连续精馏过程计算的主要内容是物料衡算、理论板层数的计算及塔高和塔径的计算,涉及到进料热状况、最小回流比和回流比、塔板效率等诸多概念,要理解上述概念,熟练地掌握各计算公式之间的联系。 (3)两组分连续精馏过程计算所涉及的公式较多,学习时不要机械地记忆,应注意掌握其推导 过程。 (4)塔板效率计算通常需联立操作线方程、汽液平衡方程及塔板效率定义式,应注意给出有关组成可计算塔板效率;给出塔板效率亦可计算有关组成。计算时应注意所求塔板的位置和类型(是理论板还是实际板)。

MiniGUI3.0在mini6410上的移植

MiniGUI3.0在mini6410上的移植 简介 MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于1998 年底开始开发。2002 年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。最后一个采用GPL 授权的MiniGUI 版本是 1.6.10,从MiniGUI 2.0.4 开始MiniGUI 被重写并使用商业授权,从3.0.12开始,部分版本使用GPL授权。历经十余年时间,MiniGUI 已经成为性能优良、功能丰富的跨操作系统嵌入式图形用户界面支持系统,支持Linux/uClinux、eCos、uC/OS-II、VxWorks、ThreadX、Nucleus 、pSOS、OSE 等操作系统和数十种SoC芯片,已验证的硬件平台包括ARM-based SoCs、MIPS based SoCs、IA-based SoCs、PowerPC、M68K(DragonBall /ColdFire)、Intel x86 等等。 准备工作 交叉编译器 友善提供,具体安装参考mini6410的使用手册; 源码的下载 从miniGUI官网上下载,需要有新浪账号或者twitter账号。下面是我下载的版本。 [root@localhost minigui]# ls -l *.tar.gz -rwxrw-rw-. 1 root root 1427072 Jan 16 17:30 freetype-1_3_1.tar.gz -rw-rw-r--. 1 root root 63582 Jan 16 17:31 gvfb-1_0_0.tar.gz -rw-rw-r--. 1 root root 602762 Jan 16 17:32 qvfb2-2_0.tar.gz -rwxrw-rw-. 1 root root 557220 Feb 11 00:56 zlib-1.2.6.tar.gz -rwxrw-rw-. 1 root root 1059513 Feb 11 00:55 libpng-1.5.8.tar.gz -rwxrw-rw-. 1 root root 986681 Feb 10 23:42 jpegsrc.v8c.tar.gz -rw-rw-r--. 1 root root 340656 Jan 16 17:33 libmg3d-1_0_2.tar.gz -rw-rw-r--. 1 root root 1545209 Jan 16 17:34 libmgi-2_0_4.tar.gz -rw-rw-r--. 1 root root 1116885 Jan 16 17:33 libmgp-1_2_2.tar.gz -rw-rw-r--. 1 root root 648207 Jan 16 17:34 libmgplus-1_2_4.tar.gz -rw-rw-r--. 1 root root 659702 Jan 16 17:33 libmgutils-1_0_4.tar.gz -rw-rw-r--. 1 root root 3202804 Jan 17 00:29 libminigui-gpl-3_0_12.tar.gz -rw-rw-r--. 1 root root 2608473 Jan 16 17:29 mg-samples-3_0_12.tar.gz -rw-rw-r--. 1 root root 3449215 Jan 16 17:29 minigui-res-be-3_0_12.tar.gz 官网上有几个库的版本太低,所以需要自己去网上下载,其中jpegsrc.v8c.tar.gz、libpng-1.5.8.tar.gz和zlib-1.2.6.tar.gz都是从网上找的最近版本(png和zlib这两个soucefoge上都有,前面一个是网上搜的,所以不能保证链接长期有效,但是网上搜一下还是比较容易找到的)。其实我也是在运行例子程序的时候才发现问题的,库更新后就可以正常运行了。 简单介绍一下使用到的几个库。 freetype:FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。 gvfb与qvfb2:这两个主要用于pc上仿真,在嵌入式平台上没用,就不做说明。 zlib:zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5

相关主题