一种基于RTOS实现休眠模式的方法和系统技术方案

技术编号:37349072 阅读:13 留言:0更新日期:2023-04-22 21:45
一种基于RTOS实现休眠模式的方法,包含安全域的多核芯片,所述方法包括:当接收软中断信号时,根据软中断处理函数确定所述软中断信号的类型是否为掉电模式;若确定所述软中断信号的类型是所述掉电模式,则将CPU的寄存器中的数据和不同模式下的栈指针存储至任务栈,将所述任务栈存储至DDR存储器;执行缓存刷新操作;在内部随机存储器IRAM中执行以下程序:保存DDR存储器的配置参数,将所述DDR存储器中保存的系统模式设置为外部触发唤醒模式,并控制所述安全域中所有的硬件掉电。本申请的方法和系统,能够使安全域运行的RTOS实现休眠模式,从而保证整个系统低功耗,并且提高了系统开关机速度。机速度。机速度。

【技术实现步骤摘要】
一种基于RTOS实现休眠模式的方法和系统


[0001]本申请涉及嵌入式领域,特别是涉及一种基于RTOS实现休眠模式的方法和系统。

技术介绍

[0002]在嵌入式领域中,RTOS(Real Time Operating System,实时操作系统)正得到越来越广泛的应用。RTOS的核心是实时任务调度功能、任务间通信。采用RTOS可以更合理、更高效地利用CPU的资源,更好的事件实时处理机制,通用的任务管理框架,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
[0003]目前多核芯片中,安全域中的核采用嵌入式实时操作系统RTOS,在RTOS下目前没有实现休眠的方案。

技术实现思路

