System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种中断配置方法、装置、电子设备及存储介质。
技术介绍
1、在系统级芯片(system on chip,soc)设计中,为了解决性能与功耗的平衡、通过并行化加速计算等,而越来越多地使用同构多核、异构多核的设计。异构多核设计可以根据任务的性质,将其分配给最适合的核心,从而进一步提高能效、平衡性能与功耗。多核设计可以通过并行处理来提高性能,尤其是在处理并行化程度高的任务时,多核设计可以大大提高性能。但同时无论是同构多核还是异构多核的设计,都会涉及到对外设的同时访问问题,特别是中断控制器(generic interrupt controller,gic)的访问。由于一颗soc芯片中运行多个操作系统,多个操作系统共享同一gic,对于其中的某一操作系统来说,系统会认为当前芯片的所有资源都是属于该系统的,这就导致当系统a在驱动gic中的某个中断时,系统b正在初始化gic,导致系统a挂死或出现不可控的情况;而当系统a和系统b都在初始化gic时,会导致两个系统都无法正常启动。
技术实现思路
1、为了解决上述提出的至少一个技术问题,本公开提出了一种中断配置方法、装置、电子设备及存储介质。
2、一方面,本专利技术提供了一种中断配置方法,包括:
3、配置多个操作系统各自对应的中断需求列表,中断需求列表指示对应的操作系统对中断控制器中各个中断的调用信息,多个操作系统共享中断控制器;
4、基于中断需求列表,将中断控制器中各个中断配置到相应的操
5、在一个可选的实施例中,多个操作系统各自对应的中断需求列表包括预留列表和初始化列表,初始化列表指示目标操作系统需要调用的中断,预留列表指示目标操作系统不需要调用的中断,目标操作系统为多个操作系统中的任一操作系统。
6、在一个可选的实施例中,每一操作系统均调用中断控制器中的至少一个中断,每一中断均被多个操作系统中不超过一个操作系统调用。
7、在一个可选的实施例中,配置多个操作系统各自对应的中断需求列表,包括:
8、在目标操作系统需要调用的中断不包括中断控制器中的首个中断,且目标操作系统需要调用的中断超过预设数量的情况下,将目标操作系统不需要调用的中断所对应的中断号,写入目标操作系统的预留列表,并将目标操作系统的初始化列表配置为空;
9、在目标操作系统需要调用的中断不包括中断控制器中的首个中断,且目标操作系统需要调用的中断未超过预设数量的情况下,将目标操作系统不需要调用的中断中的前序中断所对应的中断号,写入目标操作系统的预留列表,并将目标操作系统需要调用的中断所对应的中断号,写入目标操作系统的初始化列表,前序中断为中断控制器内目标操作系统需要调用的首个中断前的中断;
10、在目标操作系统需要调用的中断包括中断控制器中的首个中断的情况下,将目标操作系统需要调用的中断所对应的中断号,写入目标操作系统的初始化列表,并将目标操作系统的预留列表配置为空。
11、在一个可选的实施例中,中断控制器配置有预留数组和初始化数组,预留数组用于存储预留列表,初始化数组用于存储初始化列表,基于中断需求列表,将中断控制器中各个中断配置到相应的操作系统中,包括:
12、将预留列表和初始化列表分别存入预留数组和初始化数组;
13、基于预设中断配置逻辑,将预留数组和初始化数组中存储的调用信息配置到对应的目标操作系统。
14、在一个可选的实施例中,基于预设中断配置逻辑,将预留数组和初始化数组中存储的调用信息配置到对应的目标操作系统,包括:
15、将中断控制器中的首个中断确定为目标中断,并确定预留数组中存储的中断号是否为空;
16、在预留数组中存储的中断号为空的情况下,确定初始化数组中存储的中断号是否为空;
17、在预留数组中存储的中断号不为空的情况下,确定目标中断的中断号是否存储在预留数组中;
18、在目标中断的中断号存储在预留数组中的情况下,跳过目标中断,并将中断控制器中的下一中断确定为目标中断,直至遍历到中断控制器中的最后一个中断;
19、在目标中断的中断号未存储在预留数组中的情况下,确定初始化数组中存储的中断号是否为空;
20、在初始化数组中存储的中断号为空的情况下,将目标中断配置到目标操作系统,并将中断控制器中的下一中断确定为目标中断,直至遍历到中断控制器中的最后一个中断;
21、在初始化数组中存储的中断号不为空的情况下,确定目标中断的中断号是否存储在初始化数组中;
22、在目标中断的中断号存储在初始化数组中的情况下,将目标中断配置到目标操作系统,并将中断控制器中的下一中断确定为目标中断,直至遍历到中断控制器中的最后一个中断;
23、在目标中断的中断号未存储在初始化数组中的情况下,跳过目标中断,并将中断控制器中的下一中断确定为目标中断,直至遍历到中断控制器中的最后一个中断。
24、在一个可选的实施例中,多个操作系统依次启动,方法还包括:
25、在目标操作系统启动时,将目标操作系统的预留列表和初始化列表分别存入预留数组和初始化数组;
26、基于预设中断配置逻辑,将预留数组和初始化数组中存储的调用信息配置到对应的目标操作系统之后,方法还包括:将预留数组和初始化数组中分别存储的目标操作系统的预留列表和初始化列表删除。
27、第二方面,本专利技术还提供了一种中断配置装置,包括:
28、第一配置模块,用于配置多个操作系统各自对应的中断需求列表,中断需求列表指示对应的操作系统对中断控制器中各个中断的调用情况,多个操作系统共享中断控制器;
29、第二配置模块,用于基于中断需求列表,将中断控制器中各个中断配置到相应的操作系统中。
30、第三方面,本专利技术还提供了一种电子设备,包括:
31、处理器;
32、用于存储处理器可执行指令的存储器;
33、其中,处理器用于执行指令,以实现上述中断配置方法。
34、第四方面,本专利技术还提供了一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述中断配置方法。
35、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
36、实施本公开,具有以下有益效果:
37、配置多个操作系统各自对应的中断需求列表,中断需求列表指示对应的操作系统对中断控制器中各个中断的调用信息,多个操作系统共享中断控制器;基于中断需求列表,将中断控制器中各个中断配置到相应的操作系统中。
38、本公开通过配置多个操作系统各自对应的中断需求列表,能够实现通过中断需求列表指示对应的操作系统对中断控制器中的中断的需求情况;通过基于中断需求列表,将中断控制器中各个中断配置到相应的操作系统中,能够对中断控制器中各个中断进行合理配本文档来自技高网...
【技术保护点】
1.一种中断配置方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于:所述多个操作系统各自对应的中断需求列表包括预留列表和初始化列表,所述初始化列表指示目标操作系统需要调用的中断,所述预留列表指示所述目标操作系统不需要调用的中断,所述目标操作系统为所述多个操作系统中的任一操作系统。
3.根据权利要求1所述的方法,其特征在于:每一所述操作系统均调用所述中断控制器中的至少一个中断,每一中断均被所述多个操作系统中不超过一个操作系统调用。
4.根据权利要求2所述的方法,其特征在于,所述配置多个操作系统各自对应的中断需求列表,包括:
5.根据权利要求2或4所述的方法,其特征在于,所述中断控制器配置有预留数组和初始化数组,所述预留数组用于存储所述预留列表,所述初始化数组用于存储所述初始化列表,所述基于所述中断需求列表,将所述中断控制器中各个中断配置到相应的操作系统中,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于预设中断配置逻辑,将所述预留数组和初始化数组中存储的调用信息配置到对应的目标操作系统,包
7.根据权利要求5所述的方法,其特征在于,所述多个操作系统依次启动,所述方法还包括:
8.一种中断配置装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的中断配置方法。
...【技术特征摘要】
1.一种中断配置方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于:所述多个操作系统各自对应的中断需求列表包括预留列表和初始化列表,所述初始化列表指示目标操作系统需要调用的中断,所述预留列表指示所述目标操作系统不需要调用的中断,所述目标操作系统为所述多个操作系统中的任一操作系统。
3.根据权利要求1所述的方法,其特征在于:每一所述操作系统均调用所述中断控制器中的至少一个中断,每一中断均被所述多个操作系统中不超过一个操作系统调用。
4.根据权利要求2所述的方法,其特征在于,所述配置多个操作系统各自对应的中断需求列表,包括:
5.根据权利要求2或4所述的方法,其特征在于,所述中断控制器配置有预留数组和初始化数...
【专利技术属性】
技术研发人员:严丽琴,
申请(专利权)人:中汽创智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。