第 1 章 - Azure RTOS GUIX 简介

Azure RTOS GUIX (GUIX) 是图形界面框架的一种高性能实时实现,专用于基于 ThreadX 的嵌入式应用程序。 本章提供了 GUIX 简介,并说明了其应用和优势。

GUIX 功能概述

与许多其他 GUI 实现不同,GUIX 的设计用途非常广泛,可轻松地从基于小型微控制器的应用程序扩展到使用功能强大的 RISC 和 DSP 处理器的应用程序。 这与公共域或最初适用于工作站环境但随后被挤压为嵌入式设计的商业实现形成了鲜明对比。 GUIX 功能概述如下:

  • 易于与基于主机的设计工具 GUIX Studio 一起使用

  • 能实现完整托管原型制作的 Win32 GUIX 运行时环境

  • 支持 ThreadX 所支持的大多数处理器

  • 专门以 ANSI C 写入

  • 支持各种字节序

  • 支持最小最快的嵌入式 GUI

  • 运行时可配置、对象数、屏幕大小等。

  • 易于写入显示驱动程序接口

  • 支持彩色(颜色深度最高为 32 bpp)、单色和灰度

  • 支持多语言(通过 UTF8 字符串编码和字符串资源)

  • 支持默认的免费字体和轻松添加新字体

  • 支持多个不同大小的绘图画布

  • 支持多个不同大小和颜色深度的显示

  • 支持屏幕转换(淡入、淡出、滑动等)

  • 支持触摸屏、手势和虚拟键盘

  • 支持位图压缩

  • 支持 alpha 值混合处理

  • 支持抖动

  • 支持抗锯齿

  • 支持设置外观和主题

  • 支持画布混合

  • 完成窗口管理

    • 父/子关系

    • 动态创建、删除、重设大小、移动

    • 单独的事件处理和绘制

    • Z 顺序

    • 剪辑和视图

  • 支持一组丰富的小组件

    • 各种按钮类型、滑块和拨号

    • 下拉列表

    • Prompt

    • 多行文本视图

    • 单行文本输入和多行文本输入

    • 数字滚轮和文本滚轮

    • 窗口和滚动条

    • 径向进度栏

    • 子画面

ANSI C 源代码

GUIX 完全以 ANSI C 写入,可立即移植到几乎任何具有 ANSI C 编译器和 ThreadX 支持的处理器体系结构。 尽管 GUIX 以 ANSI C 写入,但它使用面向对象的模型和继承。

不是黑盒

GUIX 的大多数分发都包含完整的 C 源代码。 这消除了许多商业 GUI 实现所出现的“黑盒”问题。 通过使用 GUIX,应用程序开发人员可以准确地了解 GUI 正在进行的操作,没有秘密!

如果有源代码,还允许进行特定于应用程序的修改。 尽管不建议这样做,但如果需要,具备修改 GUI 的能力当然是有益的。 对于习惯使用内部或公共域产品的开发人员而言,这些功能尤为贴心。 他们期望拥有源代码和修改源代码的能力。 GUIX 是面向此类开发人员的终极 GUI 软件。

嵌入式 GUI 应用程序

嵌入式 GUI 应用程序是具有用户界面要求的应用程序,并在产品内隐藏的微处理器(如移动电话、通信设备、汽车引擎、激光打印机和医疗设备等)上执行这些应用程序。 此类应用程序几乎总是具有一定的内存和性能限制。 嵌入式 GUI 的另一个不同之处在于,其软件和硬件具有专门的用途。

实时 GUI 软件

基本上,必须在确切的一段时间内执行其处理的 GUI 软件被称为实时 GUI 软件,当对 GUI 应用程序施加时间约束时,它们会被分类为实时应用程序。 由于嵌入式 GUI 应用程序与外部世界的固有交互,因此嵌入式 GUI 应用程序几乎总是实时的。

GUIX 优势

将 GUIX 用于嵌入式应用程序的主要优势在于高性能、丰富的功能和非常小的内存需求。 GUIX 还与高性能、多任务 Azure RTOS ThreadX 实时操作系统完全集成。

更高的响应能力

高性能 GUIX 产品使应用程序的响应速度比以往更快。 对于具有大量视觉信息或对显示此类信息的严格计时要求的嵌入式应用程序而言,这一点尤其重要。

软件维护

使用 GUIX,开发人员可以轻松地对其嵌入式应用程序的 GUI 方面进行分区。 这种分区让整个开发过程变得简单,并极大地加强了未来的软件维护。

更高的吞吐量

GUIX 提供了最高性能的 GUI,可直接传输到嵌入式应用程序。 与非 GUIX 应用程序相比较,GUIX 应用程序能够更快地处理用户界面信息!

处理器隔离

GUIX 在应用程序、基础处理器和显示硬件之间提供可靠的独立于处理器的接口。 这使开发人员能够专注于用户界面的高级功能,而不是花费额外时间处理显示硬件问题。

易用性

GUIX 在设计时考虑到了应用程序开发人员。 GUIX 体系结构和服务调用接口易于理解。 因此,GUIX 开发人员可以快速使用其高级功能。

缩短上市时间

GUIX 强大的功能加速了软件开发过程。 GUIX 提取大多数处理器并显示硬件问题,因此从大多数应用程序用户界面实现中消除了这些问题。GUIX 提取了大多数的处理器和显示硬件问题,因而从大部分应用程序用户界面实现中消除了这些顾虑。 这项功能再加上易用性和高级功能集,缩短了上市时间!

保护软件投资

GUIX 专门以 ANSI C 写入,与 Azure RTOS ThreadX 实时操作系统完全集成。 这意味着 GUIX 应用程序可立即移植到所有 ThreadX 支持的处理器。 更好的是,一个全新的处理器体系结构可以在几周内得到 ThreadX 的支持。 因此,使用 GUIX 可以确保应用程序的迁移路径并保护原始开发投资。