软件辅助集成电路启动方法、装置、存储介质及集成电路与流程

摘要: 本公开涉及集成电路技术,尤其是一种软件辅助集成电路启动方法、装置、存储介质及集成电路。背景技术:1、soc(系统级芯片,systemonchip)芯片上电启动流...
软件辅助集成电路启动方法、装置、存储介质及集成电路与流程

本公开涉及集成电路技术,尤其是一种软件辅助集成电路启动方法、装置、存储介质及集成电路。

背景技术:

1、soc(系统级芯片,system on chip)芯片上电启动流程中,通常由硬件状态机主导,该阶段通常被称为上电复位阶段,它是芯片从通电到执行第一条指令之间,完全由硬件自动完成的初始化过程。整个过程无需软件参与,目的是为后续的bootrom代码运行建立一个稳定、可靠的硬件环境。硬件状态机主导的启动过程,无法对硬件状态进行实时监控,无法对启动过程进行灵活控制,导致启动成功率低且修复困难。

技术实现思路

1、为了解决上述技术问题,本公开提供了一种软件辅助集成电路启动方法、装置、存储介质及集成电路,以解决硬件状态机主导的芯片启动过程无法监控和灵活控制,启动成功率低的问题。

2、本公开实施例的第一个方面,提供了一种软件辅助集成电路启动方法,包括:响应于集成电路上电启动,执行上电初始化操作;获取预设的软件辅助启动标志;若软件辅助启动标志为预设数值,按照预先对集成电路启动的硬件启动控制逻辑划分的至少一个执行阶段,执行软件辅助启动流程;在软件辅助启动流程中,对于至少一个执行阶段中的任一执行阶段,在该执行阶段执行前,确定该执行阶段在执行时所需的目标硬件启动单元;控制目标硬件启动单元启动该执行阶段。

3、本公开实施例的第二个方面,提供了一种软件辅助集成电路启动装置,包括:初始化模块,用于响应于集成电路上电启动,执行上电初始化操作;获取模块,用于获取预设的软件辅助启动标志;启动模块,用于若软件辅助启动标志为预设数值,按照预先对集成电路启动的硬件启动控制逻辑划分的至少一个执行阶段,执行软件辅助启动流程;确定模块,用于在软件辅助启动流程中,对于至少一个执行阶段中的任一执行阶段,在该执行阶段执行前,确定该执行阶段在执行时所需的目标硬件启动单元;第一执行模块,用于控制目标硬件启动单元启动该执行阶段。

4、本公开实施例的第三个方面,提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序被执行时,用于实现上述软件辅助集成电路启动方法。

5、本公开实施例的第四个方面,提供了一种电子设备,该电子设备包括:存储器,用于存储可执行指令;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述软件辅助集成电路启动方法。

6、本公开实施例的第五个方面,提供了一种计算机程序产品,计算机程序产品包括计算机程序指令,当计算机程序指令由指令处理器执行时,执行上述软件辅助集成电路启动方法。

7、基于本公开实施例提供的软件辅助集成电路启动方法、装置、存储介质及集成电路,通过在集成电路上电启动过程中,先执行上电初始化操作,再获取软件辅助启动标志,若软件辅助启动标志为预设数值,按照预先对硬件启动控制逻辑划分的至少一个执行阶段,执行软件辅助启动流程,在软件辅助启动流程中,对于至少一个执行阶段中的任一执行阶段,在该执行阶段执行前,确定该执行阶段在执行时所需的目标硬件启动单元,并控制目标硬件启动单元启动该执行阶段,实现了在集成电路上电启动过程中,由软件实时监控各个硬件启动单元的状态,调度各个硬件启动单元的执行流程,将硬件启动与软件辅助结合,提高了集成电路启动控制的灵活性,降低启动失败的风险。

1.一种软件辅助集成电路启动方法,包括:

2.根据权利要求1所述的方法,其中,所述按照预先对集成电路启动的硬件启动控制逻辑划分的至少一个执行阶段,执行软件辅助启动流程,包括:

3.根据权利要求2所述的方法,其中,在所述确定软件辅助启动是否完成之后,所述方法还包括:

4.根据权利要求2所述的方法,其中,在所述基于所述启动代码,重新获取所述软件辅助启动标志之后,所述方法还包括:

5.根据权利要求1所述的方法,其中,所述控制所述目标硬件启动单元启动该执行阶段,包括:

6.根据权利要求1所述的方法,其中,在所述控制所述目标硬件启动单元启动该执行阶段之后,所述方法还包括:

7.根据权利要求6所述的方法,其中,在所述实时确定该执行阶段所需的所述目标硬件启动单元的执行状态之后,所述方法还包括:

8.根据权利要求1所述的方法,其中,所述获取预设的软件辅助启动标志,包括:

9.根据权利要求1所述的方法,其中,在所述获取预设的软件辅助启动标志之后,所述方法还包括:

10.一种软件辅助集成电路启动装置,包括:

11.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被执行时,用于实现上述权利要求1-9任一所述的软件辅助集成电路启动方法。

12.一种集成电路,包括:存储器、硬件启动模块、处理器;