发明名称 基于uC/OS-II的硬件任务管理器
摘要 本发明公开了一种基于uC/OS-II的硬件任务管理器,嵌入式操作系统包括CPU和FPGA,CPU与FPGA以总线方式相连,CPU通过地址空间访问FPGA的寄存器接口,控制硬件任务管理器,其特征在于:在FPGA端设置有硬件任务管理器,硬件任务管理器包括全局管理模块和任务管理模块,所述全局管理模块包括当前最高优先级任务ID寄存器和时钟脉冲寄存器,所述任务管理模块有64个,每个uC/OS-II任务对应一个任务管理模块,每个任务管理模块包含任务状态寄存器、阻塞状态寄存器、阻塞超时结果寄存器和延时计数寄存器。本发明极大地提高了操作系统的实时性。
申请公布号 CN102929714B 申请公布日期 2015.05.13
申请号 CN201210399253.1 申请日期 2012.10.19
申请人 国电南京自动化股份有限公司 发明人 姚艳松;陈靖公;雍太利;朱学海
分类号 G06F9/48(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 南京纵横知识产权代理有限公司 32224 代理人 董建林
主权项 一种基于uC/OS‑II的硬件任务管理器,嵌入式操作系统包括CPU和FPGA,CPU与FPGA以总线方式相连,CPU通过地址空间访问FPGA的寄存器接口,控制硬件任务管理器,其特征在于:在FPGA端设置有硬件任务管理器,硬件任务管理器包括全局管理模块和任务管理模块,所述全局管理模块包括当前最高优先级任务ID寄存器和时钟脉冲寄存器,所述任务管理模块有64个,每个uC/OS‑II任务对应一个任务管理模块,每个任务管理模块包含任务状态寄存器、阻塞状态寄存器、阻塞超时结果寄存器和延时计数寄存器,当前优先级最高任务ID寄存器:读取当前优先级最高任务ID寄存器得到当前最高任务的ID,最高任务的ID是由各任务状态同步编码得到;时钟脉冲寄存器:时钟脉冲寄存器用于管理各任务状态,通知任务管理模块有时钟到来;任务状态寄存器:任务状态寄存器如果是0,表明任务状态是挂起态,否则是运行态,CPU直接设置该寄存器,如果延时计数寄存器由1变为0,任务状态寄存器置为1,表明任务由挂起态进入运行态;阻塞状态寄存器:阻塞状态寄存器为0表明任务进入运行态或延时态,阻塞状态寄存器为1为阻塞态,表明任务正在等待信号量或者消息队列,如果延时计数寄存器由1变为0,阻塞状态寄存器置为0,表明任务由阻塞态进入运行态;阻塞超时结果寄存器:如果延时计数寄存器由1变为0,且阻塞状态寄存器为1,则阻塞超时结果寄存器置为1,表明阻塞超时,否则为0;延时计数寄存器:通过设置延时计数寄存器,可以在任务延时态时指定任务延时时间,在任务阻塞态时设置任务阻塞等待时间,如果延时计数寄存器不为0,当CPU向时钟脉冲寄存器写1时,该寄存器值自动减1。
地址 210009 江苏省南京市鼓楼区新模范马路38号