CN112231136A - SoC芯片、获取修复信息的方法、存储介质及电子设备 - Google Patents

SoC芯片、获取修复信息的方法、存储介质及电子设备 Download PDF

Info

Publication number
CN112231136A
CN112231136A CN202011218074.4A CN202011218074A CN112231136A CN 112231136 A CN112231136 A CN 112231136A CN 202011218074 A CN202011218074 A CN 202011218074A CN 112231136 A CN112231136 A CN 112231136A
Authority
CN
China
Prior art keywords
repair
data
rom
circuit
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011218074.4A
Other languages
English (en)
Inventor
魏华铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Actions Technology Co Ltd
Original Assignee
Actions Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Actions Technology Co Ltd filed Critical Actions Technology Co Ltd
Priority to CN202011218074.4A priority Critical patent/CN112231136A/zh
Publication of CN112231136A publication Critical patent/CN112231136A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及一种SoC芯片、获取修复信息的方法、存储介质及电子设备,该SoC芯片包括数据加载电路、修复电路、修复存储器、CPU以及ROM,该修复存储器分别与该数据加载电路和该修复电路连接,该CPU分别与该修复电路和该ROM连接;该数据加载电路,用于在该SoC芯片上电后,从预设存储器获取该ROM对应的修复信息,并将该修复信息存储在该修复存储器中;该修复电路,用于从该修复存储器中获取该修复信息;该CPU,用于从该修复电路中获取该修复信息,并根据该修复信息执行该ROM中的软件代码。这样,在ROM中的数据错误导致SoC芯片运行异常的情况下,CPU可以根据该修复信息执行ROM中的软件代码,使得该SoC芯片可以正常运行,从而可以提高芯片的生产效率。

Description

