ARM教材第9章嵌入式GUI.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM教材第9章嵌入式GUI

嵌入式GUI 陈文智 wzchen@cad.zju.edu.cn 浙江大学计算机学院 2005年4月 提纲 1. 嵌入式GUI简介 2. X Windows 3. Tiny-X体系结构 4. Tiny-X应用程序编写 实验一:用Glade编写一个简单的应用程序 实验二:Tiny-X下的Key/Led应用 实验三:GT/E移植 1. 嵌入式GUI简介 嵌入式GUI设计一般来说包括以下3个方面: 硬件设计,通过LCD控制器把LCD显示器和开发系统连接起来。 驱动程序设计,为输出输入设备如LCD设计驱动程序,使硬件能驱动起来 用户界面程序设计,使用嵌入式系统提供的函数库进行图形化程序设计 目前在嵌入式系统比较流行的图形用户界面GUI : Qt/Embedded MicroWindows OpenGUI MiniGUI Tiny-X 2. X Windows架构 采用客户端/服务器的设计概念 X Windows由3部分组成:客户端、服务器和X协议 X Windows是事件驱动,大部分时间处于一种等待事件发生的状态 X Windows的基本的API函数库 : 3. Tiny-X系统框架 TinyX是标准X-windows系统的简化版 ,设计目标是为了在小容量内存的环境下运行,非常适合用作嵌入式linux的GUI系统 采用标准的Client/Server体系结构 在嵌入式系统中使用Tiny-X图形用户界面开发产品,上层的应用程序的编写很方便 Tiny-X系统架构: Tiny-X结构说明(1) FrameBuffer ――帧缓冲器 TinyX(Xfbdev)――TinyX为Xwindows的微缩版,有经过精简的Xlib类库 Glib――包括一些基础数据类型和典型的C程序需要的功能 GDK――是建立在Xlib上的针对图形图像类封装的底层图形库 Tiny-X结构说明(2) GTK――是建立在Xlib和GDK上的高级面向对象的类库 窗口管理器(QVWM): 一种类似于window95风格的窗口管理器 Glade:GTK的集成开发环境 Tiny-X库的调用关系: 4. Tiny-X应用程序开发 想在Xscale平台上编写基于Tiny-X的图形用户程序需要了解GTK+ GTK+依赖于Glib并建立在GDK (GIMP Drawing Kit)的上层,基本上是将Xlib功能包装起来,它是对底层的X Windows系统库Xlib的简化 4.1 GTK+的基本概念 信号、事件和对象 构件 容器 消息及回调函数的概念 GTK+编程应用实例 初始化GTK+:写GTK+程序需要调用gtk_init函数对Gtk+库进行初始化 构件的使用,一般进行如下操作步骤: 包含所调用构件的头文件 声明构件 构件指针的初始化 安排构件的位置与层次关系 编写事件处理函数 GTK+事件循环 4.2 图形界面生成器Glade Glade由主窗口、构件箱窗口、属性编辑器窗口、构件树窗口和剪贴板窗口组成 Glade是传统界面设计工具GTK/GDK的扩展,能满足基于GTK+库的图形用户界面可视化开发的基本需求 Glade帮助开发者生成界面代码,基本过程如下: 让Glade设计出界面元素,设置界面元素属性,为构件的信号设置回调函数 将其存为XML格式,观察并修改不符合要求的部分 编写应用其它部分代码,并在应用中载入Glade文件,编译C代码生成执行文件 实验-:用Glade编写一个简单的GUI应用程序 实验目的 熟悉GTK+编程 熟悉Glade的使用 学会如何交叉编译一个GUI程序 1.在redhat9.0下安装Glade,选择系统/添加或删除软件包 选择管理工具中的”细节” ,添加Glade 2.通过Glade创建GUI程序创建新的Project,并保存为guitest 创建一个按钮 ,选择option配置 3. 设置参数生成ARM平台代码 在src目录下生成了ARM平台的目标程序guitest,下载到目标板,并修改其属性为可执行属性 选择编译,生成代码 程序在主机平台上运行 实验二:Tiny-X下的KeyPad/LED控制实验 实验目的 复习设备驱动的编写 进一步熟悉Glade的使用 通过GUI界面的控件事件来控制系统底层的硬件 在这个实验中分别使用Glade的8个buttuon控件来控制8个LED灯 1. 建一个Glade图形用户界面工程 2. 建立相应的GUI界面结构 3. 增加Button的事件处理 4. 打开设备文件,在main.c中增如下代码,同时增加o

文档评论(0)

130****9768 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档