论文部分内容阅读
嵌入式手持终端设备在越来越多的领域发挥着重要作用。随着嵌入式软硬件技术的发展,过去16位CPU加精简的DOS操作系统的系统组成,逐渐被32位的嵌入式CPU(如ARM系列)加实时操作系统(RTOS)的系统组成所取代。而成熟的RTOS往往价格昂贵,而且不能很好的满足行业用户的需求。因此,自主开发,有一定通用性,容易裁剪,界面友好,便于应用于多种产品的RTOS,是一项非常有意义的工作。 本文着重讨论基于UC/OSⅡ内核的手持终端嵌入式操作系统的研究与实现,包括UC/OSⅡ内核剖析和硬件驱动接口模块以及图形用户界面系统的设计与实现三部分。最终在免费的源代码公开的UC/OSⅡ内核上完成一个自主开发的嵌入式RTOS。 首先,研究UC/OSⅡ内核原理和实现方法,重点讨论UC/OSⅡ实时内核对任务调度管理,以及任务切换过程中涉及的处理器现场保存恢复等问题,并以UC/OSⅡ内核在ARM7TDMI处理器上的移植以及核心任务调度函数的实现为例,完成对UC/OSⅡ内核的深入剖析。 接着,为了尝试将面向对象软件开发技术用于嵌入式软件开发,扩充UC/OSⅡ内核,自主实现了基于C语言的面向对象语言-Object-C宏语言。该语言支持面向对象语言的三个主要的特性:类封装、继承和多态。在此分析了Object-C的对象模型以及Object-C元类概念,扼要讨论了其面向对象特性的实现原理。并详细分析了其使用语法,为下面的论述打下基础。 随后,在UC/OSⅡ内核的基础上使用Object-C宏语言开发驱动接口模块。充分利用面向对象语言的特性,实现了对驱动接口模块良好的封装,在UC/OSⅡ内核和底层硬件之间实现了异步串行通信接口、液晶显示屏以及触摸屏/键盘驱动接口模块。同时也提高了接口模块的易用性。 最后,详细分析了使用Object-C实现的嵌入式图形用户界面系统(GUI)-eGUI。该GUI充分利用了Object-C支持多态等语言特性,采用面向对象的软件开技术,如设计模式等实现。因此eGUI具有结构清晰、易于扩展、易于使用等突出特点。文章还给出了核心部分—窗口管理和消息路由机制的Object-C实现,并讨论了e-GUI在UC/OSⅡ上的移植和使用方法,以及多任务加载测试试验。