SoC芯片、获取修复信息的方法、存储介质及电子设备
技术领域
本公开涉及存储技术领域,具体地,涉及一种SoC芯片、获取修复信息的方法、存储介质及电子设备。
背景技术
ROM(Read-Only Memory,只读存储器)是SoC(System on Chip,片上系统)芯片内部的只读存储器,用于存储代码或数据。目前,绝大多数的 SoC芯片是从ROM开始启动,运行ROM中的启动代码,并结合芯片中的其它相关外设配置实现芯片的启动运行。
但是,由于ROM中的启动代码不能更改,在该启动代码对应的逻辑运算或执行步骤出现错误时,只能将该芯片作废,导致芯片的生产效率比较低。
发明内容
为了解决上述问题,本公开提供一种SoC芯片、获取修复信息的方法、存储介质及电子设备。
第一方面,本公开提供一种SoC芯片,包括:数据加载电路、修复电路、修复存储器、CPU以及ROM,所述修复存储器分别与所述数据加载电路和所述修复电路连接,所述CPU分别与所述修复电路和所述ROM连接;所述数据加载电路,用于在所述SoC芯片上电后,从预设存储器获取所述ROM 对应的修复信息,并将所述修复信息存储在所述修复存储器中;所述修复电路,用于从所述修复存储器中获取所述修复信息;所述CPU,用于从所述修复电路中获取所述修复信息,并根据所述修复信息执行所述ROM中的软件代码。
可选地,所述修复信息包括ROM地址中的待修复地址和所述待修复地址对应的待修复数据;所述数据加载电路,还用于获取所述待修复地址在所述修复存储器中对应的第一目标地址,并将所述待修复数据写入所述第一目标地址中;所述修复电路,还用于从所述第一目标地址中读取所述待修复数据;所述CPU,还用于从所述修复电路中读取所述待修复数据,并根据所述待修复数据执行所述ROM中的软件代码。
可选地,所述修复信息包括使能数据、ROM地址以及所述ROM地址对应的ROM数据,所述使能数据用于表示所述ROM地址对应的数据是否需要修复;所述数据加载电路,还用于:获取所述ROM地址在所述修复存储器中对应的第二目标地址,将所述使能数据和所述ROM数据写入所述第二目标地址中;所述修复电路,还用于从所述第二目标地址中读取所述使能数据和所述ROM数据;所述CPU,还用于从所述修复电路中读取所述使能数据和所述ROM数据,并根据所述使能数据和所述ROM数据执行所述 ROM中的软件代码。
可选地,所述CPU,还用于根据所述使能数据,从读取的所述ROM数据中确定待修复数据,并根据所述待修复数据执行所述ROM中的软件代码。
可选地,所述修复电路包括初始化模块和补丁寄存器;所述初始化模块,用于从所述修复存储器中读取所述修复信息,并将所述修复信息存储在所述补丁寄存器中;所述CPU,还用于从所述补丁寄存器中读取所述修复信息,并根据所述修复信息执行所述ROM中的软件代码。
可选地,所述数据加载电路,还用于在将所述修复信息存储在所述修复存储器后,向所述修复电路发送读取信号;所述修复电路,还用于在接收到所述数据加载电路发送的所述读取信号后,从所述修复存储器中获取所述修复信息。
第二方面,本公开提供一种获取修复信息的方法,应用于SoC芯片的修复电路,所述SoC芯片包括数据加载电路、所述修复电路、修复存储器、 CPU以及ROM,所述修复存储器分别与所述数据加载电路和所述修复电路连接,所述CPU分别与所述修复电路和所述ROM连接,所述方法包括:在所述SoC芯片上电,所述数据加载电路从预设存储器获取所述ROM对应的修复信息,并将所述修复信息存储在所述修复存储器后,从所述修复存储器中获取所述修复信息,以便所述CPU从所述修复电路中获取所述修复信息,并根据所述修复信息执行所述ROM中的软件代码。
可选地,所述修复电路包括初始化模块和补丁寄存器,所述从所述修复存储器中获取所述修复信息包括:通过所述初始化模块从所述修复存储器中读取所述修复信息;将所述修复信息存储在所述补丁寄存器中。
第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第二方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括本公开第一方面所述的SoC 芯片。
通过上述技术方案,提供一种SoC芯片,所述SoC芯片包括数据加载电路、修复电路、修复存储器、CPU以及ROM,所述修复存储器分别与所述数据加载电路和所述修复电路连接,所述CPU分别与所述修复电路和所述ROM连接;所述数据加载电路,用于在所述SoC芯片上电后,从预设存储器获取所述ROM对应的修复信息,并将所述修复信息存储在所述修复存储器中;所述修复电路,用于从所述修复存储器中获取所述修复信息;所述 CPU,用于从所述修复电路中获取所述修复信息,并根据所述修复信息执行所述ROM中的软件代码。也就是说,在SoC芯片上电后,CPU执行ROM 中的软件代码之前,可以通过修复电路先获取ROM对应的修复信息,这样,在ROM中的数据错误导致SoC芯片运行异常的情况下,CPU可以根据该修复信息执行ROM中的软件代码,使得该SoC芯片可以正常运行,无需将该SoC芯片作废,从而可以提高芯片的生产效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种SoC芯片的结构示意图;
图2是本公开实施例提供的一种地址对应关系示意图;
图3是本公开实施例提供的另一种SoC芯片的结构示意图;
图4是本公开实施例提供的一种电子设备的框图。
附图标记说明
100 SoC芯片 101 数据加载电路
102 修复电路 103 修复存储器
104 CPU 105 ROM
1021 初始化模块 1022 补丁寄存器
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在下文中的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
首先,对本公开的应用场景进行说明。随着SoC芯片的快速发展,SoC 芯片运行过程越来越复杂,需要存储在ROM中的数据也越来越多,因此,在SoC芯片运行过程中ROM中的代码出现运行异常的概率也会增加。由于 ROM中的数据无法更改,相关技术中,可以在ROM中的软件代码运行错误的情况下,通过软件修复代码对该错误进行修复。
但是,通过软件修复代码修复ROM中的错误时,该修复代码需要在 ROM的启动代码执行完成之后才能执行,若ROM的启动代码本身存在错误,则无法通过该修复代码进行修复,只能将该芯片作废,导致芯片的生产效率比较低。
为了解决上述问题,本公开提供一种SoC芯片、获取修复信息的方法、存储介质及电子设备,在SoC芯片上电后,CPU执行ROM中的软件代码之前,可以通过修复电路先获取ROM对应的修复信息,这样,在ROM中的数据错误导致SoC芯片运行异常的情况下,CPU可以根据该修复信息执行 ROM中的软件代码,使得该SoC芯片可以正常运行,无需将该SoC芯片作废,从而可以提高芯片的生产效率。
下面结合具体实施例对本公开进行说明。
图1是本公开实施例提供的一种SoC芯片的结构示意图。如图1所示,该SoC芯片100包括数据加载电路101、修复电路102、修复存储器103、 CPU 104以及ROM 105,该修复存储器103分别与该数据加载电路101和该修复电路102连接,该CPU 104分别与该修复电路102和该ROM 105连接;
该数据加载电路101,用于在该SoC芯片100上电后,从预设存储器获取该ROM 105对应的修复信息,并将该修复信息存储在该修复存储器103 中;
该修复电路102,用于从该修复存储器103中获取该修复信息;
该CPU 104,用于从该修复电路102中获取该修复信息,并根据该修复信息执行该ROM 105中的软件代码。
其中,该预设存储器可以是ROM 105外部的存储介质,例如NorFlash、efuse等,该修复信息可以预先存储在该预设存储器的预设位置,该预设位置可以包括多个地址,例如DFIX_ADDR-0,DFIX_ADDR-1,DFIX_ADDR-N,根据该修复信息中的待修复数据,确定需要的地址的个数,在对应的地址中写入该待修复数据。示例地,在SoC芯片100生产或测试过程中,若发现 ROM 105中的代码或数据有错误,则可以在该预设存储器的预设位置写入正确的数据,例如,针对时钟错误,可以在DFIX_ADDR-0中写入待修复的时钟数据,针对电源错误,可以在DFIX_ADDR-1中写入待修复的电源数据。这里,每个地址对应的错误类型可以根据ROM105中代码的逻辑预先确定,本公开在此不作限定。
另外,该预设存储器中的地址和该修复存储器103中的地址可以是一一对应的,示例地,图2是本公开实施例提供的一种地址对应关系示意图,如图2所示,该预设存储器中的DFIX_ADDR-0对应该修复存储器103中的 DFIX_ADDR-0,该预设存储器中的DFIX_ADDR-N对应该修复存储器103 中的DFIX_ADDR-N,其中,N可以是4、8、12、16等,本公开对此不作限定。该数据加载电路101在该预设存储器的DFIX_ADDR-0读取的数据,可以存储在该修复存储器103的DFIX_ADDR-0中,该数据加载电路101在该预设存储器的DFIX_ADDR-N读取的数据,可以存储在该修复存储器103 的DFIX_ADDR-N中。
需要说明的是,上述预设存储器中的地址和该修复存储器103中的地址的对应关系只是举例说明,本公开也可以通过其它方式建立该预设存储器中的地址和该修复存储器103中的地址的对应关系,只要能够确保该预设存储器中的地址和该修复存储器103中的地址对应即可,本公开对此不作限定。
由于该预设存储器可以包括多个地址,用于存储ROM 105的不同错误对应的待修复数据,在需要修复ROM 105中的指定错误时,可以将待修复数据写入该预设存储器中该指定错误对应的地址中,而针对其它未写入待修复数据的地址,可以置为空。这样,该修复信息可以只包括ROM地址中的待修复地址和该待修复地址对应的待修复数据。
在该SoC芯片100上电后,该数据加载电路101可以从该预设存储器获取该待修复地址和该待修复地址对应的待修复数据,并将该待修复数据存入该修复存储器103中与该待修复地址对应的地址中,以便该修复电路102可以从该修复存储器103中获取该待修复数据。基于此,该数据加载电路101,还用于获取该待修复地址在该修复存储器103中对应的第一目标地址,将该待修复数据写入该第一目标地址中;该修复电路102,还用于从该第一目标地址中读取该待修复数据;该CPU 104,还用于从该修复电路102中读取该待修复数据,并根据该待修复数据执行该ROM 105中的软件代码。
其中,该数据加载电路101可以先获取该待修复地址,这里,可以根据该预设存储器中存储的数据的类型,从该预设存储器的所有地址中确定该待修复地址,示例地,可以将该预设存储器中存储的数据不为空的地址作为该待修复地址;也可以根据预先设置的待修复地址的地址标识,获取该待修复地址,示例地,可以将该地址标识写入该预设存储器的目标地址中,该地址标识可以是该待修复地址的地址编号,通过读取该目标地址中的地址标识确定该待修复地址,上述获取该待修复地址的方式只是举例说明,本公开对此不作限定。
在该数据加载电路101获取该待修复地址后,可以在该修复存储器103 中获取与该待修复地址对应的第一目标地址,并将该待修复地址对应的待修复数据写入该第一目标地址中,示例地,若该待修复地址包括DFIX_ADDR-0、 DFIX_ADDR-1、DFIX_ADDR-3、DFIX_ADDR-4,则可以先在该修复存储器103中获取与该待修复地址对应的第一目标地址DFIX_ADDR-0、 DFIX_ADDR-1、DFIX_ADDR-3、DFIX_ADDR-4,并将该预设存储器的该待修复地址中的待修复数据写入该第一目标地址中。
在该数据加载电路101将该待修复数据存储在该修复存储器103后,该修复存储器103中的第一目标地址中均存储有对应的待修复数据,该修复存储器103中除该第一目标地址之外的其它地址可以置为空,这样,该修复电路102可以参照该数据加载电路101从该预设存储器获取该待修复数据的方式,从该修复存储器103中读取该待修复数据。
该CPU 104在执行该ROM 105中的软件代码时,可以按照预设代码逻辑读取该待修复数据,通过该待修复数据修复ROM 105中的错误,该预设代码逻辑可以包括默认代码和修复代码,该修复代码用于从该修复电路102 读取该待修复数据,并通过该待修复数据修复该ROM 105中的错误。这里,该CPU 104可以先执行该ROM 105中的修复代码,在该修复代码未获取到该待修复数据的情况下,再执行该ROM 105中的默认代码,也可以先执行该ROM105中的默认代码,再执行该ROM 105中的修复代码,还可以在执行该ROM 105中的默认代码出现错误时,再执行该ROM 105中的修复代码,本公开对该预设代码逻辑不作限定。
示例地,在该CPU 104执行该ROM 105中加载时钟配置相关的代码时,可以先执行该修复代码,在该修复代码从该修复电路102获取到该时钟配置对应的待修复数据时,可以根据该待修复数据完成时钟相关的配置,不再执行时钟配置相关的默认代码,在该修复代码没有从该修复电路102获取到该时钟配置对应的待修复数据时,可以继续执行时钟配置相关的默认代码,通过该默认代码完成时钟相关的配置。
在该预设存储器中只存储待修复数据时,该数据加载电路101从该预设存储器中获取该待修复数据时,需要对该预设存储器中的每个地址中的数据进行判断,在确定该地址中的数据不为空的情况下,才会获取该地址中的待修复数据,这样,会增加该数据加载电路101的复杂度,导致获取该待修复数据的效率较低。
为了降低该数据加载电路101的复杂度,该修复信息可以包括使能数据、 ROM地址以及该ROM地址对应的ROM数据,该使能数据用于表示该ROM 地址对应的数据是否需要修复;
该数据加载电路101,还用于:获取该ROM地址在该修复存储器103 中对应的第二目标地址,将该使能数据和该ROM数据写入该第二目标地址中;
该修复电路102,还用于从该第二目标地址中读取该使能数据和该ROM 数据;
该CPU 104,还用于从该修复电路102中读取该使能数据和该ROM数据,并根据该使能数据和该ROM数据执行该ROM中的软件代码。
其中,该ROM地址可以包括该预设存储器中该ROM 105的所有预设错误对应的地址,以及存储该使能数据的地址,示例地,若该预设错误包括 3个,第一个预设错误对应的地址为DFIX_ADDR-0,第二个预设错误对应的地址为DFIX_ADDR-1,第三个预设错误对应的地址为DFIX_ADDR-2,则该ROM地址包括DFIX_ADDR-0、DFIX_ADDR-1、DFIX_ADDR-2以及存储该使能数据的DFIX_ADDR-3。该使能数据可以根据待修复错误对应的 ROM地址确定,示例地,若当前没有待修复错误,则该使能数据可以是000,若待修复错误对应的ROM地址为DFIX_ADDR-1和DFIX_ADDR-2,则该使能数据可以是011。
在该SoC芯片100上电后,该数据加载电路101可以先确定该ROM地址在该修复存储器103中对应的第二目标地址,其中,该修复存储器103可以包括多个寄存器,不同的寄存器用于存储不同的待修复数据和该使能数据。之后,该数据加载电路101可以将该使能数据和该ROM数据写入该第二目标地址中,在该修复电路102从该第二目标地址中读取该使能数据和该ROM 数据后,该CPU 104可以从该修复电路102读取该使能数据和该ROM数据,并根据该使能数据,从读取的该ROM数据中确定该待修复数据,并根据该待修复数据执行该ROM中的软件代码。
示例地,该CPU 104可以在执行该ROM 105的软件代码之前,先读取该使能数据,之后,在执行该ROM 105的软件代码过程中,可以根据该使能数据确定该ROM数据是否为该待修复数据,在确定该ROM数据为该待修复数据的情况下,再根据该待修复数据执行该ROM中的软件代码。例如,在该CPU 104执行该ROM中的修复代码读取DFIX_ADDR-1中的ROM数据后,可以先根据该使能数据确定该ROM数据是否为待修复数据,在确定该ROM数据是待修复数据的情况下,再根据该待修复数据执行该ROM 105 中的修复代码。
图3是本公开实施例提供的另一种SoC芯片的结构示意图。如图3所示,该修复电路102可以包括初始化模块1021和补丁寄存器1022,该初始化模块1021可以用于从该修复存储器103中读取该修复信息,并将该修复信息存储在该补丁寄存器1022中;
该CPU 104,还用于从该补丁寄存器1022中读取该修复信息,并根据该修复信息执行该ROM中的软件代码。
其中,该补丁寄存器1022中的地址与该修复存储器103中的地址可以是一一对应的,例如,该补丁寄存器1022中的DFIX_ADDR-0对应该修复存储器103中的DFIX_ADDR-0,该补丁寄存器1022中的DFIX_ADDR-N 对应该修复存储器103中的DFIX_ADDR-N,其中,N可以是4、8、12、16 等,本公开对此不作限定。该修复电路102的初始化模块1021在该修复存储器的DFIX_ADDR-0中读取的数据,可以存储在该补丁寄存器1022的 DFIX_ADDR-0中,该初始化模块1021在该修复存储器的DFIX_ADDR-N 中读取的数据,可以存储在该补丁寄存器1022的DFIX_ADDR-N中。
另外,该数据加载电路101从该预设存储器读取该修复信息并将该修复信息存储在该修复存储器103后,可以向该修复电路102发送读取信号,该修复电路102在接收到该数据加载电路101发送的该读取信号后,可以从该修复存储器103获取该修复信息,这里,该修复电路102可以通过该初始化模块1021从该修复存储器103中获取该修复信息,并将该修复信息存储在该补丁寄存器1022中。
通过上述SoC芯片,在SoC芯片上电后,CPU执行ROM中的软件代码之前,可以通过修复电路先获取ROM对应的修复信息,这样,在ROM 中的数据错误导致SoC芯片运行异常的情况下,CPU可以根据该修复信息执行ROM中的软件代码,使得该SoC芯片可以正常运行,无需将该SoC芯片作废,从而可以提高芯片的生产效率。
本公开另一示例性实施例中示出了一种获取修复信息的方法,该方法应用于SoC芯片的修复电路,该SoC芯片包括数据加载电路、该修复电路、修复存储器、CPU以及ROM,该修复存储器分别与该数据加载电路和该修复电路连接,该CPU分别与该修复电路和该ROM连接,该方法可以包括:
在该SoC芯片上电,该数据加载电路从预设存储器获取该ROM对应的修复信息,并将该修复信息存储在该修复存储器后,从该修复存储器中获取该修复信息,以便该CPU从该修复电路中获取该修复信息,并根据该修复信息执行该ROM中的软件代码。
其中,该预设存储器可以是ROM外部的存储介质,例如NorFlash、efuse 等,该修复信息可以预先存储在该预设存储器的预设位置,该预设位置可以包括多个地址,例如DFIX_ADDR-0,DFIX_ADDR-1,DFIX_ADDR-N,根据该修复信息中的待修复数据,确定需要的地址的个数,在对应的地址中写入该待修复的数据。示例地,在SoC芯片生产或测试过程中,若发现ROM 中的代码或数据有错误,则可以在该预设存储器的预设位置写入正确的数据,例如,针对时钟错误,可以在DFIX_ADDR-0中写入待修复的时钟数据,针对电源错误,可以在DFIX_ADDR-1中写入待修复的电源数据。这里,每个地址对应的错误类型可以根据ROM中代码的逻辑预先确定,本公开在此不作限定。
另外,该预设存储器中的地址和该修复存储器中的地址可以是一一对应的,例如,该预设存储器中的DFIX_ADDR-0对应该修复存储器中的 DFIX_ADDR-0,该预设存储器中的DFIX_ADDR-N对应该修复存储器中的 DFIX_ADDR-N,其中,N可以是4、8、12、16等,本公开对此不作限定。该数据加载电路在该预设存储器的DFIX_ADDR-0读取的数据,可以存储在该修复存储器中的DFIX_ADDR-0中,该数据加载电路在该预设存储器的 DFIX_ADDR-N读取的数据,可以存储在该修复存储器中的DFIX_ADDR-N 中。
需要说明的是,上述预设存储器中的地址和该修复存储器中的地址的对应关系只是举例说明,本公开也可以通过其它方式建立该预设存储器中的地址和该修复存储器中的地址的对应关系,只要能够确保该预设存储器中的地址和该修复存储器中的地址对应即可,本公开对此不作限定。
在该SoC芯片上电后,该数据加载电路可以从该预设存储器获取该待修复地址和该待修复地址对应的待修复数据,并将该待修复数据存入该修复存储器中与该待修复地址对应的地址中,在该数据加载电路将该待修复数据存储在该修复存储器后,该修复电路可以从该修复存储器中获取该待修复数据。之后,该CPU可以从该修复电路中读取该待修复数据,并根据该待修复数据执行该ROM中的软件代码。
在一种可能的实现方式中,该修复电路可以包括初始化模块和补丁寄存器,该修复电路可以通过该初始化模块从该修复存储器中读取该修复信息,并将该修复信息存储在该补丁寄存器中。该CPU在执行该ROM中的软件代码过程中,可以从该补丁寄存器中获取待修复数据,并根据该待修复数据执行该ROM中的软件代码。
采用上述方法,在SoC芯片上电后,该数据加载电路可以从预设存储器获取待修复数据并将该待修复数据存储在修复存储器中,在该修复电路从该修复存储器获取该待修复数据并将该待修复数据存储器该修复电路后,该 CPU可以从该修复电路获取该待修复数据并根据该待修复数据执行ROM中的软件代码,这样,在ROM中的数据错误导致SoC芯片运行异常的情况下, CPU可以根据该修复信息执行ROM中的软件代码,使得该SoC芯片可以正常运行,无需将该SoC芯片作废,从而可以提高芯片的生产效率。
关于上述实施例中的方法,其中的执行操作的具体方式已经在有关该 SoC的实施例中进行了详细描述,此处将不做详细阐述说明。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的获取修复信息的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器402,上述程序指令可由电子设备400的处理器401执行以完成上述的获取修复信息的方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的获取修复信息的方法的代码部分。
图4是本公开实施例提供的一种电子设备的框图。如图4所示,该电子设备可以包括上述SoC芯片。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种SoC芯片,其特征在于,包括:数据加载电路、修复电路、修复存储器、CPU以及ROM,所述修复存储器分别与所述数据加载电路和所述修复电路连接,所述CPU分别与所述修复电路和所述ROM连接;
所述数据加载电路,用于在所述SoC芯片上电后,从预设存储器获取所述ROM对应的修复信息,并将所述修复信息存储在所述修复存储器中;
所述修复电路,用于从所述修复存储器中获取所述修复信息;
所述CPU,用于从所述修复电路中获取所述修复信息,并根据所述修复信息执行所述ROM中的软件代码。
2.根据权利要求1所述的SoC芯片,其特征在于,所述修复信息包括ROM地址中的待修复地址和所述待修复地址对应的待修复数据;
所述数据加载电路,还用于获取所述待修复地址在所述修复存储器中对应的第一目标地址,并将所述待修复数据写入所述第一目标地址中;
所述修复电路,还用于从所述第一目标地址中读取所述待修复数据;
所述CPU,还用于从所述修复电路中读取所述待修复数据,并根据所述待修复数据执行所述ROM中的软件代码。
3.根据权利要求1所述的SoC芯片,其特征在于,所述修复信息包括使能数据、ROM地址以及所述ROM地址对应的ROM数据,所述使能数据用于表示所述ROM地址对应的数据是否需要修复;
所述数据加载电路,还用于:获取所述ROM地址在所述修复存储器中对应的第二目标地址,将所述使能数据和所述ROM数据写入所述第二目标地址中;
所述修复电路,还用于从所述第二目标地址中读取所述使能数据和所述ROM数据;
所述CPU,还用于从所述修复电路中读取所述使能数据和所述ROM数据,并根据所述使能数据和所述ROM数据执行所述ROM中的软件代码。
4.根据权利要求3所述的SoC芯片,其特征在于,所述CPU,还用于根据所述使能数据,从读取的所述ROM数据中确定待修复数据,并根据所述待修复数据执行所述ROM中的软件代码。
5.根据权利要求1所述的SoC芯片,其特征在于,所述修复电路包括初始化模块和补丁寄存器;
所述初始化模块,用于从所述修复存储器中读取所述修复信息,并将所述修复信息存储在所述补丁寄存器中;
所述CPU,还用于从所述补丁寄存器中读取所述修复信息,并根据所述修复信息执行所述ROM中的软件代码。
6.根据权利要求1所述的SoC芯片,其特征在于,
所述数据加载电路,还用于在将所述修复信息存储在所述修复存储器后,向所述修复电路发送读取信号;
所述修复电路,还用于在接收到所述数据加载电路发送的所述读取信号后,从所述修复存储器中获取所述修复信息。
7.一种获取修复信息的方法,其特征在于,应用于SoC芯片的修复电路,所述SoC芯片包括数据加载电路、所述修复电路、修复存储器、CPU以及ROM,所述修复存储器分别与所述数据加载电路和所述修复电路连接,所述CPU分别与所述修复电路和所述ROM连接,所述方法包括:
在所述SoC芯片上电,所述数据加载电路从预设存储器获取所述ROM对应的修复信息,并将所述修复信息存储在所述修复存储器后,从所述修复存储器中获取所述修复信息,以便所述CPU从所述修复电路中获取所述修复信息,并根据所述修复信息执行所述ROM中的软件代码。
8.根据权利要求7所述的方法,其特征在于,所述修复电路包括初始化模块和补丁寄存器,所述从所述修复存储器中获取所述修复信息包括:
通过所述初始化模块从所述修复存储器中读取所述修复信息;
将所述修复信息存储在所述补丁寄存器中。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求7-8中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括权利要求1-6任一项所述的SoC芯片。
CN202011218074.4A 2020-11-04 2020-11-04 SoC芯片、获取修复信息的方法、存储介质及电子设备 Pending CN112231136A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011218074.4A CN112231136A (zh) 2020-11-04 2020-11-04 SoC芯片、获取修复信息的方法、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011218074.4A CN112231136A (zh) 2020-11-04 2020-11-04 SoC芯片、获取修复信息的方法、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN112231136A true CN112231136A (zh) 2021-01-15

