微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 硬件实时操作系统的设计与实现

硬件实时操作系统的设计与实现

时间:01-28 来源:电子技术应用 点击:

服务程序的设计

实时操作系统中,每个任务都有堆栈空间,用于现场切换时保存各寄存器值和栈指针。其中,栈指针指向的堆栈起始地址和保存现场后的终止地址最为重要。保存当前运行任务的现场时,从其堆栈的起始地址开始执行入栈操作;而恢复将运行任务的现场时,从其堆栈的终止地址开始执行出栈操作。

任务堆栈在处理器使用的内存中分配。应用程序初始化时,将任务堆栈终止地址利用接口总线写入硬件调度内核维护的任务控制块中。每次调度结束后,若需要现场切换,硬件调度内核会将下一运行任务的ID和堆栈终止地址利用通知中断发送给处理器。通知中断处理程序首先将当前任务的寄存器保存在该任务以SP_START为起始地址的堆栈中,然后从接口总线读取下一运行任务的ID和堆栈终止地址,恢复该任务的现场并开始运行。图8显示了通知中断服务程序的执行过程。

3 实验与结果分析

对本文实现的硬件RTOS,在时钟节拍为10μs时,分别测试在4、8、16、32和64个任务下、由定时器中断触发调度时机引起现场切换,所占处理器时间(系统开销)的情况。其结果与软件实时操作系统μC/OS进行比较,如表1所示。

测试结果表明,硬件RTOS中,由定时器中断引起的系统开销不随任务个数的增加而显著变化,但与μC/OS相比,差值越来越大。

表2列出了任务32时,在10μs、20μs、40μs、80μs和100μs的时钟节拍下,硬件RTOS和μC/OS由定时器中断引起现场切换所占处理器时间的情况。

测试结果表明,随着时钟节拍降低,硬件RTOS的系统开销变化不明显,而与μC/OS相比,差值越来越大。时钟节拍很小时,硬件RTOS比μC/OS的系统开销低许多。

目前,硬件RTOS实现了任务调度内核等基本模块。今后的工作中,将进一步扩展其功能,增加以下几个部分:(1)任务间通信和同步。(2)内存管理。(3)支持更多的调度算法,实现调度算法可配置。(4)针对可在FPGA中实现的可配置处理器,用硬件实现上下文切换逻辑。

实时操作系统是嵌入式应用的核心,本文采用FPGA实现硬件实时操作系统,包括任务调度内核、中断管理和定时器管理等基本功能。硬件RTOS能降低处理器系统开销,提高其利用率,从而提高实时系统任务集合的可调度性,具有一定的研究和使用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top