论文部分内容阅读
嵌入式系统在当今已经得到广泛应用,而嵌入式操作系统是嵌入式系统的核心,成为操作系统研究的一个重要分支。本课题的目的就是以uC/OS-Ⅱ嵌入式实时操作系统内核为研究对象,首先搭建一个基于186CPU的完整的硬件开发平台,包括512K的FLASH闪存(用于存储应用程序或数据),3个通用异步串口(用于实现GPRS无线通讯或RS232或RS485等应用),完整的LCD液晶显示,简单的16键键盘模块,10位数字通用输入输出口(GPIO),精简ISA总线(供其它外设扩展)和看门狗电路等。第二步的工作就是完成该开发板上的外部设备驱动程序编写,把底层跟硬件相关的东西做成硬件抽象层HAL(Hardware Abstraction Layer),供上层用户或操作系统调用。最后把uC/OS-Ⅱ这个微内核的嵌入式操作系统移植到该硬件平台上,重点工作是分析研究该系统原理,移植细节,以及如何在这个嵌入式系统上做开发应用工作。 本文首先详细分析了uC/OS-Ⅱ的源代码,了解了其内核原理,如:任务管理、时钟管理、任务间通讯与同步机制及内存管理等。这方面可参考的资料很多,仅仅孤立的分析这个uC/OS-Ⅱ系统(参考文献1)收获不大,我的体会是先从通用操作系统理论入手,吃透理论;再针对典型嵌入式操作系统进行学习,(参考文献4,10,12,13,17,18,尤其参考18的对比介绍写的很好),最后再详细的研究uC/OS-Ⅱ这个系统,结合理论分析源码,通过分析代码的具体实现上来学习深层东西。 本文接着介绍了硬件平台的搭建,重点研究了基本外部设备驱动程序的编写,给上层构造硬件抽象层HAL,在此基础上首先完成了一个基于传统前后台任务编写的实际应用项目(用于化学物质含量分析的后台数据实时处理分析系统)。论文实现了把uC/OS-Ⅱ内核往该硬件平台上的移植,并详细讨论了移植的细节问题。这个移植的特点就是把DOS内核和底层硬件驱动合起来作为操作系统的硬件抽象层调用。最后对在该嵌入式操作系统下用户应用任务的编写等问题进行了探讨。由于时间和精力限制,这方面的工作仅仅局限于一些简单的多任务编程试验,当然实际应用系统中的任务的划分和任务通讯规划及实现,要复杂的多。