论文部分内容阅读
在当今计算机和Internet产业的发展中,嵌入式系统成为一个重要的发展领域,而嵌入式实时操作系统(RTOS)在嵌入式系统软件体系中起着越来越重要的作用。μC/OS-Ⅱ是一个公开源代码的、可移植、固化、剪裁的RTOS,已经被移植到包括单片机、ARM、x86、DSP等各平台的40多种CPU上。TMS320F2812是TI(Texas Instruments)公司的一款用于控制的高性能、多功能、高性价比的32位定点DSP(数字信号处理器)芯片。μC/OS-Ⅱ也非常适合移植到TMS320F2812中运行调度。
在TD-SCDMA LCR/GSM的第三代移动通信双模协议栈软件开发中,提出了两个应用要求:一是DSP下软件开发中需要RTOS的任务调度,二是RTOS需要兼具不同优先级和相同优先级任务调度。本文工作以μC/OS-Ⅱ和TMS320F2812作为RTOS和DSP平台,针对这两个需求进行。
首先本文介绍嵌入式实时操作系统的概念,详细分析了μC/OS-Ⅱ体系结构、任务优先级、任务调度、中断管理、时钟节拍和初始化等模块。
接着,针对TMS320F2812DSP的芯片结构,结合μC/OS-Ⅱ的运行机制,深入研究了μC/OS-Ⅱ在TMS320F2812中的移植方法,详细给出了移植步骤、移植函数编写过程。通过编写内核功能函数测试程序和应用测试程序,在基于TMS320F2812的SEED-DSK2812开发板上,采用CCS2.0和仿真器调试运行测试程序,验证了移植工作的正确性。
Nucleus PLUS、Vxworks等商用RTOS都具有对不同优先级任务和相同优先级任务的调度功能,而商用成本较低的μC/OS-Ⅱ只能基于不同优先级抢占式调度。为了使μC/OS-Ⅱ内核同时具有以上两种调度功能,作者提出对μC/OS-Ⅱ内核调度方式进行改进,增加以时间片轮转调度算法进行相同优先级任务的调度。方法是保持原有不同优先级抢占式调度链表,增加相同优先级的时间片轮转调度链表,通过任务控制块指针使任务调度在两个链表之间切换。修改内核源码以实现算法改进,包括任务控制块OS_TCB、任务创建函数、任务控制块初始化函数、时钟节拍函数等。将改进后的内核移植到TMS320F2812平台上运行和调度测试。运行实验结果符合预期,并且对改进后和改进前的调度方式进行性能分析对比和评估,表明对μC/OS-Ⅱ内核调度算法的改进是可行和有意义的。