Family

ID=74122689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011218074.4A Pending CN112231136A (zh) 2020-11-04 2020-11-04 SoC芯片、获取修复信息的方法、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112231136A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112927744A (zh) * 2021-03-22 2021-06-08 西安紫光国芯半导体有限公司 3d芯片的存储器修复方法及相关设备
CN113127283A (zh) * 2021-04-25 2021-07-16 北京欣博电子科技有限公司 芯片修复系统、方法、装置、计算机设备和存储介质
CN113312270A (zh) * 2021-06-25 2021-08-27 展讯通信(上海)有限公司 Rom代码修复方法及装置、可读存储介质、终端
CN113806144A (zh) * 2021-09-08 2021-12-17 瑞芯微电子股份有限公司 芯片修复方法、系统及控制终端
CN115168115A (zh) * 2022-09-06 2022-10-11 北京象帝先计算技术有限公司 一种基于otp模块的数据修复方法、otp控制器以及芯片
CN115543487A (zh) * 2022-11-25 2022-12-30 北京得瑞领新科技有限公司 基于otp的只读存储器中启动代码扩展方法及芯片
CN116643801A (zh) * 2023-07-26 2023-08-25 常州楠菲微电子有限公司 一种芯片安全启动地址空间修复的方法及芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19964003A1 (de) * 1999-12-30 2001-07-12 Micronas Gmbh Schaltungsanordnung und Verfahren zur Erzeugung und zum Auslesen von Ersatzdaten
CN1732443A (zh) * 2002-12-31 2006-02-08 摩托罗拉公司 用于修补在存储器上驻留的代码和数据的方法和设备
CN101075213A (zh) * 2006-02-21 2007-11-21 三星电子株式会社 只读存储器数据修补电路和方法、及其嵌入式系统
CN107391085A (zh) * 2017-06-20 2017-11-24 深圳芯邦科技股份有限公司 一种rom代码补丁运行方法和系统
CN110058951A (zh) * 2019-04-24 2019-07-26 核芯互联科技(青岛)有限公司 一种修复rom内部少量数据错误的方法和装置
CN111679728A (zh) * 2019-12-31 2020-09-18 泰斗微电子科技有限公司 数据读取方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19964003A1 (de) * 1999-12-30 2001-07-12 Micronas Gmbh Schaltungsanordnung und Verfahren zur Erzeugung und zum Auslesen von Ersatzdaten
CN1732443A (zh) * 2002-12-31 2006-02-08 摩托罗拉公司 用于修补在存储器上驻留的代码和数据的方法和设备
CN101075213A (zh) * 2006-02-21 2007-11-21 三星电子株式会社 只读存储器数据修补电路和方法、及其嵌入式系统
CN107391085A (zh) * 2017-06-20 2017-11-24 深圳芯邦科技股份有限公司 一种rom代码补丁运行方法和系统
CN110058951A (zh) * 2019-04-24 2019-07-26 核芯互联科技(青岛)有限公司 一种修复rom内部少量数据错误的方法和装置
CN111679728A (zh) * 2019-12-31 2020-09-18 泰斗微电子科技有限公司 数据读取方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112927744A (zh) * 2021-03-22 2021-06-08 西安紫光国芯半导体有限公司 3d芯片的存储器修复方法及相关设备
CN112927744B (zh) * 2021-03-22 2023-10-13 西安紫光国芯半导体有限公司 3d芯片的存储器修复方法及相关设备
CN113127283A (zh) * 2021-04-25 2021-07-16 北京欣博电子科技有限公司 芯片修复系统、方法、装置、计算机设备和存储介质
CN113127283B (zh) * 2021-04-25 2023-07-25 北京欣博电子科技有限公司 芯片修复系统、方法、装置、计算机设备和存储介质
CN113312270A (zh) * 2021-06-25 2021-08-27 展讯通信(上海)有限公司 Rom代码修复方法及装置、可读存储介质、终端
CN113806144A (zh) * 2021-09-08 2021-12-17 瑞芯微电子股份有限公司 芯片修复方法、系统及控制终端
CN115168115A (zh) * 2022-09-06 2022-10-11 北京象帝先计算技术有限公司 一种基于otp模块的数据修复方法、otp控制器以及芯片
CN115543487A (zh) * 2022-11-25 2022-12-30 北京得瑞领新科技有限公司 基于otp的只读存储器中启动代码扩展方法及芯片
CN116643801A (zh) * 2023-07-26 2023-08-25 常州楠菲微电子有限公司 一种芯片安全启动地址空间修复的方法及芯片
CN116643801B (zh) * 2023-07-26 2023-10-31 常州楠菲微电子有限公司 一种芯片安全启动地址空间修复的方法及芯片

