论文部分内容阅读
嵌入式系统的研究和开发是当前信息技术研究的热点之一。作为人机交互的图形用户界面(GUI)是嵌入式系统非常重要的组成部分。伴随着嵌入式系统的迅速发展,嵌入式GUI系统也得到了相应的发展,涌现出大量的嵌入式GUI系统。这些嵌入式GUI系统因具有很好的易用性和强大的功能而被广泛使用。但其为了具有应用上的通用性,很多时候都是以牺牲性能为代价。利用面向对象的程序设计技术实现软件的重用是加速软件开发进程的根本途径。但是由于面向对象语言本身的复杂性以及嵌入式系统资源受限等特点的限制,在嵌入式开发领域中对于它的支持还不够完善。相反,目前几乎所有的嵌入式开发平台都对“标准C(ANSI C)”这种简洁、高效的过程式语言有比较完善的支持。如果能够对ANSI C进行一定的扩展,既保持它的高效又能进行面向对象的程序设计,将有效地提高嵌入式软件的开发效率,增强软件的可移植性和可维护性。本文作者参加了基于移动学习机的嵌入式GUI系统的开发工作,并在此基础上完成了本论文。本文研究了面向对象编程语言的特性,结合GUI应用编程的特点实现了ANSI C到面向对象编程语义的映射。在深入分析现有嵌入式GUI系统的基础上,充分借鉴它们的技术和优点,实现了一种面向对象的嵌入式GUI系统——RBGUI。本文首先研究了多种流行嵌入式GUI系统的特点,并对其实现过程中的几项关键技术如分层模型、窗口管理、消息机制和事件驱动等进行了分析。然后基于移动学习机的应用特点,给出了RBGUI的设计思想和体系结构,并对其关键模块的实现机制进行了详细的分析。通过该方案设计和实现的RBGUI具有占用资源少、效率高、可移植性和可扩展性强等特点。对面向对象编程语言的特性进行了一定的研究,针对GUI应用编程的特点,抽象出了组件结构和组件类的定义。在提出几个GUI编程规范的基础上,给出并实现了C到面向对象编程语义映射的具体解决方案。将RBGUI应用到实际的系统中,分析了它的运行状态以及它与其它任务之间的通信。最后在仿真平台上完成了RBGUI的性能测试与比较,并在实际的硬件平台上完成了它的功能测试。