STM32 平台的 μC/GUI 移植与图形界面设计
摘要:μC/GUI 是一种专为嵌入式应用设计的通用图形接口软件。本文详细介绍了
μC/GUI 的结构框架和基于 STM32 平台的 μC/OS-II 上的 μC/GUI 移植过程,并在
此基础上进行图形界面设计;阐述了 μC/GUI 的窗口管理机制,提出了实现 μC/GUI
中文小型字库的两种方法并采用存储设备解决了图形显示的闪烁问题。
关键词:μC/GUI 移植;STM32 平台;图形界面;中文小型字库;存储设备
引言
嵌入式系统的图形用户界面,要求具有占用资源少、性能高、可靠性高、可移植、可配
置等特点,μC/GUI 就是这样一种专门为嵌入式应用设计的图形用户界面软件。μC/
GUI 可应用于多任务环境中,同时使用实时操作系统与 μC/GUI,既可以发挥优先级的
实时性,又能实现良好的人机界面。本文使用 Cortex-M3 内核的 STM32 平台,介绍了
基于 STM32 平台的 μC/OS-II 上的 μC/GUI 移植过程,并在此基础上开发了基于 μC
/GUI 的图形用户界面。
1 μC/GUI 结构框架
1.1 μC/GUI 的文件组织
μC/GUI 软件采用模块化组织架构,其中较为重要的文件目录是配置文件目录 Cong
和 GUI 库文件目录。考虑到未来升级方便,建议保持 μC/GUI 原有的目录结构,这样升
级到新版本时只要覆盖原文件目录即可,而不会改变整个工程的文件路径。
μC/GUI 是一个源代码开放的图形系统,它提供了丰富的资源,包括二维绘图库,多
字体、可扩充的字符集,Unicode,位图显示,多级 RGB 颜色管理及灰度处理调整机制,
动画优化显示,具有 Windows 风格的对话框和预定义控件(按钮、编辑框、列表框、进度
条、单选复选框、滑动条等);同时,支持键盘、鼠标、触摸屏等输入设备和双 LCD 的输
出,提供占用极少 RAM 的窗口管理体系。各个子目录的路径及功能支持如表 1 所列。
1.2 μC/GUI 的层次结构
μC/GUI 内核提供多种图形显示功能,用户程序通过 API 函数接口调用 μC/GUI 函
数库中的各个功能函数,然后各个功能函数通过调用硬件驱动实现图形界面显示。