System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种片上系统的修复方法、修复装置、电子设备及存储介质制造方法及图纸_技高网

一种片上系统的修复方法、修复装置、电子设备及存储介质制造方法及图纸

技术编号:41273880 阅读:2 留言:0更新日期:2024-05-11 09:27
本申请的实施例公开了一种片上系统的修复方法、修复装置、电子设备及存储介质,涉及片上系统安全启动技术领域,能够有效提高对片上系统启动异常的修复的灵活性。所述片上系统包含多个电路模块,所述方法包括:在启动所述片上系统的过程中,初始化所述多个电路模块中的至少一个电路模块;响应于所述至少一个电路模块启动异常,判断是否需要修改所述至少一个电路模块的寄存器配置信息;在需要修改所述至少一个电路模块的寄存器配置信息的情况下,将所述至少一个电路模块的寄存器配置更新信息以eFuse格式写到eFuse中,并复位所述片上系统。本发明专利技术适用于对片上系统启动异常的修复场景。

【技术实现步骤摘要】

本申请涉及片上系统安全启动,具体涉及一种片上系统的修复方法、修复装置、电子设备及存储介质


技术介绍

1、bootrom(boot read-only memory,存放片上系统启动程序的只读存储器),其容量很小,固化在soc(system-on-chip,系统级芯片,又称为片上系统)内部的一小块norflash(一种非易失闪存)存储单元上。bootrom的代码块在soc片内负责引导片上系统的第一阶段启动,如果这块代码出现问题,可能直接导致片上系统流片(试生产)失败,或大规模生产时造成大量的不良品。

2、例如,bootrom中的代码会配置大量寄存器,寄存器配置值的合理性直接影响到片上系统能否正常启动,一旦bootrom中寄存器配置值错误,往往需要花费较大的代价通过eco(engineering change order,工程变更指令)甚至重新流片来修改bootrom中的代码。当前针对bootrom异常的修复方法主要是通过新增检测电路、修复电路等,但实际作用有限。

3、因此,对于片上系统流片后无法预知的bootrom异常问题,目前尚未有较好的解决方案。


技术实现思路

1、为了解决现有的片上系统启动异常问题,本申请提供一种片上系统的修复方法、修复装置、电子设备及存储介质。

2、第一方面,本专利技术实施例提供一种片上系统的修复方法,所述片上系统包含多个电路模块,所述方法包括:在启动所述片上系统的过程中,初始化所述多个电路模块中的至少一个电路模块;响应于所述至少一个电路模块启动异常,判断是否需要修改所述至少一个电路模块的寄存器配置信息;在需要修改所述至少一个电路模块的寄存器配置信息的情况下,将所述至少一个电路模块的寄存器配置更新信息以efuse格式写到efuse中,并复位所述片上系统。

3、在一种具体的实施方案中,在复位所述片上系统之后,所述方法还包括:读取所述efuse中所述至少一个电路模块的寄存器配置更新信息;根据所述至少一个电路模块的寄存器配置更新信息,对所述至少一个电路模块的寄存器配置信息进行修改;重新初始化所述至少一个电路模块。

4、在一种具体的实施方案中,所述配置更新信息包括所述至少一个电路模块的寄存器的地址参数和配置参数;所述根据所述至少一个电路模块的寄存器配置更新信息,对所述至少一个电路模块的寄存器配置信息进行修改,包括:根据所述至少一个电路模块的寄存器的地址参数,将所述至少一个电路模块的寄存器的配置参数写入所述至少一个电路模块的寄存器的地址中。

5、在一种具体的实施方案中,所述配置更新信息还包括配置标识,所述配置标识用于确定是否需要对所述至少一个电路模块的寄存器的配置信息进行修改;在读取所述efuse中所述至少一个电路模块的寄存器配置更新信息之后,所述方法还包括:根据所述至少一个电路模块的寄存器配置更新信息的配置标识,确定是否需要对所述至少一个电路模块的寄存器配置信息进行修改。

6、在一种具体的实施方案中,所述地址参数为所述至少一个电路模块的寄存器的实际地址,或所述地址参数为所述至少一个电路模块的寄存器的基地址、偏移地址。

7、在一种具体的实施方案中,所述配置更新信息还包括地址模式;若所述地址模式为基于实际地址的配置模式,则所述读取所述efuse中所述至少一个电路模块的寄存器配置更新信息,包括:从所述efuse中读取所述至少一个电路模块的寄存器的实际地址和配置参数;若所述地址模式为基于基地址的配置模式,则所述读取所述efuse中所述至少一个电路模块的寄存器配置更新信息,包括:从所述efuse中读取所述至少一个电路模块的寄存器的基地址、偏移地址与配置参数,并根据所述至少一个电路模块的寄存器的基地址、偏移地址,确定所述至少一个电路模块的寄存器的实际地址。

8、在一种具体的实施方案中,在将所述至少一个电路模块的寄存器配置更新信息以efuse格式写到efuse中之后,所述方法还包括:在所述片上系统中存储用于读取所述efuse中所述至少一个电路模块的寄存器配置更新信息的执行代码。

9、第二方面,本专利技术的实施例还提供一种片上系统的修复装置,所述片上系统的修复装置,包括:初始化单元,用于在启动所述片上系统的过程中,初始化所述片上系统的多个电路模块中的至少一个电路模块;判断单元,用于响应于所述至少一个电路模块启动异常,判断是否需要修改所述至少一个电路模块的寄存器配置信息;写入单元,用于在需要修改所述至少一个电路模块的寄存器配置信息的情况下,将所述至少一个电路模块的寄存器配置更新信息以efuse格式写到efuse中,并复位所述片上系统。

