论文部分内容阅读
随着嵌入式微处理器性能的提高和价格的降低,嵌入式操作系统的理论和产品得到快速发展。实时系统uC/OS-Ⅱ是一款源码公开的优秀操作系统,能够用于要求严格的工业、军事等环境中。uC/OS-Ⅱ能够很快的响应任务,但由于软件顺序执行指令的特点,其时钟中断响应时间、任务响应时间与任务数量呈正比,影响了实时操作系统可预测性。针对uC/OS-Ⅱ的这种不足,本文分析实时操作系统uC/OS-Ⅱ在任务调度、事件处理、中断等方面的优缺点,特别对该操作系统的实时性方面进行了认真的研究,提出一种使任务响应时间、中断响应时间与任务数量无关的方法。首先,针对该操作系统抢占式内核的特点,用硬件实现最高优先级的选取,并判定中断任务调度中断CPU的时机,降低CPU因任务调度而中断的频率。其次,将任务函数中的时间处理部分用硬件实现,利用硬件并行执行的特点,可让正在执行的任务的时钟域调整操作同时完成。最后,重新设计uC/OS-Ⅱ底层软件部分,修改任务调度、时间处理、中断函数部分,充分利用硬件加速模块,降低CPU的负载。本设计在Altera公司的EP2C70F896C6 FPGA芯片上实现,使用了16569个LE(Logic Element,逻辑单元),376192比特内部存储器资源。在系统时钟为25MHz的情况下,时钟/任务响应时间稳定在2190±10个周期范围内,中断响应时间为1468个时钟周期,并且参数与任务数量没有函数关系,提高实时系统的可预测性。