CN114816537A - 芯片、电子设备及芯片启动方法 - Google Patents
芯片、电子设备及芯片启动方法 Download PDFInfo
- Publication number
- CN114816537A CN114816537A CN202110064057.8A CN202110064057A CN114816537A CN 114816537 A CN114816537 A CN 114816537A CN 202110064057 A CN202110064057 A CN 202110064057A CN 114816537 A CN114816537 A CN 114816537A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- chip
- repair
- processing unit
- central processing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000006835 compression Effects 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 10
- 238000004519 manufacturing process Methods 0.000 abstract description 11
- 238000013528 artificial neural network Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 12
- 238000005457 optimization Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供一种芯片、电子设备及芯片启动方法,其中,芯片包括只读存储器、电可编程熔丝以及中央处理单元。其中,只读存储器存储有芯片的启动代码,包括了导致芯片无法正常启动的故障配置信息。电可编程熔丝存储有对应故障配置信息的修复配置信息。通过改变中央处理单元对启动代码的执行逻辑,使得中央处理单元能够从只读存储器中读取启动代码,并执行该启动代码;以及在根据启动代码完成电可编程熔丝的初始化时,从电可编程熔丝中读取修复配置信息进行配置操作;以及在执行到故障配置信息时,跳过故障配置信息。以此,在芯片启动时按照电可编程熔丝中的修复配置信息进行配置操作,即可成功启动,从而无需报废芯片,达到降低芯片生产成本的目的。
Description
技术领域
本申请涉及芯片技术领域,特别涉及一种芯片、电子设备及芯片启动方法。
背景技术
目前,绝大多数芯片(比如专用处理芯片,通用处理芯片等)都是从只读存储器开始启动,通过执行只读存储器中的启动代码,实现芯片的启动运行。因此,一旦只读存储器中的写入的启动代码存在错误,比如其中的配置信息错误,将导致芯片无法启动。而只读存储器中的启动代码无法修改,只能将无法启动的芯片报废,增加了芯片的生产成本。
发明内容
本申请实施例提供一种芯片、电子设备及芯片启动方法,可以降低芯片的生产成本。
本申请公开一种芯片,包括:
只读存储器,用于存储所述芯片的启动代码;
电可编程熔丝(Efuse),用于存储所述启动代码中故障配置信息对应的修复配置信息;
中央处理单元,用于从所述只读存储器中读取所述启动代码,并执行所述启动代码;以及在根据所述启动代码完成所述电可编程熔丝的初始化时,从所述电可编程熔丝中读取所述修复配置信息进行配置操作;以及在执行到所述故障配置信息时,跳过所述故障配置信息。
本申请还公开一种电子设备,包括如本申请所提供的芯片。
本申请还公开一种芯片启动方法,应用于芯片,所述芯片包括只读存储器和中央处理单元,所述只读存储器存储有所述芯片的启动代码,所述芯片启动方法包括:
中央处理单元从所述只读存储器中读取所述启动代码,并执行所述启动代码;
在根据所述启动代码完成所述电可编程熔丝的初始化时,所述中央处理单元从所述电可编程熔丝中读取所述修复配置信息进行配置操作;
所述中央处理单元在执行到所述故障配置信息时,跳过所述故障配置信息。
本申请通过改变中央处理单元对启动代码的执行逻辑,使得中央处理单元能够从只读存储器中读取启动代码,并执行该启动代码;以及在根据启动代码完成电可编程熔丝的初始化时,从电可编程熔丝中读取修复配置信息进行配置操作;以及在执行到故障配置信息时,跳过故障配置信息。以此,在芯片启动时按照电可编程熔丝中的修复配置信息进行配置操作,即可成功启动,从而无需报废芯片,达到降低芯片生产成本的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的芯片的第一种结构示意图。
图2为本申请实施例提供的芯片启动流程示例图。
图3为本申请实施例提供的芯片的第二种结构示意图。
图4为本申请实施例提供的芯片启动方法的流程示意图。
具体实施方式
请参照图1,图1为本申请实施例提供的芯片100的结构示意图。该芯片100可包括只读存储器110、电可编程熔丝120以及中央处理单元130。其中,
只读存储器110被配置为存储芯片100的启动代码;
电可编程熔丝120被配置为存储启动代码中故障配置信息对应的修复配置信息;
中央处理单元130被配置为从只读存储器110中读取启动代码,并执行启动代码;以及在根据启动代码完成电可编程熔丝120的初始化后,从电可编程熔丝120中读取修复配置信息进行配置操作;以及在执行到启动代码中的故障配置信息,跳过故障配置信息。
应当说明的是,本申请实施例提供的芯片100可以是专用的处理芯片,比如专用的图像处理芯片,音频处理芯片等,也可以是通用的处理芯片,比如中央处理器芯片等。本申请实施例中,芯片100除了包括图1示出的只读存储器110、电可编程熔丝120以及中央处理单元130之外,还包括图1未示出的随机存储器以及外设,其中外设包括但不限于通用串行总线、嵌入式多媒体控制器以及通用异步收发传输器等设备。
顾名思义,只读存储器110只能读,只读存储器110在生产出来之后只有一次写的机会,数据一旦写入则不可更改,只读存储器110另外一个特点是存储器掉电后里面的数据不丢失。而启动代码是芯片100上电或者复位后执行的第一段代码,作用在于对芯片100内部的硬件器件以及软件环境进行必要的初始化,包括但不限于:
(1)建立中断向量表;
(2)初始化存储器;
(3)初始化堆栈寄存器;
(4)初始化I/O以及其它必要设备;
(5)改变中央处理单元的状态和描述。
可以理解的是,芯片100在启动时,需要对内部的硬件器件以及软件环境进行正确的配置,才能够正常启动。也即是说,存储在只读存储器110中的启动一旦出错,将导致芯片100不能启动。其中,常见的错误是启动代码中的相关配置信息故障,比如遗漏某些寄存器的配置信息,或者是寄存器的配置信息与硬件器件不匹配(也即配置信息错误)等。一旦出现这样的问题,只能通过重新流片来解决。
为此,本申请实施例中,当芯片100回片后,若发现芯片100不能正常启动,并确定是由于某些配置信息故障导致,将这些导致芯片100不能正常启动的配置信息记为故障配置信息,并根据经验确定对应故障配置信息的修复配置信息。由上可知,虽然只读存储器110在芯片100的生产过程中是一次性写入的,里面的内容无法更改,但是芯片100内部的电可编程熔丝120尚未写入数据,因此本申请中复用芯片100内部的电可编程熔丝120,在电可编程熔丝120中写入启动代码中故障配置信息对应的修复配置信息。
应当说明的是,除了向电可编程熔丝120中写入前述修复配置信息之外,还同时写入原本计划写入电可编程熔丝120的数据,比如芯片的电压信息、版本号以及生产日期等。
此外,为了使得芯片100能够正常启动,还对芯片100的启动逻辑进行了修改。
其中,芯片100在上电后,中央处理单元130将只读存储器110中存储的启动代码读取到随机存储器中,并在随机存储器中执行启动代码。在根据启动代码完成电可编程熔丝120的初始化时,从电可编程熔丝120中读取修复配置信息进行配置操作。此外,在执行到启动代码中的故障配置信息时,跳过故障配置信息。
由上可知,本申请提供的芯片包括只读存储器、电可编程熔丝以及中央处理单元。其中,只读存储器存储有芯片的启动代码,包括了导致芯片无法正常启动的故障配置信息。电可编程熔丝存储有对应启动代码中故障配置信息的修复配置信息。以及改变了中央处理单元对启动代码的执行逻辑,使得中央处理单元能够从只读存储器中读取启动代码,并执行该启动代码;以及在根据启动代码完成电可编程熔丝的初始化时,从电可编程熔丝中读取修复配置信息进行配置操作;以及在执行到故障配置信息时,跳过故障配置信息。以此,通过复用电可编程熔丝,在芯片启动时按照电可编程熔丝中的修复配置信息进行配置操作,即可成功启动,从而无需报废芯片,达到降低芯片生产成本的目的。
可选地,在一实施例中,故障配置信息包括遗漏配置的寄存器配置信息和/或错误配置的寄存器配置信息。
可选地,在一实施例中,中央处理单元130还被配置为在执行启动代码而启动失败时,确定出启动代码中的故障配置信息;以及接收输入的对应故障配置信息对应的修复配置信息,并将修复配置信息写入电可编程熔丝120中。
本申请实施例中,只读存储器110中存储有故障检测代码,该故障检测代码被配置为对芯片100进行故障检测,以确定导致芯片100启动失败的故障原因。应当说明的是,本申请实施例中对该故障检测代码的编写不作具体限制,可由本领域普通技术人员根据实际需要进行编写。
基于只读存储器110中存储的前述故障检测代码,中央处理单元130在执行启动代码而启动失败时,将前述故障检测代码读取到的随机存储器中,并在随机存储器中执行前述故障检测代码,从而确定出启动代码中导致启动失败的故障配置信息,并输出故障配置信息。
由此,相关技术人员可根据经验确定对应故障配置信息的修复配置信息,并通过相关烧录设备,将该修复配置信息与其它原本计划写入电可编程熔丝120的数据一同写入芯片100中的电可编程熔丝120。
另一方面,中央处理单元130在接收到输入的对应故障配置信息以及其它写入数据时,将修复配置信息以及其它写入数据一同写入电可编程熔丝120中。
可选地,在一实施例中,中央处理单元130被配置为将修复配置信息写入电可编程熔丝120的预设地址中。
本申请实施例中,修复配置信息的在电可编程熔丝120中的写入地址并不是随机的,而是一预先确定的固定地址,记为预设地址。此处对该预设地址的配置不作具体限制,可由本领域普通技术人员根据实际需要进行配置。
相应的,中央处理单元120在将修复配置信息写入电可编程熔丝120时,具体将修复配置信息写入电可编程熔丝120的预设地址中。
应当说明的是,以上预设地址仅用于写入修复配置信息,也即是说,只要预设地址写入了数据,则说明写入的数据为修复配置信息。
在芯片100的启动过程中,当根据启动代码完成电可编程熔丝120的初始化时,中央处理单元130直接从电可编程熔丝120的预设地址中读取修复配置信息进行配置操作。
可选地,在一实施例中,中央处理单元130还被配置为接收输入的对应故障配置信息的压缩编码后的修复配置信息,并将压缩编码后的修复配置信息写入电可编程熔丝120中;以及在根据启动代码完成电可编程熔丝120的初始化时,从电可编程熔丝120中读取压缩编码后的修复配置信息,并对压缩编码后的修复配置信息进行压缩解码;以及根据压缩解码后的修复配置信息进行配置操作。
应当说明的是,电可编程熔丝120的存储空间十分有限,为了有效的利用电可编程熔丝120的存储空间,本申请实施例中对修复配置信息进行压缩编码后再写入电可编程熔丝120。可以理解的是,修复配置信息的作用在于代替启动代码中的故障配置信息用于配置,相应的,修复配置信息不能出错,以不损坏修复配置信息为约束,可由本领域普通技术人员根据实际需要选取无损的压缩编码方式对修复配置信息进行压缩编码。
相应的,在本申请实施例中,需要采用配置的无损压缩编码方式对修复配置信息进行压缩编码后,再将压缩编码后的修复配置信息写入电可编程熔丝120。
其中,中央处理单元130接收输入的对应故障配置信息的压缩编码后的修复配置信息,并将该压缩编码后的修复配置信息写入电可编程熔丝120中。相应的,在芯片100的启动过程中,中央处理单元130在根据启动代码完成电可编程熔丝120的初始化时,从电可编程熔丝120中读取出压缩编码后的修复配置信息,并对压缩编码后的修复配置信息进行压缩解码,从而根据压缩解码后的修复配置信息进行配置操作。
可选地,在一实施例中,中央处理单元130被配置为:从电可编程熔丝120中读取修复配置信息,并对修复配置信息进行安全校验;以及在修复配置信息通过安全校验时,根据修复配置信息进行配置操作。
本申请实施例中,中央处理单元130在根据启动代码完成电可编程熔丝120的的初始化时,从该电可编程熔丝120中读取修复配置信息,并按照预先配置的安全策略对该修复配置信息进行安全校验。其中,若修复配置信息通过安全校验,则根据该配置信息进行配置操作,否则结束启动。
可选地,在一实施例中,中央处理单元130被配置为通过预设散列算法计算得到修复配置信息的散列值;以及将散列值与预设散列值比对,若散列值与预设散列值比对一致,则判定修复配置信息通过安全校验。
本申请实施例提供一可选的安全策略。
其中,对于预设散列算法的选取,本申请实施例中不作具体限制,可由本领域普通技术人员根据实际需要进行选取,包括但不限于SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512等。
在本申请实施例中,还预先将预设散列算法的执行代码写入只读存储器110中。相应的,在对读取的修复配置信息进行安全校验时,中央处理单元130将只读存储器110中存储的对应预设散列算法的执行代码读取到随机存储器中执行,通过该预设散列算法计算得到修复配置信息的散列值。
应当说明的是,在本申请实施例中,还预先采用预设散列算法对原始的修复配置信息进行散列运算,计算得到对应的散列值,将该散列值作为用于对修复配置信息进行安全校验的预设散列值,并随修复配置信息一同写入电可编程熔丝120中。
相应的,中央处理单元130在采用预设散列算法计算得到读取的修复配置信息的散列值之后,进一步将该计算得到的散列值与电可编程熔丝120中预设写入的对应原始的修复配置信息的预设散列值进行比对,若二者比对一致,则说明读取的修复配置信息与原始的修复配置信息一致,此时判定读取的该修复配置信息通过安全校验。
可选地,在一实施例中,中央处理单元130还被配置为在根据启动代码完成电可编程熔丝120的初始化时,暂停执行启动代码;以及在从电可编程熔丝120中读取修复配置信息进行配置操作之后,继续执行启动代码。
示例性的,在本申请实施例中,修复配置信息按照addr-value的格式存储于一配置信息表中,其中,对于一条修复配置信息,“adrr”表示该修复配置信息需要配置的寄存器的地址,“value”该修复配置信息需要配置的寄存器的值。
请参照图2,芯片100在上电后,中央处理单元130将只读存储器110中存储的启动代码读取到随机存储器中,并在随机存储器中执行启动代码,并根据启动代码依次完成自身的初始化,以及完成对电可编程熔丝120的初始化。此时,中央处理单元130暂停执行启动代码,并识别配置信息表是否为空,也即是识别配置信息表是否写入了修复配置信息。若配置信息表不为空,也即是写入了修复配置信息,此时中央处理单元130依次根据配置信息表中的修复配置信息进行配置操作。其中,在每完成一条修复配置信息的配置后,中央处理单元130识别当次完成配置的修复配置信息是否为配置信息表中的最后一条修复配置信息,若否,则继续依序对配置信息表中的修复配置信息进行配置,若是,则继续执行启动代码。
如上所述,在启动代码的后续执行过程中,若执行到故障配置信息,则中央处理单元130直接跳过故障配置信息,继续执行启动代码中的其它代码。
可选地,请参照图3,在一实施例中,芯片100还包括:
图像信号处理单元140,被配置为对来自摄像头的动态图像数据进行第一次图像优化处理;
神经网络处理单元150,被配置为对图像信号处理单元140进行第一次图像优化处理后的动态图像数据进行第二次图像优化处理。
本申请实施例中,芯片100为用于图像处理的专用芯片,其还包括图像信号处理单元140和神经网络处理单元150。
其中,该图像信号处理单元140被配置为对来自摄像头的动态图像数据进行第一次图像优化处理,包括但不限于坏点校正处理、时域降噪处理、3D降噪处理、线性化处理以及黑电平校正处理等优化处理方式,当然,还可以包括本申请所未列出的优化处理方式。其中,动态图像数据可以包括录制视频的图像数据和预览图像的数据等。
此外,神经网络处理单元150还被配置为对图像信号处理单元140进行第一次图像优化处理后的动态图像数据进行第二次图像优化处理。神经网络处理单元150处理图像数据的方式可以是按照行的方式读取数据块,并按照行的方式对数据块进行处理。诸如神经网络处理单元150按照多行的方式读取数据块,并按照多行的方式对数据块进行处理。可以理解的是,一帧图像数据可以具有多行数据块,即神经网络处理单元150可以对一帧图像数据的一部分诸如n行数据块进行处理,其中n为正整数,诸如2、4、5等。当神经网络处理单元150对一帧图像数据未全部处理完,则神经网络处理单元150可以内置缓存来存储神经网络处理单元150在处理一帧图像数据过程中所处理多行数据块的数据。
需要说明的是,神经网络处理单元150在数据流中,可以按照预设时间处理完成。预设时间诸如为30fps=33ms(毫秒)。或者说神经网络处理单元150处理一帧图像所预设的时间为33ms,从而可以保证神经网络处理单元150在快速处理图像数据的基础上,可以实现数据的实时传输。
神经网络处理单元150进行的第二图像优化处理包括但不限于基于诸如夜景算法、HDR算法、虚化算法、降噪算法,超分辨率算法的优化处理方式。
本申请实施例还提供一种电子设备,该电子设备包括如本申请所提供的芯片。
本申请还提供一种芯片启动方法,该芯片启动方法应用于图1所示的芯片100,该芯片包括只读存储器110、电可编程熔丝120和中央处理单元130,只读存储器110存储有芯片的启动代码,电可编程熔丝120存储有启动代码中故障配置信息对应的修复配置信息,请参照图4,该芯片启动方法包括:
在210中,中央处理单元130从只读存储器110中读取启动代码,并执行启动代码;
在220中,在根据启动代码完成电可编程熔丝120的初始化时,中央处理单元130从电可编程熔丝120中读取修复配置信息进行配置操作;
在230中,中央处理单元130在执行到故障配置信息时,跳过故障配置信息。
芯片100可以是专用的处理芯片,比如专用的图像处理芯片,音频处理芯片等,也可以是通用的处理芯片,比如中央处理器芯片等。本申请实施例中,芯片100除了包括图1示出的只读存储器110、电可编程熔丝120以及中央处理单元130之外,还包括图1未示出的随机存储器以及外设,其中外设包括但不限于通用串行总线、嵌入式多媒体控制器以及通用异步收发传输器等设备。
顾名思义,只读存储器110只能读,只读存储器110在生产出来之后只有一次写的机会,数据一旦写入则不可更改,只读存储器110另外一个特点是存储器掉电后里面的数据不丢失。而启动代码是芯片100上电或者复位后执行的第一段代码,作用在于对芯片100内部的硬件器件以及软件环境进行必要的初始化,包括但不限于:
(1)建立中断向量表;
(2)初始化存储器;
(3)初始化堆栈寄存器;
(4)初始化I/O以及其它必要设备;
(5)改变中央处理单元的状态和描述。
可以理解的是,芯片100在启动时,需要对内部的硬件器件以及软件环境进行正确的配置,才能够正常启动。也即是说,存储在只读存储器110中的启动一旦出错,将导致芯片100不能启动。其中,常见的错误是启动代码中的相关配置信息故障,比如遗漏某些寄存器的配置信息,或者是寄存器的配置信息与硬件器件不匹配(也即配置信息错误)等。一旦出现这样的问题,只能通过重新流片来解决。
为此,本申请实施例中,当芯片100回片后,若发现芯片100不能正常启动,并确定是由于某些配置信息故障导致,将这些导致芯片100不能正常启动的配置信息记为故障配置信息,并根据经验确定对应故障配置信息的修复配置信息。由上可知,虽然只读存储器110在芯片100的生产过程中是一次性写入的,里面的内容无法更改,但是芯片100内部的电可编程熔丝120尚未写入数据,因此本申请中复用芯片100内部的电可编程熔丝120,在电可编程熔丝120中写入启动代码中故障配置信息对应的修复配置信息。
应当说明的是,除了向电可编程熔丝120中写入前述修复配置信息之外,还同时写入原本计划写入电可编程熔丝120的数据,比如芯片的电压信息、版本号以及生产日期等。
此外,为了使得芯片100能够正常启动,还对芯片100的启动逻辑进行了修改。
其中,芯片100在上电后,中央处理单元130将只读存储器110中存储的启动代码读取到随机存储器中,并在随机存储器中执行启动代码。在根据启动代码完成电可编程熔丝120的初始化时,从电可编程熔丝120中读取修复配置信息进行配置操作。此外,在执行到启动代码中的故障配置信息时,跳过故障配置信息。
可选地,在一实施例中,故障配置信息包括遗漏配置的寄存器配置信息和/或错误配置的寄存器配置信息。
可选地,在一实施例中,本申请提供的芯片启动方法还包括:
中央处理单元130在执行启动代码而启动失败时,确定出启动代码中的故障配置信息;
中央处理单元130接收输入的对应故障配置信息对应的修复配置信息,并将修复配置信息写入电可编程熔丝120中。
本申请实施例中,只读存储器110中存储有故障检测代码,该故障检测代码被配置为对芯片100进行故障检测,以确定导致芯片100启动失败的故障原因。应当说明的是,本申请实施例中对该故障检测代码的编写不作具体限制,可由本领域普通技术人员根据实际需要进行编写。
基于只读存储器110中存储的前述故障检测代码,中央处理单元130在执行启动代码而启动失败时,将前述故障检测代码读取到的随机存储器中,并在随机存储器中执行前述故障检测代码,从而确定出启动代码中导致启动失败的故障配置信息,并输出故障配置信息。
由此,相关技术人员可根据经验确定对应故障配置信息的修复配置信息,并通过相关烧录设备,将该修复配置信息与其它原本计划写入电可编程熔丝120的数据一同写入芯片100中的电可编程熔丝120。
可选地,在一实施例中,中央处理单元130将修复配置信息写入电可编程熔丝120中,包括:
将修复配置信息写入电可编程熔丝120的预设地址中。
本申请实施例中,修复配置信息的在电可编程熔丝120中的写入地址并不是随机的,而是一预先确定的固定地址,记为预设地址。此处对该预设地址的配置不作具体限制,可由本领域普通技术人员根据实际需要进行配置。
相应的,中央处理单元120在将修复配置信息写入电可编程熔丝120时,具体将修复配置信息写入电可编程熔丝120的预设地址中。
应当说明的是,以上预设地址仅用于写入修复配置信息,也即是说,只要预设地址写入了数据,则说明写入的数据为修复配置信息。
在芯片100的启动过程中,当根据启动代码完成电可编程熔丝120的初始化时,中央处理单元130直接从电可编程熔丝120的预设地址中读取修复配置信息进行配置操作。
可选地,在一实施例中,中央处理单元130接收输入的对应故障配置信息对应的修复配置信息,并将修复配置信息写入电可编程熔丝120中,包括:
中央处理单元130接收输入的对应故障配置信息的压缩编码后的修复配置信息,并将压缩编码后的修复配置信息写入电可编程熔丝120中;
中央处理单元130从电可编程熔丝120中读取修复配置信息进行配置操作,包括:
中央处理单元130从电可编程熔丝120中读取压缩编码后的修复配置信息,并对压缩编码后的修复配置信息进行压缩解码;
中央处理单元130根据压缩解码后的修复配置信息进行配置操作。
应当说明的是,电可编程熔丝120的存储空间十分有限,为了有效的利用电可编程熔丝120的存储空间,本申请实施例中对修复配置信息进行压缩编码后再写入电可编程熔丝120。可以理解的是,修复配置信息的作用在于代替启动代码中的故障配置信息用于配置,相应的,修复配置信息不能出错,以不损坏修复配置信息为约束,可由本领域普通技术人员根据实际需要选取无损的压缩编码方式对修复配置信息进行压缩编码。
相应的,在本申请实施例中,需要采用配置的无损压缩编码方式对修复配置信息进行压缩编码后,再将压缩编码后的修复配置信息写入电可编程熔丝120。
其中,中央处理单元130接收输入的对应故障配置信息的压缩编码后的修复配置信息,并将该压缩编码后的修复配置信息写入电可编程熔丝120中。相应的,在芯片100的启动过程中,中央处理单元130在根据启动代码完成电可编程熔丝120的初始化时,从电可编程熔丝120中读取出压缩编码后的修复配置信息,并对压缩编码后的修复配置信息进行压缩解码,从而根据压缩解码后的修复配置信息进行配置操作。
可选地,在一实施例中,中央处理单元130从电可编程熔丝120中读取修复配置信息进行配置操作,包括:
中央处理单元130从电可编程熔丝120中读取修复配置信息,并对修复配置信息进行安全校验;
在修复配置信息通过安全校验时,中央处理单元130根据修复配置信息进行配置操作。
本申请实施例中,中央处理单元130在根据启动代码完成电可编程熔丝120的的初始化时,从该电可编程熔丝120中读取修复配置信息,并按照预先配置的安全策略对该修复配置信息进行安全校验。其中,若修复配置信息通过安全校验,则根据该配置信息进行配置操作,否则结束启动。
可选地,在一实施例中,中央处理单元130对修复配置信息进行安全校验,包括:
中央处理单元130通过预设散列算法计算得到修复配置信息的散列值;
中央处理单元130将散列值与预设散列值比对,若散列值与预设散列值比对一致,则判定修复配置信息通过安全校验。
本申请实施例提供一可选的安全策略。
其中,对于预设散列算法的选取,本申请实施例中不作具体限制,可由本领域普通技术人员根据实际需要进行选取,包括但不限于SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512等。
在本申请实施例中,还预先将预设散列算法的执行代码写入只读存储器110中。相应的,在对读取的修复配置信息进行安全校验时,中央处理单元130将只读存储器110中存储的对应预设散列算法的执行代码读取到随机存储器中执行,通过该预设散列算法计算得到修复配置信息的散列值。
应当说明的是,在本申请实施例中,还预先采用预设散列算法对原始的修复配置信息进行散列运算,计算得到对应的散列值,将该散列值作为用于对修复配置信息进行安全校验的预设散列值,并随修复配置信息一同写入电可编程熔丝120中。
相应的,中央处理单元130在采用预设散列算法计算得到读取的修复配置信息的散列值之后,进一步将该计算得到的散列值与电可编程熔丝120中预设写入的对应原始的修复配置信息的预设散列值进行比对,若二者比对一致,则说明读取的修复配置信息与原始的修复配置信息一致,此时判定读取的该修复配置信息通过安全校验。
可选地,在一实施例中,本申请提供的芯片启动方法还包括:
在根据启动代码完成电可编程熔丝120的初始化时,中央处理单元130暂停执行启动代码;以及
在从电可编程熔丝120中读取修复配置信息进行配置操作之后,中央处理单元130继续执行启动代码。
示例性的,在本申请实施例中,修复配置信息按照addr-value的格式存储于一配置信息表中,其中,对于一条修复配置信息,“adrr”表示该修复配置信息需要配置的寄存器的地址,“value”该修复配置信息需要配置的寄存器的值。
请参照图2,芯片100在上电后,中央处理单元130将只读存储器110中存储的启动代码读取到随机存储器中,并在随机存储器中执行启动代码,并根据启动代码依次完成自身的初始化,以及完成对电可编程熔丝120的初始化。此时,中央处理单元130暂停执行启动代码,并识别配置信息表是否为空,也即是识别配置信息表是否写入了修复配置信息。若配置信息表不为空,也即是写入了修复配置信息,此时中央处理单元130依次根据配置信息表中的修复配置信息进行配置操作。其中,在每完成一条修复配置信息的配置后,中央处理单元130识别当次完成配置的修复配置信息是否为配置信息表中的最后一条修复配置信息,若否,则继续依序对配置信息表中的修复配置信息进行配置,若是,则继续执行启动代码。
如上所述,在启动代码的后续执行过程中,若执行到故障配置信息,则中央处理单元130直接跳过故障配置信息,继续执行启动代码中的其它代码。
以上对本申请实施例提供的芯片、电子设备以及芯片启动方法进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请。同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种芯片,其特征在于,所述芯片包括:
只读存储器,用于存储所述芯片的启动代码;
电可编程熔丝,用于存储所述启动代码中故障配置信息对应的修复配置信息;
中央处理单元,用于从所述只读存储器中读取所述启动代码,并执行所述启动代码;以及在根据所述启动代码完成所述电可编程熔丝的初始化时,从所述电可编程熔丝中读取所述修复配置信息进行配置操作;以及在执行到所述故障配置信息时,跳过所述故障配置信息。
2.如权利要求1所述的芯片,其特征在于,所述中央处理单元还用于:
在执行所述启动代码而启动失败时,确定出所述启动代码中的所述故障配置信息;
接收输入的对应所述故障配置信息对应的修复配置信息,并将所述修复配置信息写入所述电可编程熔丝中。
3.如权利要求2所述的芯片,其特征在于,所述中央处理单元用于:
将所述修复配置信息写入所述电可编程熔丝的预设地址中。
4.如权利要求2所述的芯片,其特征在于,中央处理单元用于:
接收输入的对应所述故障配置信息的压缩编码后的修复配置信息,并将所述压缩编码后的修复配置信息写入所述电可编程熔丝中;以及在根据所述启动代码完成所述电可编程熔丝的初始化时,从所述电可编程熔丝中读取所述压缩编码后的修复配置信息,并对所述压缩编码后的修复配置信息进行压缩解码;以及根据压缩解码后的修复配置信息进行配置操作。
5.如权利要求1所述的芯片,其特征在于,所述中央处理单元用于:
从所述电可编程熔丝中读取所述修复配置信息,并对所述修复配置信息进行安全校验;以及在所述修复配置信息通过安全校验时,根据所述修复配置信息进行配置操作。
6.如权利要求5所述的芯片,其特征在于,所述中央处理单元用于:
通过预设散列算法计算得到所述修复配置信息的散列值;
将所述散列值与预设散列值比对,若所述散列值与所述预设散列值比对一致,则判定所述修复配置信息通过安全校验。
7.如权利要求1所述的芯片,其特征在于,所述中央处理单元还用于:
在根据所述启动代码完成所述电可编程熔丝的初始化时,暂停执行所述启动代码;以及
在从所述电可编程熔丝中读取所述修复配置信息进行配置操作之后,继续执行所述启动代码。
8.如权利要求1-7任一项所述的芯片,其特征在于,所述故障配置信息包括遗漏配置的寄存器配置信息和/或错误配置的寄存器配置信息。
9.一种电子设备,其特征在于,所述电子设备包括如权利要求1-8任一项所述的芯片。
10.一种芯片启动方法,所述芯片包括只读存储器和中央处理单元,所述只读存储器存储有所述芯片的启动代码,其特征在于,所述芯片还包括电可编程熔丝,所述电可编程熔丝存储有所述启动代码中故障配置信息对应的修复配置信息,所述芯片启动方法包括:
中央处理单元从所述只读存储器中读取所述启动代码,并执行所述启动代码;
在根据所述启动代码完成所述电可编程熔丝的初始化时,所述中央处理单元从所述电可编程熔丝中读取所述修复配置信息进行配置操作;
所述中央处理单元在执行到所述故障配置信息时,跳过所述故障配置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064057.8A CN114816537A (zh) | 2021-01-18 | 2021-01-18 | 芯片、电子设备及芯片启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064057.8A CN114816537A (zh) | 2021-01-18 | 2021-01-18 | 芯片、电子设备及芯片启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816537A true CN114816537A (zh) | 2022-07-29 |
Family
ID=82524237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110064057.8A Pending CN114816537A (zh) | 2021-01-18 | 2021-01-18 | 芯片、电子设备及芯片启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816537A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180261301A1 (en) * | 2017-03-13 | 2018-09-13 | SK Hynix Inc. | Repair device and semiconductor device including the same |
CN209785927U (zh) * | 2019-04-18 | 2019-12-13 | 长鑫存储技术有限公司 | 芯片 |
CN111352764A (zh) * | 2020-03-27 | 2020-06-30 | 上海金卓网络科技有限公司 | 一种芯片修复的方法、装置、设备及存储介质 |
-
2021
- 2021-01-18 CN CN202110064057.8A patent/CN114816537A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180261301A1 (en) * | 2017-03-13 | 2018-09-13 | SK Hynix Inc. | Repair device and semiconductor device including the same |
CN209785927U (zh) * | 2019-04-18 | 2019-12-13 | 长鑫存储技术有限公司 | 芯片 |
CN111352764A (zh) * | 2020-03-27 | 2020-06-30 | 上海金卓网络科技有限公司 | 一种芯片修复的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10136163B2 (en) | Method and apparatus for repairing video file | |
US7424648B2 (en) | Nonvolatile memory system, nonvolatile memory device, data read method, and data read program | |
WO2020151323A1 (zh) | 一种基于数据分片的数据存储方法、设备及介质 | |
EP1857939A2 (en) | System and method for efficient uncorrectable error detection in flash memory | |
CN110716895A (zh) | 目标数据归档方法、装置、计算机设备及介质 | |
US20170195693A1 (en) | Count table maintenance apparatus for maintaining count table during processing of frame and related count table maintenance method | |
CN114816537A (zh) | 芯片、电子设备及芯片启动方法 | |
US8666187B2 (en) | Image reproduction apparatus and image reproduction method | |
US20210294899A1 (en) | Semiconductor device and method for controlling semiconductor device | |
CN113055455A (zh) | 文件上传方法及设备 | |
CN116701048A (zh) | 一种数据校验方法、数据存储器和存储介质 | |
JP2014011572A5 (ja) | 動画像予測復号装置、方法及びプログラム | |
AU2019370804B2 (en) | Methods, apparatuses, computer programs and computer-readable media for scalable video coding and transmission | |
WO2021139443A1 (zh) | 数据访问控制方法及装置、数据访问设备及*** | |
US9307259B2 (en) | Image decoding methods and image decoding devices | |
JPH08305638A (ja) | Romデータ検査方法 | |
CN109697993B (zh) | 数据纠错方法及装置 | |
CN109871679A (zh) | 数据显示方法、***、装置及介质 | |
US6952452B2 (en) | Method of detecting internal frame skips by MPEG video decoders | |
CN117440166B (zh) | 基于内存访问特征分析的视频编码和解码方式检测方法 | |
CN108009035B (zh) | 一种mp4文件损坏检测方法及装置 | |
CN118132335A (zh) | 一种嵌入式设备启动异常恢复方法、***及设备 | |
JPS5923514B2 (ja) | 二次元逐次符号化方式 | |
CN113727190A (zh) | 一种多格式视频镜像转换方法、***、终端及存储介质 | |
JP3796235B2 (ja) | イメージ圧縮及び復元方法 |
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 |