minigui1.33在uclinux移植过程
ucosiii移植原理
ucosiii移植原理
uCOSIII(MicroC/OS-III)是一款开源的实时操作系统(RTOS),适用于各种嵌入式系统和实时应用。
uCOSIII的移植原理主要包括以下几个方面:
1. 硬件抽象层(HAL):首先,需要针对特定硬件平台(如STM32、ARM、AVR等)编写硬件抽象层代码。
硬件抽象层的作用是将硬件平台的特性和接口抽象成统一的、易于操作的接口,以便于上层应用程序和实时操作系统进行调用。
2. 移植uCOSIII内核:将uCOSIII内核代码移植到目标硬件平台,主要包括以下几个步骤:
a. 配置uCOSIII内核:根据目标硬件平台的特性,配置uCOSIII内核的参数,如内存大小、任务数量等。
b. 修改内核代码:根据目标硬件平台的实际情况,修改内核代码,以适应不同硬件平台的需求。
这可能包括:修改内存管理代码、时钟管理代码、中断处理代码等。
c. 编写初始化代码:编写初始化代码,用于在系统启动时初始化
内核及其相关组件。
3. 移植uCOSIII的应用实例:根据项目需求,编写基于uCOSIII的应用实例。
这可能包括:编写驱动程序、编写通信协议、编写应用程序等。
4. 集成测试:将编写好的硬件抽象层、内核及应用实例集成到一起,进行系统测试和调试,确保整个系统的稳定性和可靠性。
5. 优化与调试:根据实际运行情况,对系统进行优化和调试,以提高系统的性能和资源利用率。
总之,uCOSIII的移植原理主要包括硬件抽象层的编写、uCOSIII内核的移植、应用实例的编写、集成测试以及优化与调试。
通过这些步骤,可以将uCOSIII成功移植到不同的硬件平台,并应用于各种实时系统。
基于uClinux系统的MiniGUI的研究与移植
定 时 器等 。
・
的外观非常华丽的图形界面。 通过两种不同的内部软件结构支持低端显
・
示设 备( 如单色 L D 和高端显示设备( C ) 如彩色显 示器) 后者在前 者 的基 础上提供 了强大 的图形 ,
功能 。
・
2 M nG 1 iiU 的特 点和体 系结构
2 1 MiiU 的特 点 . nG I
l s s te sr c ue a d c aa trsiso n G ,a d p e e t a s h me ta r n p a t Mi i UIt a g tp afr fe o f u y e h t t r n h r ce it fMi i UI n r s ns c e h tt s ln s n G o tr e l t m atrc n g — u c a o i
T 9 17 N 1 .3
和特点 , 并在配置和编译好 u l u 后 , Ci x 提出一种将 Mi G 1 n n U 移植到 目标平 台上的方案 。 u 关键词 移植
中图分类号
Re e r h a d P ri g o ii sa c n o t fM nGUIBa e n u iu y tm n sd o Ci x S se n
l 引言
嵌入式系统是当今一个非常重要的发展方向,
嵌入 式 的广 泛应 用 已经 无所不 在 , 手机 、 电话 座机 、
G I 统 : 缩 的 X Widw 系 统 、 nG IMi U 系 紧 no MiiU 、 —
co n o s pn U 及 Q / m e d d 等 ,而 r d w 、O e G I Wi T E bde
( o p t ea m n , egagN r l o ee , egag4 10 ) C m u r pr e tH n n oma C l g H n n 2 08 eD t y l y
UCOS-II ucGUI的完美移植
stm32 UCGUI 完美移植作者:Changing发表时间:09-16 04:13分类:电子相关1 Comment前一篇:stm32 DA 数模转换后一篇:Stm32 SWD 下载 调试配置UCGUI是一种嵌入式应用中的图形支持系统。
它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境, 并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。
它的设计架构是模块化的,由不同的模块中的不同层组成,由一个LCD驱动层来包含所有对LCD的具体图形操作。
UCGUI可以在任何的CPU上运行,因为它是100%的标准C代码编写的。
类似程序还有国产的一个MINIGUI (/zhcn/),MiniGUI 是一个自由软件项目。
其目标是提供一个快速、稳定、跨操作系统的图形用户界面(GUI)支持系统,尤其是基于 Li nux/uClinux、eCos 以及其他传统 RTOS(如 VxWorks、ThreadX、uC/OS-II、Nucleus 等)的实时嵌入式操作系统。
有机会尝试下,支持下国产,毕竟国内这样的公司不多。
这里移植的UCGUI3.90a版本,虽然已经有更新的版本,比如UCGUI3.98、甚至4.04版本。
但是目前来说只有这个版本的代码是最全的,包括了JPEG , MULTILAYER , MEMDEV ,AntiAlias等模块。
一直想尝试做一个数码相册,JEPG模块自然少不了,所以移植了这个版本。
UCGUI390a 下载整个移植过程,让LCD显示图案倒是没花多少时间,资料也比较多,但是在移植触摸屏的时候卡了好几天,然后又是 UCGUI 指针图标 移动有重影(LCD读取像素颜色函数有问题)。
总之移植是个累人的活首先需要保证你的LCD驱动和触摸屏驱动是有效的,如果你的LCD也是ili93xx 控制器 XPT2046控制器的触摸屏可以参考 stm32 驱动 T F T LCD stm32 驱动 触摸屏 两篇文章UCGUI的文件数量很大,主要用到UCGUI390a/Start/Con f ig 和 UCGUI390a/Start/GUI两个文件夹下文件,不过文件数量也已经很多了 。
实验六---MiniGUI在LINUX运行环境的建立
MiniGUI在LINUX运行环境的建立步骤实验目的:掌握MINIGUI在linux运行环境中的安装实验设备:PC机,MINIGUI-1.3.3等安装包,ARM核心板等实验原理:MiniGUI项目的最初目标是为基于Linux的实时嵌入式操作系统提供一个轻量级的图像用户界面支持系统。
作为操作系统和应用程序之间的中间件,MiniGUI将底层操作系统与硬件平台之间的差别隐藏起来,并对上层应用程序提供了一致的功能特性。
MiniGUI的特点:(1)占用资源少:MiniGUI本身占用的空间非常小,整个MiniGUI系统占用空间在2~4MB,在某些系统上,MiniGUI系统本身所占用的空间可进一步缩小到1MB以内。
(2)高性能、高可靠性:MiniGUI良好的体系结构及优化的图形接口,可确保最快的图形绘制速度。
(3)可定制配置:和Linux内核类似,MiniGUI也具有大量的编译配置选项,通过这些选项可指定MiniGUI库中包括哪些用户所需要的功能。
(4)跨操作系统支持:MiniGUI支持Linux/uClinux、eCos、uC/OS-II、V xWorks等嵌入式操作系统。
同时,在不同操作系统上的MiniGUI,提供完全兼容的API接口。
MiniGUI的体系结构:从整体结构上看,MiniGUI采用的是分层设计的,结构如图1所示图1 MiniGUI的分层体系结构MINIGUI的分层结构:在最底层,GAL(图形抽象层)和IAL(输入抽象层)及鼠标和键盘的驱动;中间层是MiniGUI的核心层,包括窗口系统必不可少的各个模块;最顶层是API,即编程接口。
GAL和I AL为MiniGUI提供了底层的Linux控制台或者X-Window上的图形接口以及输入接口,而Pthread用于提供内核级线程支持的C函数库。
利用GAL和IAL,大大提高了MiniGUI的可移植性,并且使程序开发和调试变得更加容易。
MiniGUI在QVFB上的仿真应用:MiniGUI能够在PC机上运行,也能够移植到目标板上运行。
MiniGUIPortGuide4Linux-2.0C
MiniGUI 移植指南版本 2.0适用于 MiniGUI 版本 2.0.3/1.6.9及Linux/uClinux操作系统北京飞漫软件技术有限公司2006 年6 月版权声明《MiniGUI 移植指南》版本 2.0,适用于MiniGUI 版本 2.0.3/1.6.9及Linux/uClinux 操作系统。
版权所有 (C) 2003~2006,北京飞漫软件技术有限公司,保留所有权利。
无论您以何种方式获得该手册的全部或部分文字或图片资料,无论是普通印刷品还是电子文档,北京飞漫软件技术有限公司仅仅授权您阅读的权利,任何形式的格式转换、再次发布、传播以及复制其内容的全部或部分,或将其中的文字和图片未经书面许可而用于商业目的,均被视为侵权行为,并可能导致严重的民事或刑事处罚。
目录版权声明 (i)1 Linux/uClinux简介 (1)2 MiniGUI与Linux/uClinux (2)3在运行 Linux 的 PC 机上安装并运行 MiniGUI (4)3.1 MiniGUI对Linux内核的要求 (4)3.2 Linux下的软件维护和建立工具 (4)3.2.1 make 和 makefile (4)3.2.2 Autoconf/Automake (4)3.2.3 ldd 和 ldconfig (5)3.3 MiniGUI 的图形引擎 (6)3.3.1 MiniGUI 在字符控制台上的运行:配置 FrameBuffer (6)3.3.2 MiniGUI 在 X Window 上的运行:运行 QVFB (8)3.4 MiniGUI 的依赖库 (9)3.4.1 LibTTF 和 LibT1 (9)3.4.2 LibJPEG、LibPNG 等函数库 (9)3.5 编译并安装 MiniGUI (10)3.5.1 编译并安装 MiniGUI (10)3.5.2 安装MiniGUI的资源 (11)3.5.3 编译并安装MiniGUI的演示程序mde (11)3.6 运行MiniGUI示例程序 (11)4在SkyEye的EP7312模拟器上运行MiniGUI (13)4.1 安装交叉编译工具链 (13)4.2 安装SkyEye (13)4.3 配置、编译Linux (14)4.4 SkyEye EP7312模拟器的MiniGUI输入引擎 (14)4.5 交叉编译MiniGUI (15)4.6 交叉编译MiniGUI示例程序 (17)4.7 准备文件系统 (18)4.8 运行MiniGUI示例程序 (20)5在Xcopilot模拟器上运行MiniGUI (22)5.1 安装交叉编译工具链 (22)5.2 安装Xcopilot (22)5.3 配置、编译和运行uClinux (22)5.4 Xcopilot模拟器的MiniGUI输入引擎 (23)5.5 为Xcopilot模拟器交叉编译MiniGUI (27)5.6 交叉编译MiniGUI示例程序 (30)5.7 准备文件系统 (31)5.8 运行MiniGUI示例程序 (32)1 Linux/uClinux简介Linux操作系统核心最早是由芬兰的Linus Torvalds 1991年8月在芬兰赫尔辛基大学上学时发布的,经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势。
第02章 MiniGUI的安装和使用
计算机应用技术系
第2章 MiniGUI的安装和使用
2.1 MiniGUI的组成
2.2 建立MiniGUI的PC运行环境
2.3 第一个MiniGUI程序 2.4 MiniGUI编程基础
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
第2章 MiniGUI的安装和使用
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.1 MiniGUI的组成
资源包
minigui-res-str-1.6.tar.gz。 这是针对MiniGUI-STR 的基本资 源包,其中包含了运行MiniGUISTR 1.6.2 需要的基本字体 (ISO8859-1) 、鼠标光标、图 标和位图等文件,还包括16 点阵 中文简体(GB2312)一款。
1.嵌入式目标系统不具备开发能力
2.Linux嵌入式系统与PC具有相似性
练习MiniGUI程序的编写和调试,熟 悉MiniGUI的配置、编译操作、应用 程序结构和API函数,为在目标产品 上应用MiniGUI打下基础。
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.2 建立MiniGUI的PC运行环境
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.3.2 图形引擎和输入引擎
MiniGUI抽象层的优越性:
图形和输入抽象层的设计,为实现 MiniGUI 跨操作系统、跨硬件平台提供了 非常大的便利。
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
2.3.2 图形引擎和输入引擎
哈尔滨工业大学华德应用技术学院—计算机应用技术系—嵌入式系统方向
ucGUI一般移植标准步骤
μc/GUI一般移植过程移植的版本为3.90a,主要包含的文件夹如下图所示,主要涉及到:1.Config:配置文件2.GUI:源代码3.GUI_X:操作系统接口函数GUI源代码文件:1)AntiAlias:9个C文件,主要用于抗锯齿的显示效果。
2)ConvertColor:彩色显示的色彩转换支持。
3)ConvertMono:(b/w)和灰度显示的色彩转换支持。
4)Core:核心文件,提供了GUI基本的功能。
5)Font:字库。
6)JPEG:图片操作函数。
7)LCDDriver:LCD驱动程序8)MenDev:Memory device支持。
这个东西可用在很多情况下,但最主要的功能是防止在项目重叠时,防止屏幕的闪烁。
9)Widget:窗体控件库。
10)WM:窗口管理库。
注意:JPEG、MenDev、Widget、WM都可以裁减掉,若要支持Widget(窗体控件),需要WM(窗口管理器)的支持;使用控件时,需要将相应的头文件包含进去,比如我们要使用按钮button,那么我们需要先包含button.h头文件,否则控件即使支持也不可用!一、Config文件夹配置文件修改1.LCDConfig.h#define LCD_XSIZE(240)//X-resolution of LCD,Logical coor.#define LCD_YSIZE(320)//Y-resolution of LCD,Logical coor.#define LCD_BITSPERPIXEL(16)//总线宽度#define LCD_FIXEDPALETTE(565)//TFT格式#define LCD_CONTROLLER(9325)//控制器型号(-1即可)#define LCD_SWAP_RB(1)//是否红蓝交换注意:LCD_SWAP_RB会影响到颜色的正确性,倘若发现颜色是反向的,那么不如改变LCD_SWAP_RB的值。
嵌入式Linux下MiniGUI的移植及软件开发
摘
要 :分析 了嵌入式操作系 统 轻量级 图形用户 界面一 Mii u l nG I的结构和特 点 。通过对 嵌入式 l u i x下 n
Mii UI nG 图形系统移植过程和在此基 础上的软件开发过程 的具体描述 ,提 出了嵌入式 町视化软件 系统的理想设计 模 式。此模 式有广泛 的应用前景。
发 的轻 量级 图形 系 统 , 遵 循 G L公约 。 现 P 能跨 多种
作系统都是商业化统,主要运行于 l u i x及一切具有 P SX线 n OI
收稿 日期 :2 0 — 4 1 0 50 -9 作者简介 :于孝辉 (9 8 ) 17 ,男,辽宁营 口人 ,硕士牛 。
ha r a p y n r s e t sb o d a pl i g p o p c .
随着软硬件资源 的成熟与完善 , 人们 己不再满 足于基于单片机的简单嵌入式产品,开始追求内置 可视化软件的能与用户方便交互 的嵌入式产 品。
MiiUI nG 是一个 轻量 级 的 图形 用户 界 面系 统 ,能够 高效 、稳 定地 运行于 嵌 入式 l u i x系统 下 ,能 为用 n 户 提供 可靠 的交互功 能 。
Ke r s E ywo d : mb d e e d dOS: n x M ii Liu ; nGUI
Ab t a t h tu t r n h r c e it so e l h we g t a h c e t r a e— M i i s r c :T esr cu e a d c a a t r i f h g t i h p i s sc t i Gr Us r n e c I f n GUI u d r t e Emb d e r n l z d n e h e d d OS we e a ay e .Th o g x a a n h r c s f t e ta s l n a o f r u h e p t t g t e p o e s o r n p a tt n o ii h i M i GUI a h c e tr a e t mb d e n x OS s se a d t ed v l p n fs fwa e o i n p i sUs r n e c e e d d l u y t m n e e o me t t r n t s Gr I f o i h o o h b s s a p re td sg i g p t r ft e e e d d v s a o t r e s s m sp o o e . h sp t r a i. e f c e i n n at n o mb d e iu ls fwa y t e h e wa r p s d T i at n e
MiniGui安装和移植
MiniGui安装和移植一MiniGui的安装首先从MiniGui官网上下载安装文件。
一共需要下载三个压缩文件:libminigui-1.6.10.tar.gz、minigui-res-1.6.10.tar.gz、mg-samples-1.6.10.tar.gz。
安装步骤如下:一:解压缩安装包。
# tar xzvf libminigui-1.6.10.tar.gz二:运行配置程序。
# cd libminigui-str-1.6.10#./configure –disable-jpgsupport –disable-pngsupport三:编译MiniGui源代码# make四:安装MiniGui函数库# su –c “make install”五:查看安装好的库文件MiniGui的动态库文件和静态库文件都被安装到了/usr/local/lib目录下:#ls –l /usr/local/lib而MiniGui相关的头文件则被安装到了/usr/local/include/minigui/目录下Ls –l /usr/local/include/minigui运行时需要配置文件在/usr/local/etc/目录下Ls –l /usr/local/etc这样便完成了MiniGui函数库libminigui-1.6.10.tar.gz的安装接下安装资源包资源包minigui-res-1.6.10.tar.gz并不需要编译,直接安装即可。
解压缩文件#tar xzvf minigui-res-1.6.10.tar.ga打开minigui-res-1.6.10文件#cd minigui-res-1.6.10安装函数库# su –c ”make install”默认情况下,这些资源文件被安装在/usr/local/lib/minigui/res目录下# la /usr/local/lib/minigui/res解压示例代码包# tar mg-samples-1.6.10.tar.gz 打开mg-samples-1.6.10文件# cd mg-samples-1.6.10#./configure编译#make成功编译完成后,就可以在mg-samples-1.6.10/src目录下看到一些被编译好的可执行程序。
minigui+tslib编译全过程
第一部分:minigui-1.3.3移植到SEP4020EVB详解在这里只讲怎样将minigui-1.3.3移植到开发板EVB-SEP4020上去,在pc上安装minigui-1.3.3不用讲,这里我用到的交叉编译器是arm-linux-gcc3.4.1MiniGUI 的编译需要一些库文件,缺省我们的 gcc 基本上都有这些库文件,所以不需要安装,可是现在要交叉编译了,交叉编译器可是不带这些库文件的,所以我们得首先自己编译这些库文件装到交叉编译器中去。
注意一点:库不一定要装最新的,库版本太新,MiniGUI 有可能不认识,像jpeg 库和 ttf 库就是这样,太新了反而用不了,所以要注意版本,以下的库都是我验证过可以和MiniGUI 一起工作的,其它版本的库没试过,不保证能正确通过:)(1)首先安装 zlib 库,这个是后面的库的编译基础。
/zlib-1.2.3.tar.gz 400多K,下载到目录 /root/cross 下[user]# tar zxf zlib-1.2.3.tar.gz由于 zlib 库的configure 脚本不支持交叉编译选项,只好自己动用了,手动临时把 gcc 修改成指向我们的交叉编译器 arm-linux-gcc[Root]# cd /usr/bin[Root]# mv gcc gcc_back[Root]# ln -s /usr/local/arm/3.4.1/bin/arm-linux-gcc ./gcc[Root]# mv ld ld_back[Root]# ln -s /usr/local/arm/3.4.1/bin/arm-linux-ld ./ldOK ,修改完成后回到 /root/cross/zlib-1.2.3 目录下[user]#./configure --prefix=/usr/local/arm/3.4.1/arm-linux --shared注意:这里配置指向/usr/local/arm/3.4.1/arm-linux 目录,会自动安装在/usr/local/arm/3.4.1/arm-linux / [include,lib] 目录下,千万不要装错目录了,不然后面会找不到这个库的[user]# make[Root]# make install若用gcc3.4.1是不会出现什么错误的,呵呵。
MiniGUI(程序开发)
MiniGUI是由北京飞漫软件技术有限公司创办的开 源Linux图形用户界面支持系统,经过近些年的发展, MiniGUI已经发展成为比较成熟的性能优良的、功能 丰富的跨操作系统的嵌入式图形界面支持系统。“小” 是MiniGUI的特色,它目前已经广泛应用于通讯、医 疗、工控、电子、机顶盒、多媒体等领域。目前, MiniGUI的最新版本为MiniGUI 3.0。
22
选择所需的MINIGUI模式
在正常的项目中,如果为单进程的GUI项目,则 建议使用MiniGUI-Threads模式。主要是因为其可以在 应用程序的不同的线程中建立多个窗口,但所有的窗 口在一个进程或者地址空间中运行。这种运行模式非 常适合于大多数传统意义上的嵌入式操作系统,比如 我们使用的Linux操作系统。
1
MINIGUI概述
MiniGUI 起初仅仅是为了能够在 Linux 上显示中文而开发的,但是目前, MiniGUI 已发展为一个跨操作系统的嵌 入式图形支持系统。目前MiniGUI 已经 一步步发展成为跨操作系统的嵌入式图 形中间件产品。
2
MINIGUI介绍
MiniGUI 是一个图形用户界面支持系统, 通常的GUI 编程概念均适用于MiniGUI 编程, 如窗口和事件驱动编程等。
14
对话框的建立
typedef struct { DWORD dwStyle; DWORD dwExStyle; int x, y, w, h; const char* caption; HICON hIcon; HMENU hMenu; int controlnr; PCTRLDATA controls; DWORD dwAddData; } DLGTEMPLATE; typedef DLGTEMPLATE* PDLGTEMPLATE; // dialog box style // dialog box extended style // dialog box position // dialog box caption // dialog box icon // dialog box menu // number of controls // poiter to control array // addtional data, must be zero
MiniGUI_for_uCOS实验
4. 实验预习要求
(1) 仔细阅读<<ARM 嵌入式系统实验教程(三)>>第 1 章的内容,了解 MagicARM2200 实验箱的硬件结构,注意彩色液晶屏驱动电路和键盘电路。
(2) 阅读 MiniGUI 的文档<<MiniGUI 用户手册>>和<<MiniGUI 编程指南>>,了解 MiniGUI 的基本特点和应用配置选项,以及应用程序的编写。
static void update_rect(PSD psd, int l, int t, int r, int b) {
int bak;
if(l > r) {
bak = l; l = r; r = bak; } if(t > b) { bak = t; t = b; b = bak; }
LCM_UpdateRects(l, t, r +1 - l, b +1 - t, psd->addr); }
(3) MiniGUI-STR 软件包 用于 MagicARM2200 教学实验开发平台的 MiniGUI-STR for uC/OS-II 共有 2 个目录, 说明如下:
MiniGUI_Lib,MiniGUI-STR 函数库源代码,即 libminigui。
2
广州周立功单片机发展有限公司 Tel:(020)38730977 38730977 Fax:38730925
static void fb_setpalette (PSD psd, int first, int count, GAL_Color *palette) { }
static void fb_getpalette (PSD psd, int first, int count, GAL_Color *palette) { }
arm-linux学习笔记之minigui移植
arm-linux学习笔记之minigui移植/u3/90065/showart_1793732.htmlminigui-1.6.10在s3c2410平台的移植开发板:SBC2410CPU:S3C2410linux-2.6.25.5fs:jffs2LCD:TFT320 X 240PC:fc8 linux-2.6.25.5(一)准备工作下载软件包libminigui-1.6.10.tar.gzmg-samples-1.6.10.tar.gzminigui-res-1.6.10.tar.gzmg-samples-str-1.6.2.tar.gz在/home/arm/创建一个minigui的目录,然后把这些载在的软件包放在该目录下,在分别解压缩。
再在/home/arm/minigui下创建一个miniguitmp的目录,用于安装编译以后的库文件。
(二)编译libminigui首先修改configure文件,在文件的开头加入交叉编译的路径CC=arm-9tdmi-linux-gnu-gccCPP=arm-9tdmi-linux-gnu-cppLD=arm-9tdmi-linux-gnu-ldAR=arm-9tdmi-linux-gnu-arRANLIB=arm-9tdmi-linux-gnu-ranlibSTRIP=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几个目录产生。
miniGUI在linux环境下安装
minigui linux 安装与运行1.首先,从飞漫的网站上下载相关的压缩包:/res.shtml虚拟frambuffer的应用程序,用来调试运行程序qvfb-1.1.tar.gz资源文件:minigui-res-1.6.10.tar.gz示例程序:mg-samples-1.6.10.tar.gz开发库:libminigui-1.6.10.tar.gz在home目录下创建一个minigui的目录# cd /home# mkdir minigui将这些压缩包拷贝到/home/minigui目录下2.安装下载的文件首先安装minigui的资源文件:[root@root minigui]# tar -xvzf minigui-res-1.6.10.tar.gz[root@root minigui]#cd minigui-res-1.6.10[root@root minigui-res-1.6.10]# make install安装minigui的库文件[root@root minigui]#tar -xvzf libminigui-1.6.10.tar.gz[root@root minigui]# cd libminigui-1.6.10[root@root libminigui-1.6.10]# ./configure[root@root libminigui-1.6.10]# make[root@root libminigui-1.6.10]#make install安装minigui的例子库[root@root minigui]# tar -xzvf mg-samples-1.6.10.tar.gz[root@root minigui]#cd mg-samples-1.6.10[root@root mg-samples-1.6.10]# ./configure[root@root mg-samples-1.6.10]# make[root@root mg-samples-1.6.10]# make install安装qvfb[root@root minigui]# tar -xzvf qvfb-1.1.tar.gz[root@root minigui]# cd qvfb-1.1[root@root qvfb-1.1]# ./configure[root@root qvfb-1.1]# make[root@root qvfb-1.1]# make install3.设置参数1.这步要进入#cd /etc/目录下, 修改#vi ld.so.conf文件,再最后一行加入/usr/local/lib 即在系统共享函数库中加入MiniGUI的函数库路径[root@root etc]# gedit /etc/ld.so.conf //注意:不是ld.so.c(至少fedora10下不是)/usr/kerberos/lib/usr/X11R6/lib/usr/lib/sane/usr/lib/qt-3.1/lib/usr/local/lib4、在修改并保存后,执行ldconfig命令,更新系统函数库缓存[root@root etc]#ldconfig5.然后就可以使用qvfb体验miniGUI了,进入qvfb1.1根目录下的qvfb文件夹:输入下面命令:[root@fedora7]# qvfb &//加上&符号使qvfb进程开启后shell立即返回,否则会阻塞shell进程,需要再开一个shell才可以运行minigui程序。
MiniguiV1.3.3在uClinux中的移植经验总结[转]
MiniguiV1.3.3在uClinux中的移植经验总结[转]Minigui V1.3.3在uClinux中的移植经验总结 [转]经过一个星期的努力,终于将Minigui移植到我的ARM7开发板上了,在这个过程中我遇到了很多困难和问题,但是通过网络,通过以前很多前辈在网络上分享的经验,终于取得成功,也让我更加体会到只有大家都互相帮助,互相分享经验才能使大家都受益。
所以基于这一点,我将我的移植过程分享给大家,并且写得尽量详细点,希望给大家一些帮助,使后来者少走一些弯路。
有不对的地方,欢迎大家板砖!首先说明一下我的开发平台,我用的是Samsung S3C44B0X芯片的开发板,已经移植好的uClinux操作系统和FrameBuffer驱动。
我的uClinux安装在"/s3c44b0fu/uClinux-dist"目录下,交叉编译工具安装在"/usr/local/arm-elf"目录下。
具体步骤:一. 从网站下载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.gz四个压缩文件,并将这四个文件保存到交叉编译环境的目录下,因为我的arm-elf-gcc交叉编译工具安装在"/usr/local/arm-elf"目录下,所以将minigui的四个压缩包同样拷贝到"/usr/local/arm-elf"目录下.二. 在终端中输入"cd /usr/local/arm-elf",进入minigui的四个压缩文件所在目录,然后分别执行"tar zxvf xxxxx.tar.gz"将这四个压缩包解压缩.解压后生成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.33) make install四. cd mde-1.3.0./configuremakecd mg-samples-1.3.0./configuremake五. 1) 编写交叉编译minigui函数库的配置脚本domain.sh.domain.sh的具体内容为:#!/bin/shrm config.cache config.status -fCC=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/s3c44b0fu/uClinux-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 \--target=arm-elf-linux \--disable-shared \--disable-lite \--disable-standalone \--enable-incoreres \--disable-flatstyle \--enable-newgal \--disable-nativegal \--disable-galcommlcd \--enable-galfbcon \--enable-adsial \--disable-micemoveable \ --disable-cursor \--disable-fblin1r \--enable-fblin8 \--disable-fblin16 \--disable-fblin32 \--disable-textmode \--enable-dummyial \--disable-mc68x328ial \--disable-nativeial \--disable-qvfbial \--disable-qpfsupport \--disable-ttfsupport \--disable-type1support \ --disable-latin9support \ --disable-gbksupport \--disable-big5support \--disable-unicodesupport \ --disable-savebitmap \--disable-imegb2312 \--disable-imegb2312py \ --disable-aboutdlg \--disable-savescreen \--disable-grayscreen \--enable-tinyscreen \--enable-video-fbcon \--disable-video-qvfb \--disable-nativegalqvfb \ --with-osname=uclinux编写好后拷贝到libminigui-1.3.3下.2) cd libminigui-1.3.33) sh domain.sh4) make5) make install6) ldconfig上面六步即完成了用arm-elf-gcc对minigui的函数库的交叉编译.可以进入/usr/local/arm-elf目录中,你会看到新增加了etc和lib两个文件夹,这两个文件夹就是我们刚才用arm-elf-gcc交叉编译minigui 的函数库所产生的结果,以后编译在目标板中运行的应用程序时,就会对这两个文件夹里的内容进行编译,从而产生适合于在arm开发板中运行的应用程序.六. 编写测试minigui的应用程序1) 测试程序miniguidemo.c其实就是从mg-samples-1.3.0中拷贝过来的helloworld.c程序,不过要根据具体的LCD做一点修改,如我的LCD是640x480的256色STN彩色屏,所以要将#ifdef _LITE_VERSIONSetDesktopRect(0, 0, 1024, 768);#endif修改为:#ifdef _LITE_VERSIONSetDesktopRect(0, 0, 640, 480);#endif根据你的不同的LCD修改这个参数,还可以修改这个窗体显示的位置,根据你的喜好修改即可.最后将编写好的miniguidemo.c保存到/s3c44b0fu/uClinux-dist/user/guidemo中(注:guidemo是我在user目录中新建的文件夹)2) 在/s3c44b0fu/uClinux-dist/user/guidemo中编写Makefile 文件,具体内容为:EXEC = miniguidemoOBJS = miniguidemo.oLDFLAGS=-L/s3c44b0fu/uClinux-dist/uClibc/liball: $(EXEC)$(EXEC): $(OBJS)$(CC) $(LDFLAGS) -o $@ $(OBJS) -lminigui -lmgext $(LIBPTHREAD) $(LIBM) $(LDLIBS) -elf2fltromfs:$(ROMFSINST) /bin/$(EXEC)clean:-rm -f $(EXEC) *.elf *.gdb *.o3) 修改user/Makefile为了让编译器编译上述添加的内容,在user/Makefile中添加一句(一般按照字母排列):dir _$(CONFIG_USER_GUIDEMO_MINIGUIDEMO) +=guidemo4) 修改config/config.inconfig/config.in文件中添加的内容会在对用户选项进行配置时反映出来。
centos6 minimal版本下配置lxc(linux container)
0.环境虚拟机管理程序:VMware-workstation-full-7.1.3-324285.exe,host os: CentOS-6.0-x86_64-minimal.iso(centos6,minimal安装包)。
虚拟机管理程序运行环境:Windows xp。
centos中均以root用户操作1. 在vmvare中安装centos操作系统1) 选择第三项,仅创建一个不含操作系统的虚拟机。
具体安装步骤见相关文档。
2. 构建虚拟的根文件系统1)确定容器的根文件系统在宿主操作系统的文件系统的位置确定容器根文件系统的路径,这里我选择的是/lxc/${container_name},执行mkdir –p /lxc/${container_name},也可以放在其他目录比如(/var/lxc/${container_name}),都一样的。
容器名称我这里选择的是cpt, container_name=cpt 因此,实际路径是/lxc/cpt。
2)直接拷贝宿主操作系统的根文件系统先关闭selinux,否则拷贝/selinux目录时会报错。
编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled.然后重启虚拟机。
Centos minimal包安装后有如下文件目录bin cgroup etc lib lost+found mnt proc sbin srv tmp varboot dev home lib64 media opt root selinux sys usr不拷贝sys,proc,dev目录,仅创建sys,proc, dev目录,其余目录都拷贝过去,不拷贝容器根文件系统所在的目录/lxc例如:cp -rp /root/ /lxc/cptmkdir –p /lxc/cpt/sys如果是把容器的宿主文件设置在/var/lxc/cpt中,则不拷贝/var/lxc,/var/中的其他目录需要拷贝。
嵌入式操作系统移植(在Microblaze处理器上进行uclinux移植)
第五章嵌入式操作系统5.1 嵌入式操作系统简介5.1.1产生与发展嵌入式系统是计算机系统的一种,因而嵌入式系统也可以分为软硬件两部分,和桌面计算机系统一样,嵌入式操作系统(Embedded Operating System,EOS)是嵌入式软件系统的核心部分。
在一个完整的嵌入式系统中,嵌入式操作系统介于底层硬件和上层应用程序之间,它是整个系统中不可缺少的重要组成部分。
嵌入式操作系统与传统操作系统的基本功能是一致的,即:首先嵌入式操作系统必须能正确、高效地访问和管理底层的各种硬件资源,很好地处理资源管理中的冲突;其次嵌入式操作系统要能为应用程序提供功能完备、使用方便、与底层硬件细节无关的系统调用接口。
嵌入式操作系统伴随着嵌入式系统的发展经历了几个比较明显的的阶段:第一阶段:无操作系统,以单芯片为核心的可编程控制器形式的系统,具有与监测、伺服、指示设备相配合的功能。
应用于一些专业性极强的工业控制系统中,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。
系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。
第二阶段:以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。
其种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统。
能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API);嵌入式应用软件丰富。
第四阶段:以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。
目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及互联网络技术与信息家电、工业控制技术等结合日益密切,基于Internet的嵌入式操作系统必将成为主要发展趋势。
飞漫软件 MINIGUI 说明书
MiniGUI 用户手册适用于 MiniGUI Ver 1.3.x北京飞漫软件技术有限公司2003 年 10 月简介MiniGUI 是由北京飞漫软件技术有限公司主持的自由软件,遵循 GPL 条款发布(1.2.6及之前的版本以LGPL条款发布),其目标是为实时嵌入式 Linux 系统建立一个快速、稳定和轻量级的图形用户界面支持系统。
MDE 是 MiniGUI 的综合演示程序包,遵循 GPL 条款发布。
GNU GPL 条款的原文,可见本手册附录I。
用户可在遵循 GPL 条款的前提下使用MiniGUI 及 MDE,这样就无需支付任何许可费用,但这需要用户遵循 GPL 条款发布自己基于 MiniGUI 的应用程序;如果用户使用 MiniGUI 的应用程序而又不想遵循 GPL 条款,则应该首先获得飞漫软件的商业授权。
附录 I 给出了飞漫软件就 MiniGUI 的商业授权策略。
目前,MiniGUI 的最新稳定版本是 1.3.1。
您可以从北京飞漫软件技术有限公司网站的“产品”区(/product/cindex.shtml)下载最新的 MiniGUI 源代码和示例程序。
北京飞漫软件技术有限公司还为 MiniGUI 用户提供其它增值产品和服务,详情请访问 网站。
本手册详细讲述了 MiniGUI Version 1.3.x 的配置、编译、安装及运行,其中还整理罗列了大量常见问题及解决办法,相信读者能够从本书中获得一些有价值的资料,从而帮助用户迅速掌握 MiniGUI 的安装和配置方法,为尽快进入 MiniGUI 应用开发铺平道路。
I版权声明《MiniGUI 用户手册》 for MiniGUI Version 1.3.x。
版权所有 (C) 2003,北京飞漫软件技术有限公司,保留所有权利。
无论您以何种方式获得该手册的全部或部分文字或图片资料,无论是普通印刷品还是电子文档,北京飞漫软件技术有限公司仅仅授权您阅读的权利,任何形式的格式转换、再次发布、传播以及复制其内容的全部或部分,或将其中的文字和图片未经书面许可而用于商业目的,均被视为侵权行为,并可能导致严重的民事或刑事处罚。
MiniGUI
消息的队列(2)
系统向应用程序消息队列投递消息是通过填充一个MSG 消息结构,再把它复制到消息队列中,MSG结构中的信 息如上所述,包括接收消息的句柄、消息标识、两个消息 参数以及消息时间。 应用程序可以通过GetMessage函数从它的消息队列中取 出一条消息,该函数用所取出消息的信息填充一个MSG 消息结构。应用程序还可以调用HavePendingMessage 函数来检查消息队列中是否有消息而不取出消息。 int GUIAPI GetMessage(PMSG pMsg,HWND hWnd); BOOL GUIAPI HavePendingMessage(HWND hMainWnd); 非排队消息不通过消息队列而直接发送到目标窗口的窗口 过程。系统一般通过发送非排队消息通知窗口完成一些需 要立即处理的事件,比如MSG_ERASEBKGND消息。
MiniGUI
MiniGUI的工作流程和体系架构的分析 基于GUI的应用程序设计 MiniGUI在嵌入式Linux下的移植
MiniGUI的工作流程和体系架构的分析
的概念(1) MiniGUI的历史 MiniGUI的体系架构 MiniGUI的事件驱动和消息机制 MiniGUI的三种运行模式
GUI概念(2)
Gui Framework提供给应用的接口主要包括窗口的建立, 事件的注册,还会提供更加底层的接口让应用创建自己特 色的窗口。Framework内部实现主要分为四块: 1. 图形引擎 2. 事件系统 3. 窗口系统 4. 用户接口层 图形引擎提供最底层的图形函数,如点、线、矩形、椭圆 形、图片等,及最底层的图形区域的计算,颜色的计算等。 事件系统提供对最原始的硬件源事件的管理,如鼠标的点 击,键盘的输入,触摸屏的操作等,将这些事件发送到指 定的模块,以及提供内部自定义的事件管理和转发。 窗口系统实际上是对图形引擎和事件系统的封装,给本来 屏幕上每一块的区域都添加了”生命“,使得这些区域可 以响应事件,显示特定的图像。 用户接口层主要是为应用程序服务的,让应用程序不关心 图形引擎和事件系统的情况下来建立自己的窗口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.33) make install四. cd mde-1.3.0./configuremakecd mg-samples-1.3.0./configuremake五. 1) 编写交叉编译minigui函数库的配置脚本domain.sh.domain.sh的具体内容为:#!/bin/shrm config.cache config.status -fCC=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 \--target=arm-elf-linux \--disable-shared \--disable-lite \--disable-standalone \--enable-incoreres \--disable-flatstyle \--enable-newgal \--disable-nativegal \--disable-galcommlcd \--enable-galfbcon \--enable-adsial \--disable-micemoveable \ --disable-cursor \--disable-fblin1r \--enable-fblin8 \--disable-fblin16 \--disable-fblin32 \--disable-textmode \--enable-dummyial \--disable-mc68x328ial \--disable-nativeial \--disable-qvfbial \--disable-qpfsupport \--disable-ttfsupport \--disable-type1support \ --disable-latin9support \ --disable-gbksupport \--disable-big5support \--disable-unicodesupport \ --disable-savebitmap \--disable-imegb2312 \--disable-imegb2312py \ --disable-aboutdlg \--disable-savescreen \--disable-grayscreen \--enable-tinyscreen \--enable-video-fbcon \--disable-video-qvfb \--disable-nativegalqvfb \--with-osname=uclinux编写好后拷贝到libminigui-1.3.3下.2) cd libminigui-1.3.33) sh domain.sh4) make5) make install6) ldconfig上面六步即完成了用arm-elf-gcc对minigui的函数库的交叉编译.可以进入/usr/local/arm-elf目录中,你会看和lib两个文件夹,这两个文件夹就是我们刚才用arm-elf-gcc交叉编译minigui的函数库所产生的结果,以后编译运行的应用程序时,就会对这两个文件夹里的内容进行编译,从而产生适合于在arm开发板中运行的应用程序六. 编写测试minigui的应用程序1) 测试程序miniguidemo.c其实就是从mg-samples-1.3.0中拷贝过来的helloworld.c程序,不过要根据具体的改,如我的LCD是640x480的256色STN彩色屏,所以要将#ifdef _LITE_VERSIONSetDesktopRect(0, 0, 1024, 768);#endif修改为:#ifdef _LITE_VERSIONSetDesktopRect(0, 0, 640, 480);#endif根据你的不同的LCD修改这个参数,还可以修改这个窗体显示的位置,根据你的喜好修改即可.最后将编写好的miniguidemo.c保存到/s3c44b0fu/uClinux-dist/user/guidemo中(注:guidemo是我在user目录中新建的文件夹2) 在/s3c44b0fu/uClinux-dist/user/guidemo中编写Makefile文件,具体内容为:EXEC = miniguidemoOBJS = miniguidemo.oLDFLAGS=-L/s3c44b0fu/uClinux-dist/uClibc/liball: $(EXEC)$(EXEC): $(OBJS)$(CC) $(LDFLAGS) -o $@ $(OBJS) -lminigui -lmgext $(LIBPTHREAD) $(LIBM) $(LDLIBS) -elf2fltromfs:$(ROMFSINST) /bin/$(EXEC)clean:-rm -f $(EXEC) *.elf *.gdb *.o3) 修改user/Makefile为了让编译器编译上述添加的内容,在user/Makefile中添加一句(一般按照字母排列):dir _$(CONFIG_USER_GUIDEMO_MINIGUIDEMO) +=guidemo4) 修改config/config.inconfig/config.in文件中添加的内容会在对用户选项进行配置时反映出来。
在文件的最后,增加一条:###################################################################mainmenu_option next_commentcomment 'My MINIGUI Application'bool 'demo' CONFIG_USER_GUIDEMO_MINIGUIDEMOendmenu###################################################################七. 现在可以编译minigui的应用程序了,这里罗嗦一点,minigui应用程序的编写有两种方法,一种是将应用程序uClinux-dist目录中,在uClinux-dist编译和链接,直至生成最后的映象文件;第二种方法是先单独编译minigui的成可执行文件,然后放到uClinux-dist的romfs目录中,执行make image命令生成映象文件.很显然这里采用的也正因为采用的是第一种方法,所以第五步中交叉编译得到的配置文件MiniGUI.cfg实际上在这里没有用处我尝试过,似乎有点问题,你可以尝试尝试.编译步骤:make mrpropermake menuconfig(记住将FrameBuffer和你的应用程序编译到内核去)make depmake lib_onlymake user_onlymake ronfsmake imagemake将编译生成的映象文件下载到目标板中,执行程序,出现错误/bin> helloworldNo available video device.NEWGAL: Does not find matched engine: qvfb.GDI: Can not get graphics engine information!InitGUI failure when using incore resource.pid 30: failed 256这个错误恰好和61IC工程师社区中的“风雨”写的一篇文章完全一样!所以我就按照他的步骤一步一步是 /club/bbs/dispbbs.asp?boardID=26&ID=691&page=1具体修改步骤是:经过跟踪,进入sysres/mgedt.c#include "common.h"typedef struct _ETCSECTION{int key_nr; /* key number in the section */char *name; /* name of the section */char **keys; /* key string arrays */char **values; /* value string arrays */} ETCSECTION;typedef ETCSECTION* PETCSECTION;typedef struct _ETC_S{int section_nr; /* number of sections */PETCSECTION sections; /* pointer to section arrays */} ETC_S;#ifdef _INCORE_RESstatic char *SYSTEM_KEYS[] = {"gal_engine", "ial_engine", "mdev", "mtype"};#ifdef __ECOSstatic char *SYSTEM_valueS[] = {"ecoslcd", "ipaq", "/dev/ts", "none"};#else//static char *SYSTEM_valueS[] = {"qvfb", "qvfb", "/dev/ts", "none"}; //这是我注释掉的原来的, 你们看看管我怎么配置NEWGAL,//这里都将不可避免的进入QVFBstatic char *SYSTEM_valueS[] = {"fbcon", "dummy", "none", "none"}; //我新加的。