本发明涉及车辆操作系统内核中断管理,尤其涉及一种基于车辆操作系统的中断管理方法、系统和存储介质。
背景技术:
1、操作系统最早被应用在计算机中,随着嵌入式芯片及相关硬件的发展,嵌入式操作系统也应运而生。随着车辆应用领域越来越广阔,相关领域的硬件外设、数据处理和万物互联需求逐渐显现,为了实现车辆内部与外部的万物互联,开发有车辆整车控制器的操作系统。适用于车辆整车控制器的操作系统,对实时性有严格的要求,要求能在确定的时间内执行其功能并对外部的异步时间做出及时相应。车辆整车控制器的操作系统,其操作正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间相关,因此操作系统的首要任务就是调度一切可利用的资源完成实时控制任务。所以,车辆整车控制器的操作系统相比于一般的操作系统,其重要特点就是要满足对时间的限制和要求,并着眼于提高整体系统的使用效率。
2、现有技术多使用普通中断处理过程:当外设向操作系统发出中断请求信号,在满足可中断的条件时,暂停执行当前正在执行的主程序,转入执行相应能够进行操作的子程序,待操作执行完毕之后即返回继续执行原来被中断的主程序。然而,现有的普通中断处理技术存在成本高、分类不清晰、实时性要求低、代码庞大和功耗高的问题。
3、为此,如何提供一种能够实现更好的实时性的用于车辆操作系统的中断管理,是一个亟待解决的问题。
技术实现思路
1、鉴于此,本发明实施例提供了一种,以消除或改善现有技术中存在的一个或更多个缺陷。
2、本发明的一个方面提供了一种基于车辆操作系统的中断管理方法、系统和存储介质,该方法包括以下步骤:
3、接收与车辆操作系统关联的外部硬件产生的硬件中断请求,基于硬件中断请求包含的硬件中断向量跳转到硬件中断向量表,在硬件中断向量表中查询硬件中断向量从而确定硬件中断类型并生成与硬件中断类型相对应的硬件中断任务,根据预设中断处理分级标准确定硬件中断任务的中断处理优先级,由车辆操作系统保存当前寄存器内容;或者,接收由车辆操作系统关联的内部软件产生的软件中断请求,基于软件中断请求对应的软件中断任务包含的指令数目和预设中断处理分级标准确定软件中断任务的中断处理优先级;其中,中断处理优先级分为中断最高优先级和预设数目个从高到低的中断次优先级,每个中断次优先级对应一个中断任务链表;
4、将中断处理优先级为中断最高优先级的硬件中断任务或软件中断任务交由车辆操作系统内的中断服务程序进行立即处理;
5、将中断处理优先级为中断次优先级的硬件中断任务或软件中断任务发送到相应的中断任务链表中;
6、当中断处理优先级为中断最高优先级的硬件中断任务和软件中断任务执行完毕,按照从高到低的顺序通过车辆操作系统处理中断任务链表中的中断处理优先级为中断次优先级的硬件中断任务或软件中断任务;
7、在中断任务处理结束后跳出中断,由车辆操作系统恢复硬件中断前的寄存器内容,车辆操作系统返回中断前的任务。
8、在本发明的一些实施例中,中断服务程序的工作状态设置为关中断状态;该方法还包括:在将中断处理优先级为中断最高优先级的硬件中断任务或软件中断任务交由中断服务程序进行处理之前,修改中断服务程序的工作状态为开中断状态,在将中断处理优先级为中断最高优先级的硬件中断任务或软件中断任务交由中断服务程序进行处理之后,修改中断服务程序的工作状态为关中断状态。
9、在本发明的一些实施例中,该方法还包括:在在硬件中断向量表中查询硬件中断向量从而确定硬件中断类型并生成与硬件中断类型相对应的硬件中断任务步骤之后,基于硬件中断类型确定硬件中断的任务执行时间,基于软件中断请求对应的软件中断任务包含的指令数目确定软件中断的任务执行时间;对于停留在中断任务链表中的中断任务统计中断任务停留时间;对于除最高和最低的中断次优先级以外的中断次优先级对应的中断任务链表中的中断任务,当中断任务停留时间达到任务执行时间的预设倍数,将中断任务调整到向上一级的中断次优先级对应的中断任务链表中。
10、在本发明的一些实施例中,该方法还包括:对预设数目个从高到低的中断次优先级和预设数目个中断次优先级对应的预设数目个中断任务链表,基于从操作系统获取的车辆运行状态进行数目调整,其中,车辆运行状态包括关机态、开机态和驾驶态。
11、在本发明的一些实施例中,对预设数目个从高到低的中断次优先级和预设数目个中断次优先级对应的预设数目个中断任务链表,基于从操作系统获取的车辆运行状态进行数目调整步骤,包括:当车辆运行状态为关机态,调整中断任务链表为0;当车辆运行状态为开机态,保留至少一个中断任务链表;当车辆运行状态为驾驶态,保留至少一个最高的中断任务链表和一个最低的中断任务链表。
12、在本发明的一些实施例中,该方法还包括:对所有的硬件中断任务和软件中断任务统一分配中断号id,在多内核车辆操作系统中,基于中断号id确定硬件中断任务和软件中断任务所对应的内核位置。
13、在本发明的一些实施例中,在车辆操作系统初始化的阶段,将对于硬件中断的硬件中断向量表和中断处理分级标准注册到操作系统中。
14、在本发明的一些实施例中,车辆操作系统关联的内部软件包括刹车软件系统、胎压异常监测软件系统和雷达软件系统中的多种。
15、本发明的另一方面提供了一种基于车辆操作系统的中断管理系统,包括处理器和存储器,存储器中存储有计算机指令,处理器用于执行存储器中存储的计算机指令,当计算机指令被处理器执行时该系统实现如上实施例中任一项所述方法的步骤。
16、本发明的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上实施例中任一项所述方法的步骤。
17、本发明所提出的基于车辆操作系统的中断管理方法、系统和存储介质,能够针对硬件中断和软件中断基于预先建立的优先级机制,及时响应实时性高的中断事件,以此保障车载操作系统对于软件程序的中断请求的响应的实时性。
18、本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
19、本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
1.一种基于车辆操作系统的中断管理方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的基于车辆操作系统的中断管理方法,其特征在于,所述中断服务程序的工作状态设置为关中断状态;
3.根据权利要求1所述的基于车辆操作系统的中断管理方法,其特征在于,该方法还包括:
4.根据权利要求1所述的基于车辆操作系统的中断管理方法,其特征在于,该方法还包括:对预设数目个从高到低的中断次优先级和预设数目个中断次优先级对应的预设数目个中断任务链表,基于从操作系统获取的车辆运行状态进行数目调整,其中,所述车辆运行状态包括关机态、开机态和驾驶态。
5.根据权利要求4所述的基于车辆操作系统的中断管理方法,其特征在于,所述对预设数目个从高到低的中断次优先级和预设数目个中断次优先级对应的预设数目个中断任务链表,基于从操作系统获取的车辆运行状态进行数目调整步骤,包括:
6.根据权利要求1所述的基于车辆操作系统的中断管理方法,其特征在于,该方法还包括:对所有的硬件中断任务和软件中断任务统一分配中断号id,在多内核车辆操作系统中,基于所述中断号id确定硬件中断任务和软件中断任务所对应的内核位置。
7.根据权利要求1所述的基于车辆操作系统的中断管理方法,其特征在于,在车辆操作系统初始化的阶段,将对于硬件中断的硬件中断向量表和所述中断处理分级标准注册到操作系统中。
8.根据权利要求1所述的基于车辆操作系统的中断管理方法,其特征在于,所述车辆操作系统关联的内部软件包括刹车软件系统、胎压异常监测软件系统和雷达软件系统中的多种。
9.一种基于车辆操作系统的中断管理系统,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。