Similar Documents

Publication Publication Date Title
CN112231136A (zh) SoC芯片、获取修复信息的方法、存储介质及电子设备
US6425079B1 (en) Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith
US8867289B2 (en) Chip with embedded non-volatile memory and testing method therefor
US6546517B1 (en) Semiconductor memory
WO2020077107A1 (en) Test systems for executing self-testing in deployed automotive platforms
JP2012198876A (ja) メモリデバイスにおける読み出し不可状態を解決するための装置及び方法
CN112379932B (zh) 电子设备的Boot方法、Boot装置和电子设备
US20060253764A1 (en) Computer system and method for redundancy repair of memories installed in computer system
KR100717110B1 (ko) 롬 데이터 패치 회로, 이를 포함하는 임베디드 시스템 및롬 데이터 패치 방법
EP0446534A2 (en) Method of functionally testing cache tag rams in limited-access processor systems
CN113656049B (zh) 一种操作系统部署方法、装置及电子设备和存储介质
US6539338B1 (en) Self-diagnostic testing of a network interface adapter
CN109117299B (zh) 服务器的侦错装置及其侦错方法
CN116844989A (zh) Map生成方法、芯片失效原因的识别方法及系统
US20240176887A1 (en) Method for Running Startup Program of Electronic Device, and Electronic Device
US7047444B2 (en) Address selection for testing of a microprocessor
US11586504B2 (en) Electronic apparatus and boot method thereof
CN110968455B (zh) 一种非易失性存储器的修复方法及装置
CN113672260A (zh) 一种处理器cpu初始化方法
JP6835423B1 (ja) 情報処理システム及びその初期化方法
CN111596199A (zh) 一种测试芯片、集成电路测试方法及系统和检测设备
US11314954B2 (en) RFID tag and RFID tag system
CN111736911B (zh) 嵌入式芯片的验证方法及引导加载方法
CN113377586B (zh) 一种服务器自动化检测方法、装置及存储介质
CN111651381B (zh) 半导体装置与数据保护方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination