收藏 分享(赏)

第9章 嵌入式GUI.ppt

上传人:dzzj200808 文档编号:3317898 上传时间:2018-10-12 格式:PPT 页数:33 大小:368KB
下载 相关 举报
第9章 嵌入式GUI.ppt_第1页
第1页 / 共33页
第9章 嵌入式GUI.ppt_第2页
第2页 / 共33页
第9章 嵌入式GUI.ppt_第3页
第3页 / 共33页
第9章 嵌入式GUI.ppt_第4页
第4页 / 共33页
第9章 嵌入式GUI.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、1,嵌入式GUI,陈文智 浙江大学计算机学院 2012年11月,浙江大学,2,提纲,1. 嵌入式GUI简介 2. X Windows 3. Tiny-X体系结构 4. Tiny-X应用程序编写 实验一:用Glade编写一个简单的应用程序 实验二:Tiny-X下的Key/Led应用 实验三:GT/E移植,3,1. 嵌入式GUI简介,嵌入式GUI设计一般来说包括以下3个方面: 硬件设计,通过LCD控制器把LCD显示器和开发系统连接起来。 驱动程序设计,为输出输入设备如LCD设计驱动程序,使硬件能驱动起来 用户界面程序设计,使用嵌入式系统提供的函数库进行图形化程序设计,4,目前在嵌入式系统比较流行的

2、图形用户界面GUI : Qt/Embedded MicroWindows OpenGUI MiniGUI Tiny-X,5,2. X Windows架构,采用客户端/服务器的设计概念 X Windows由3部分组成:客户端、服务器和X协议 X Windows是事件驱动,大部分时间处于一种等待事件发生的状态,6,X Windows的基本的API函数库 :,7,3. Tiny-X系统框架,Tiny是标准X-windows系统的简化版 ,设计目标是为了在小容量内存的环境下运行,非常适合用作嵌入式linux的GUI系统 采用标准的Client/Server体系结构 在嵌入式系统中使用Tiny-X图形用

3、户界面开发产品,上层的应用程序的编写很方便,8,Tiny-X系统架构:,9,FrameBuffer 帧缓冲器 TinyX(Xfbdev)TinyX为Xwindows的微缩版,有经过精简的Xlib类库 Glib包括一些基础数据类型和典型的C程序需要的功能 GDK是建立在Xlib上的针对图形图像类封装的底层图形库,Tiny-X结构说明(1),10,Tiny-X结构说明(2),GTK是建立在Xlib和GDK上的高级面向对象的类库 窗口管理器(QVWM): 一种类似于window95风格的窗口管理器 Glade:GTK的集成开发环境,11,Tiny-X库的调用关系:,12,4. Tiny-X应用程序开

4、发,想在Xscale平台上编写基于Tiny-X的图形用户程序需要了解GTK+ GTK+依赖于Glib并建立在GDK (GIMP Drawing Kit)的上层,基本上是将Xlib功能包装起来,它是对底层的X Windows系统库Xlib的简化,13,4.1 GTK+的基本概念,信号、事件和对象 构件 容器 消息及回调函数的概念,14,GTK+编程应用实例,初始化GTK+:写GTK+程序需要调用gtk_init函数对Gtk+库进行初始化 构件的使用,一般进行如下操作步骤: 包含所调用构件的头文件 声明构件 构件指针的初始化 安排构件的位置与层次关系 编写事件处理函数 GTK+事件循环,15,4.

5、2 图形界面生成器Glade,Glade由主窗口、构件箱窗口、属性编辑器窗口、构件树窗口和剪贴板窗口组成 Glade是传统界面设计工具GTK/GDK的扩展,能满足基于GTK+库的图形用户界面可视化开发的基本需求,16,Glade帮助开发者生成界面代码,基本过程如下: 让Glade设计出界面元素,设置界面元素属性,为构件的信号设置回调函数 将其存为XML格式,观察并修改不符合要求的部分 编写应用其它部分代码,并在应用中载入Glade文件,编译C代码生成执行文件,17,实验:用Glade编写一个简单的GUI应用程序,实验目的熟悉GTK+编程熟悉Glade的使用学会如何交叉编译一个GUI程序,18,

6、1在redhat9.0下安装Glade,选择系统/添加或删除软件包 选择管理工具中的”细节” ,添加Glade,19,2通过Glade创建GUI程序创建新的Project,并保存为guitest 创建一个按钮 ,选择option配置,20,3. 设置参数生成ARM平台代码在src目录下生成了ARM平台的目标程序guitest,下载到目标板,并修改其属性为可执行属性,21,选择编译,生成代码 程序在主机平台上运行,22,实验二:Tiny-X下的KeyPad/LED控制实验,实验目的 复习设备驱动的编写 进一步熟悉Glade的使用 通过GUI界面的控件事件来控制系统底层的硬件 在这个实验中分别使用

7、Glade的8个buttuon控件来控制8个LED灯,23,1. 建一个Glade图形用户界面工程 2. 建立相应的GUI界面结构,24,3. 增加Button的事件处理,25,4. 打开设备文件,在main.c中增如下代码,同时增加opendev.c以及opendev.h文件,26,5. 在button的click事件中添加控制函数,同时添加conled.c 以及conled.h实现文件,27,6. 修改src/Makefile文件,28,7. 配置Glade 8. 保存工程文件,进入终端进行交叉编译,29,实验三:QT/E移植实验,实验目的了解QT图形用户界面学会如何移植QT/E移植QPE

8、,30,1. QT/Embedded 安装及环境设置 Qt/Embedded环境设置(host) Qt/Embedded配置,使用configure命令生成Makefile,31,执行configure的话会问到如下几个问题: 是否同意license?选择yes 选择feature configuration。选择第5项Everything 选择colordepth时选择16 是否支持Qt Virtual Framebuffer?在ARM上用,可以选择 no Qt/Embedded 编译:,32,2移植QT/E应用程序 把主机平台编译好的qt-2.3.7文件夹mount到目标板的文件系统中 在目标板上设置 在目标板上执行QT下的例子,33,3. 修改触摸屏驱动 修改后只需要重新对QT/E库编译就可以了,在/root/qt-2.3.7/src路径下make编译 重新通过NFS命令在目标板上运行hello程序,检查触摸屏是否正常,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报