[0004]为了解决现有技术中存在的至少一个问题,本申请的目的在于提供一种基于RTOS实现休眠模式的方法和系统,能够使安全域运行的RTOS实现休眠模式,从而保证整个系统低功耗,并且提高了系统开关机速度。
[0005]为实现上述目的,本申请提供的基于RTOS实现休眠模式的方法,包括:当接收软中断信号时,根据软中断处理函数确定所述软中断信号的类型是否为掉电模式;若确定所述软中断信号的类型是所述掉电模式,则将CPU的寄存器中的数据和不同模式下的栈指针存储至任务栈,将所述任务栈存储至DDR存储器;执行缓存刷新操作,使得所述DDR存储器的数据与缓存中的数据一致;在内部随机存储器IRAM中执行以下程序:保存DDR存储器的配置参数,将所述DDR存储器中保存的系统模式设置为外部触发唤醒模式,并控制所述安全域中所有的硬件掉电。
[0006]进一步地,所述当接收软中断信号时的步骤之前,还包括:调用所述安全域的各个驱动模块的suspend函数;将所述程序复制到所述IRAM中;产生软中断信号。
[0007]进一步地,所述根据软中断处理函数确定所述软中断信号的类型是否为掉电模式的步骤之后,还包括:若确定所述软中断信号的类型不是所述掉电模式,则执行任务切换操作。
[0008]进一步地,所述在内部随机存储器IRAM中执行以下程序:保存DDR存储器的配置参数,将所述DDR存储器中保存的系统模式设置为外部触发唤醒模式,并控制所述安全域中所有的硬件掉电的步骤之后,还包括:当所述安全域重新上电后,从所述DDR存储器中取出所述任务栈,从所述任务栈中取出所述CPU的寄存器中的数据和所述不同模式的栈指针,并恢复到所述CPU寄存器。
[0009]进一步地,所述当所述安全域重新上电后的步骤之前,还包括:
判断当前是否是掉电模式,如果是,则基于所述DDR存储器的配置参数,配置所述DDR存储器。
[0010]进一步地,所述恢复到所述CPU寄存器的步骤之后,还包括:从软中断返回。
[0011]进一步地,所述从软中断返回的步骤之后,还包括:判断掉电操作是否执行成功,如果执行成功,则调用各个驱动模块的resume函数,并将所述安全域上电,设置所述RTOS为正常操作模式,如果执行失败,则重新启动所述RTOS。
[0012]更进一步地,所述CPU的寄存器,包括以下中的一个或多个:链接寄存器、通用寄存器、程序状态寄存器、程序状态保存寄存器和系统控制协处理器的寄存器。
[0013]为实现上述目的,本申请还提供的基于RTOS实现休眠模式的系统,所述系统包括:确定模块,用于当接收软中断信号时,根据软中断处理函数确定所述软中断信号的类型是否为掉电模式;存储模块,用于将CPU的寄存器中的数据和不同模式下的栈指针存储至任务栈,将所述任务栈存储至DDR存储器;清缓存模块,用于执行缓存刷新操作,使得所述DDR存储器的数据与缓存中的数据一致;执行模块,用于在内部随机存储器IRAM中执行以下休眠程序:将所述DDR存储器的配置参数存储到存储器,将所述DDR存储器中保存的系统模式设置为外部触发唤醒模式,并控制安全域中所有的硬件掉电。
[0014]进一步地,还包括:恢复模块,用于从所述DDR存储器中取出所述任务栈,从所述任务栈中取出所述CPU的寄存器中的数据和所述不同模式的栈指针,并恢复到所述CPU寄存器。
[0015]进一步地,还包括:返回模块,用于从软中断返回。
[0016]更进一步地,还包括:判断模块,用于判断掉电操作是否执行成功,如果执行成功,则调用各个驱动模块的resume函数,并将所述安全域上电,设置所述RTOS为正常操作模式,如果执行失败,则重新启动所述RTOS。
[0017]为实现上述目的,本申请还提供的芯片,其上集成有如上所述的基于RTOS实现休眠模式的系统。
[0018]为实现上述目的,本申请还提供的电路板,包括如上所述的芯片。
[0019]为实现上述目的,本申请还提供的车机,包括如上所述的芯片。
[0020]为实现上述目的,本申请还提供的电子设备,包括,存储器和处理器,其特征在于,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行如上所述的基于RTOS实现休眠模式的方法的步骤。
[0021]为实现上述目的,本申请还提供的计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的基于RTOS实现休眠模式的方法的步骤。
[0022]本申请的一种基于RTOS实现休眠模式的方法和系统,通过当接收软中断信号时,根据软中断处理函数确定所述软中断信号的类型是否为休眠模式请求;若确定所述软中断信号的类型是所述休眠模式请求,则将CPU的寄存器中的数据和不同模式下的栈指针存储至任务栈,将所述任务栈存储至DDR存储器;执行缓存刷新操作;在内部随机存储器IRAM中执行以下休眠程序:将所述DDR存储器的配置参数存储到存储器,将所述DDR存储器中保存的系统模式设置为外部触发唤醒模式,并控制所述安全域中所有的硬件掉电,能够在RTOS中实现休眠模式,从而保证整个系统低功耗,并且提高了系统开关机速度。
[0023]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
[0024]附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:图1为根据本申请一个实施例的基于RTOS实现休眠模式的方法流程图;图2为根据本申请另一个实施例的基于RTOS实现休眠模式的方法流程图;图3为根据本申请一个实施例的基于RTOS实现休眠模式的系统结构框图;图4为根据本申请实施例的电路板结构示意图;图5为根据本申请实施例的芯片结构示意图;图6为根据本申请实施例的车机结构示意图。
具体实施方式
[0025]下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RTOS实现休眠模式的方法,应用于包含安全域的多核芯片,所述方法包括:当接收软中断信号时,根据软中断处理函数确定所述软中断信号的类型是否为掉电模式;若确定所述软中断信号的类型是所述掉电模式,则将CPU的寄存器中的数据和不同模式下的栈指针存储至任务栈,将所述任务栈存储至DDR存储器;执行缓存刷新操作,使得所述DDR存储器的数据与缓存中的数据一致;在内部随机存储器IRAM中执行以下程序:保存DDR存储器的配置参数,将所述DDR存储器中保存的系统模式设置为外部触发唤醒模式,并控制所述安全域中所有的硬件掉电。2.根据权利要求1所述的方法,其特征在于,所述当接收软中断信号时的步骤之前,还包括:调用所述安全域的各个驱动模块的suspend函数;将所述程序复制到所述IRAM中;产生软中断信号。3.根据权利要求1所述的方法,其特征在于,所述根据软中断处理函数确定所述软中断信号的类型是否为掉电模式的步骤之后,还包括:若确定所述软中断信号的类型不是所述掉电模式,则执行任务切换操作。4.根据权利要求1所述的方法,其特征在于,所述在内部随机存储器IRAM中执行以下程序:保存DDR存储器的配置参数,将所述DDR存储器中保存的系统模式设置为外部触发唤醒模式,并控制所述安全域中所有的硬件掉电的步骤之后,还包括:当所述安全域重新上电后,从所述DDR存储器中取出所述任务栈,从所述任务栈中取出所述CPU的寄存器中的数据和所述不同模式的栈指针,并恢复到所述CPU寄存器。5.根据权利要求4所述的方法,其特征在于,所述当所述安全域重新上电后的步骤之前,还包括:判断当前是否是掉电模式,如果是,则基于所述DDR存储器的配置参数,配置所述DDR存储器。6.根据权利要求4所述的方法,其特征在于,所述恢复到所述CPU寄存器的步骤之后,还包括:从软中断返回。7.根据权利要求6所述的方法,其特征在于,所述从软中断返回的步骤之后,还包括:判断掉电操作是否执行成功,如果执行成功,则调用各个驱动模块的resume函数,并将所述安全域上电,设置所述RTOS为正常操作模式,如果执行失败,则重新启动所述RTOS。8.根据权利要求1所述的方法,其特征在...

【专利技术属性】
技术研发人员:孙天茂
申请(专利权)人:南京芯驰半导体科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1