10、在一种具体的实施方案中,所述的装置还包括:读取单元,用于读取所述efuse中所述至少一个电路模块的寄存器配置更新信息;修改单元,用于根据所述至少一个电路模块的寄存器配置更新信息,对所述至少一个电路模块的寄存器配置信息进行修改;重新初始化单元,用于重新初始化所述至少一个电路模块。

11、在一种具体的实施方案中,所述配置更新信息包括所述至少一个电路模块的寄存器的地址参数和配置参数;所述修改单元具体用于:根据所述至少一个电路模块的寄存器的地址参数,将所述至少一个电路模块的寄存器的配置参数写入所述至少一个电路模块的寄存器的地址中。

12、在一种具体的实施方案中,所述配置更新信息还包括配置标识,所述配置标识用于确定是否需要对所述至少一个电路模块的寄存器的配置信息进行修改;所述装置还包括配置标识判别单元,用于在读取所述efuse中所述至少一个电路模块的寄存器配置更新信息之后,根据所述至少一个电路模块的寄存器配置更新信息的配置标识,确定是否需要对所述至少一个电路模块的寄存器配置信息进行修改。

13、在一种具体的实施方案中,所述地址参数为所述至少一个电路模块的寄存器的实际地址,或所述地址参数为所述至少一个电路模块的寄存器的基地址、偏移地址。

14、在一种具体的实施方案中,所述配置更新信息还包括地址模式;所述读取单元包括:第一读取模块,用于若所述地址模式为基于实际地址的配置模式,则从所述efuse中读取所述至少一个电路模块的寄存器的实际地址和配置参数;第二读取模块,用于若所述地址模式为基于基地址的配置模式,则从所述efuse中读取所述至少一个电路模块的寄存器的基地址、偏移地址与配置参数,并根据所述至少一个电路模块的寄存器的基地址、偏移地址,确定所述至少一个电路模块的寄存器的实际地址。

15、在一种具体的实施方案中,所述的装置还包括执行代码存储单元,用于将所述至少一个电路模块的寄存器配置更新信息以efuse格式写到efuse中之后,在所述片上系统中存储用于读取所述efuse中所述至少一个电路模块的寄存器配置更新信息的执行代码。

16、第三方面,本专利技术的实施例还提供一种电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用本文档来自技高网...

【技术保护点】

1.一种片上系统的修复方法,所述片上系统包含多个电路模块,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在复位所述片上系统之后,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述配置更新信息包括所述至少一个电路模块的寄存器的地址参数和配置参数;

4.根据权利要求2所述的方法,其特征在于,所述配置更新信息还包括配置标识,所述配置标识用于确定是否需要对所述至少一个电路模块的寄存器的配置信息进行修改;

5.根据权利要求3所述的方法,其特征在于,所述地址参数为所述至少一个电路模块的寄存器的实际地址,或所述地址参数为所述至少一个电路模块的寄存器的基地址、偏移地址。

6.根据权利要求5所述的方法,其特征在于,所述配置更新信息还包括地址模式;

7.根据权利要求1所述的方法,其特征在于,在将所述至少一个电路模块的寄存器配置更新信息以eFuse格式写到eFuse中之后,所述方法还包括:

8.一种片上系统的修复装置,其特征在于,包括:

9.根据权利要求8所述的装置,其特征在于,还包括:

10.根据权利要求9所述的装置,其特征在于,所述配置更新信息包括所述至少一个电路模块的寄存器的地址参数和配置参数;

11.根据权利要求9所述的装置,其特征在于,所述配置更新信息还包括配置标识,所述配置标识用于确定是否需要对所述至少一个电路模块的寄存器的配置信息进行修改;

12.根据权利要求10所述的装置,其特征在于,所述地址参数为所述至少一个电路模块的寄存器的实际地址,或所述地址参数为所述至少一个电路模块的寄存器的基地址、偏移地址。

13.根据权利要求12所述的装置,其特征在于,所述配置更新信息还包括地址模式;

14.根据权利要求8所述的装置,其特征在于,还包括执行代码存储单元,用于将所述至少一个电路模块的寄存器配置更新信息以eFuse格式写到eFuse中之后,在所述片上系统中存储用于读取所述eFuse中所述至少一个电路模块的寄存器配置更新信息的执行代码。

15.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-7中任一项所述的片上系统的修复方法。

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1-7中任一项所述的片上系统的修复方法。

...

【技术特征摘要】

1.一种片上系统的修复方法,所述片上系统包含多个电路模块,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在复位所述片上系统之后,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述配置更新信息包括所述至少一个电路模块的寄存器的地址参数和配置参数;

4.根据权利要求2所述的方法,其特征在于,所述配置更新信息还包括配置标识,所述配置标识用于确定是否需要对所述至少一个电路模块的寄存器的配置信息进行修改;

5.根据权利要求3所述的方法,其特征在于,所述地址参数为所述至少一个电路模块的寄存器的实际地址,或所述地址参数为所述至少一个电路模块的寄存器的基地址、偏移地址。

6.根据权利要求5所述的方法,其特征在于,所述配置更新信息还包括地址模式;

7.根据权利要求1所述的方法,其特征在于,在将所述至少一个电路模块的寄存器配置更新信息以efuse格式写到efuse中之后,所述方法还包括:

8.一种片上系统的修复装置,其特征在于,包括:

9.根据权利要求8所述的装置,其特征在于,还包括:

10.根据权利要求9所述的装置,其特征在于,所述配置更新信息包括所述至少一个电路模块的寄存器的地址参数和配置参数;

11.根据权利要求9所述的装置,其特征在于,所述配置更新信息还包...

【专利技术属性】
技术研发人员:马标武星向豪郁家福严成良李功波张攀勇陈玉龙
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1