论文部分内容阅读
随着计算机和通信技术的快速发展,嵌入式系统以其简洁、高效等优点越来越多地受到人们的广泛关注。嵌入式产品已经成为了信息产业的主流,被广泛应用于移动计算设备、网络设备、工控设备、信息家电、汽车电子、娱乐设施、仪器仪表等领域。 开发一个嵌入式应用系统需要嵌入式硬件、实时操作系统及相应的软件工具。其中一个非常重要的步骤,就是操作系统在微处理器上的移植。本文的重点便是操作系统μC/OS-Ⅱ在S3C44BOX微处理器上的移植及系统测试。 ARM微处理作为目前嵌入式市场上应用最广泛的嵌入式微处理器,有着很多不同的种类,本课题采用的便是其中的一种:ARM7TDMI。本课题采用的嵌入式硬件是基于ARM架构的Samsung S3C44BOX芯片。它一方面具有ARM处理器的所有优点:低功耗、高性能,同时又具有非常丰富的片上资源,非常适合嵌入式产品的开发。 本课题选用的是源代码公开的实时操作系统μC/OS-Ⅱ。此操作系统移植性好,易剪裁,属于可剥夺的实时多线程内核,而且源代码公开。 本文首先将介绍嵌入式系统的历史、现状、发展方向和一些基本概念。接着对ARM核芯片的应用领域、ARM指令集、寄存器组织做详细介绍。然后将详细分析μC/OS-Ⅱ的特点与相关系统结构、任务的状态与调度、系统的通信机制。接下来将简单介绍硬件开发环境和μC/OS-Ⅱ硬件和软件体系结构,提出移植过程中存在的主要问题,并给出μC/OS-Ⅱ在S3C44BOX微处理器上的移植过程。移植过程主要集中在三个文件的重新编写上:1个头文件OS_CPU.H,1个汇编文件OS_CPU_A.ASM和1个C代码文件OS_CPU.C。文章将给出相关函数的模型和源代码,并附上注释和详细说明。 移植完成后,本文将设计应用程序对移植后的系统进行测试,以保证系统能正常运行。在确保系统正常运行的情况下,本文还提出了一种任务堆栈的改进方法,并给出了流程图。该方法是将任务堆栈和中断堆栈分离,可减小系统对于RAM的需求。 最后,本文将总结μC/OS-Ⅱ在不同芯片上进行移植的一般方法和应该注意的相关问题。