嵌入式系统嵌入式系统/ARM技术中的基于技术中的基于uc/os-ii的嵌入式的嵌入式GUI研究与应研究与应
用用
1. 引言 人机界面是嵌入式系统的重要组成部分,当前比较流行的GUI主要有:Nano-X,microwindows,
minigui,QT/Embedded,OpenGUI等,普遍采用客户/服务器结构,多线程概念,主要用于嵌入式Linux系统
中。uc/os-ii是一个简单、高效的嵌入式实时操作系统内核,凭借其源代码开放,系统内核可剪裁等特点,被广
泛应用到各种嵌入式系统中。但是,uc/os-ii只是一个实时多任务内核,不具有现代操作系统的线程,客户/服务
器机制,上述GUI不能方便的运行在uc/os-ii上。 uC/GUI是一个源代码开放的GUI,可以实现Windows风格
的图形
1. 引言
人机界面是嵌入式系统的重要组成部分,当前比较流行的GUI主要有:Nano-X,microwindows,
minigui,QT/Embedded,OpenGUI等,普遍采用客户/服务器结构,多线程概念,主要用于嵌入式Linux系统中。uc/os-ii是
一个简单、高效的嵌入式实时操作系统内核,凭借其源代码开放,系统内核可剪裁等特点,被广泛应用到各种嵌入式系统中。
但是,uc/os-ii只是一个实时多任务内核,不具有现代操作系统的线程,客户/服务器机制,上述GUI不能方便的运行在uc/os-ii
上。
uC/GUI是一个源代码开放的GUI,可以实现Windows风格的图形界面。微型是其最大的特点,占用很小的系统资源,易
于移植,功能强大[1];可以运行在uc/os-ii操作系统中;采用了100%的ANSI C编写,可以应用于任何LCD和CPU中;加上其
源代码开放的特点,使用起来非常灵活。
2. 系统组成
系统是基于三星的S3C44B0X, 1MB的Flash:SST39VF160,8MB的SDRAM:HY57V641620;使用了CASIO公司
320×240象素STN伪彩色LCD,输入使用4线电阻式触摸屏,操作系统为uc/os-ii ,编译器使用ARM公司ADS1.2;根据实际需
要设计了两路A/D转换电路、一路D/A转换电路。
3. uC/GUI的移植
在进行移植之前首先要了解uC/GUI的组织结构。uC/GUI是以ANSI C源码包的形式提供的,由Config和GUI两个目录组
成:
Config
包含了对uC/GUI进行配置的文件
GUI/ConvertMono
使用黑白显示设备时,所要使用的灰度转换函数
GUI/ConvertColor
使用彩色显示设备时,所要使用的彩色转换函数
GUI/Core
uC/GUI核心代码
GUI/Font
uC/GUI与字体相关的代码文件
GUI/MemDev
内存设备支持文件代码
GUI/LCDDriver
LCD驱动文件代码
GUI/Touch
支持触摸屏输入的文件代码
GUI/Widget
控件代码,包括编辑框、列表框、按钮、选择框等
GUI/WM
Config目录下包含了LCDConf.h,GUITouchConf.h和GUIConf.h三个文件用来对具体使用的LCD驱动程序、触摸屏驱动
程序和uC/GUI进行配置。