CN112256338B - Soc启动方法、装置、计算机设备及存储介质 - Google Patents
Soc启动方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112256338B CN112256338B CN202011163809.8A CN202011163809A CN112256338B CN 112256338 B CN112256338 B CN 112256338B CN 202011163809 A CN202011163809 A CN 202011163809A CN 112256338 B CN112256338 B CN 112256338B
- Authority
- CN
- China
- Prior art keywords
- data
- efuse
- read
- soc
- boot
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012360 testing method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 10
- 239000007858 starting material Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 6
- 238000012356 Product development Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及SOC启动方法、装置、计算机设备及存储介质,该方法包括对SOC进行上电;获取读命令以及对应的参数;根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;读取后续多级Boot程序的数据,以启动SOC。本发明通过在SOC上电时先获取读取的参数和读命令,再根据参数和读命令从EFUSE中或Boot ROM内读取第一级Boot程序相关的数据,当从Boot ROM内读取失败时,对EFUSE进行配置,以实现有效地节省SOC开发Boot ROM数据的难度,大幅度降低数据不可靠的风险;可确保SOC上电后能够正常工作。
Description
技术领域
本发明涉及嵌入式系统,更具体地说是指SOC启动方法、装置、计算机设备及存储介质。
背景技术
在集成电路SOC(系统级芯片,System on Chip)设计中,一般是通过多级Boot方式去启动CPU,进而运行完整程序。相对于第一级Boot程序,后续多级Boot程序,一般存在于SOC外部的Flash中,可以通过后期SOC生产或产品开发时,再进行烧录或修改;而第一级Boot ROM数据,为防止SOC掉电数据丢失以及引导CPU运行,一般通过将数据固定于SOC内部的ROM中,简称为Boot ROM,其不可修改,正是由于其存储的特殊性,相对于后续多级Boot,第一级Boot是最重要的。
但是,Boot ROM的不可修改的特性,加剧了SOC设计时的难度,需要花较大的人力去进行开发和测试,而且SOC在设计与实际产品开发时的差别,又进一步加大了Boot ROM中数据的不可靠性,最终可能导致SOC上电后无法工作,也就是容易使得SOC无法正常启动。
因此,有必要设计一种新的方法,实现有效地节省SOC开发Boot ROM数据的难度,大幅度降低数据不可靠的风险;可确保SOC上电后能够正常工作。
发明内容
本发明的目的在于克服现有技术的缺陷,提供SOC启动方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:SOC启动方法,包括:
对SOC进行上电;
获取读命令以及对应的参数;
根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;
读取后续多级Boot程序的数据,以启动SOC。
其进一步技术方案为:所述获取读命令以及对应的参数,包括:
预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数以及选择的读取地址;
获取读地址的数值;
根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令。
其进一步技术方案为:所述根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,包括:
根据所述读命令以及对应的参数判断是否是从EFUSE中读取数据;
若是从EFUSE中读取数据,则从EFUSE中读取第一级Boot程序相关的数据;
若不是从EFUSE中读取数据,则从Boot ROM中读取第一级Boot程序相关的数据。
其进一步技术方案为:所述从Boot ROM中读取第一级Boot程序相关的数据,包括:
判断原有的Boot ROM中第一级Boot程序相关的数据是否能够满足启动CPU的条件;
若原有的Boot ROM中第一级Boot程序相关的数据不能够满足启动CPU的条件,则获取用于启动CPU的Boot数据;
根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据。
其进一步技术方案为:所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据,包括:
将SOC置于测试模式;
通过测试接口接管EFUSE操作,以由外部主机直接通过EFUSE操作接口将用于启动CPU的Boot数据写入EFUSE中;
从编程后的EFUSE中读取第一级Boot程序相关的数据。
其进一步技术方案为:所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据,包括:
通过JTAG控制CPU,以使得CPU通过内部总线将用于启动CPU的Boot数据写入EFUSE中;
从编程后的EFUSE中读取第一级Boot程序相关的数据。
本发明还提供了SOC启动装置,包括:
上电单元,用于对SOC进行上电;
获取单元,用于获取读命令以及对应的参数;
数据读取单元,用于根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;
启动单元,用于读取后续多级Boot程序的数据,以启动SOC。
其进一步技术方案为:所述获取单元包括:
参数获取子单元,用于预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数以及选择的读取地址;
数值获取子单元,用于获取读地址的数值;
读命令生成子单元,用于根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过在SOC上电时,先获取读取的参数和读命令,再根据参数和读命令从EFUSE中或Boot ROM内读取第一级Boot程序相关的数据,当从Boot ROM内读取失败时,对EFUSE进行配置,以使得CPU可切换至EFUSE内读取对应的数据,以实现有效地节省SOC开发Boot ROM数据的难度,大幅度降低数据不可靠的风险;可确保SOC上电后能够正常工作。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的SOC启动方法的流程示意图;
图2为本发明实施例提供的SOC启动方法的子流程示意图;
图3为本发明实施例提供的SOC启动方法的子流程示意图;
图4为本发明实施例提供的SOC启动方法的子流程示意图;
图5为本发明实施例提供的SOC启动方法的子流程示意图;
图6为本发明另一实施例提供的SOC启动方法的子流程示意图;
图7为本发明实施例提供的SOC启动装置的示意性框图;
图8为本发明实施例提供的SOC启动装置的获取单元的示意性框图;
图9为本发明实施例提供的SOC启动装置的数据读取单元的示意性框图;
图10为本发明实施例提供的SOC启动装置的第二读取子单元的示意性框图;
图11为本发明实施例提供的SOC启动装置的编程模块的示意性框图;
图12为本发明另一实施例提供的SOC启动装置的编程模块的示意性框图;
图13为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的SOC启动方法的示意性流程图。该SOC启动方法应用于带有SOC的服务器中。
如图1所示,该方法包括以下步骤S110至S140。
S110、对SOC进行上电。
SOC芯片上电后,CPU需要从特定位置读取第一级Boot程序,从而正常启动,进而读取后续多级Boot程序,最终运行完整的程序。
S120、获取读命令以及对应的参数。
在本实施例中,读命令是指读取第一级Boot程序相关的数据,再读取到第一级Boot程序相关的数据之后,才可以读取后续Boot程序的相关数据,进而达到启动CPU的目的。
在本实施例中,参数是指读命令对应的参数,比如是从哪个位置读取数据等内容。
在一实施例中,请参阅图2,上述的步骤S120可包括步骤S121~S123。
S121、预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数以及选择的读取地址。
具体地,在SOC上电时,在CPU启动前,预读取EFUSE某个特定Bit数据,根据此数据判断CPU读取数据在具体哪个位置,也就是所要选择的读取地址,由此形成参数。
S122、获取读地址的数值;
S123、根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令。
根据从CPU接收的读地址的数值,对照地址映射表,发出对应地址的读命令。
S130、根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据;其中,特定位置包括SOC内部的EFUSE或Boot ROM。
根据读命令以及根据参数,选择从Boot ROM中读取数据或者从EFUSE中读取数据;如指示读取Boot ROM数据时,当读取失败时,会自动切换为读取EFUSE。
EFUSE主要存储CPU Boot所需要的数据,在SOC生产后由使用者根据后期测试数据编程写入,Boot ROM主要存储CPU Boot所需要的数据,此数据在SOC生产前需要芯片设计人员确认,且固定于SOC内部,不可修改。
在一实施例中,请参阅图3,上述的步骤S130可包括S131~S133。
S131、根据所述读命令以及对应的参数判断是否是从EFUSE中读取数据;
S132、若是从EFUSE中读取数据,则从EFUSE中读取第一级Boot程序相关的数据;
S133、若不是从EFUSE中读取数据,则从Boot ROM中读取第一级Boot程序相关的数据。
SOC上电后,SOC的CPU从复位状态撤出,则开始启动,开始从特定地址读取Boot程序相关的数据,内部读取逻辑在CPU启动前,自动从EFUSE中特定位置读取某一bit数据,根据此bit数据判断是读取的是原有的Boot ROM数据,还是读取EFUSE中数据,当确认从EFUSE中读取数据后,即转向EFUSE读取数据,如果确认从Boot ROM读取数据,则转向Boot ROM读取数据,最后CPU读取到Boot数据后,进行处理,完成第一级Boot程序后,转向读取二级Boot数据,以及继续后续的完整程序,至此CPU完全工作起来了。
在一实施例中,请参阅图4,上述的步骤S133可包括步骤S1331~S1334。
S1331、判断原有的Boot ROM中第一级Boot程序相关的数据是否能够满足启动CPU的条件;
S1332、若原有的Boot ROM中第一级Boot程序相关的数据不能够满足启动CPU的条件,则获取用于启动CPU的Boot数据。
在本实施例中,用于启动CPU的Boot数据是指第一级Boot程序相关的数据,且该数据可用于与其他级Boot程序相关的数据配合,以启动CPU。
S1333、根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据。
在一实施例中,请参阅图5,上述的步骤S1333可包括步骤S13331~S13333。
S13331、将SOC置于测试模式;
S13332、通过测试接口接管EFUSE操作,以由外部主机直接通过EFUSE操作接口将用于启动CPU的Boot数据写入EFUSE中;
S13333、从编程后的EFUSE中读取第一级Boot程序相关的数据。
当SOC中原有的Boot ROM中数据不能满足CPU启动时,需要使用重构Boot模式,对EFUSE进行配置,首先获取用于CPU的Boot数据,此时可以对EFUSE进行编程操作,以使得CPU可以从EFUSE内读取对应的数据,具体地,将SOC置于测试模式,通过测试接口直接接管EFUSE操作;外部主机直接通过EFUSE操作接口,将Boot数据写入EFUSE中,至此,准确的Boot数据已经被写入了EFUSE中,至此完成了EFUSE的配置操作。当SOC正式上电启动后,CPU可从EFUSE正常启动。
在另一实施例中,如图6所示,上述的步骤S1333还可以包括S1333a~S1333b。
S1333a、通过JTAG控制CPU,以使得CPU通过内部总线将用于启动CPU的Boot数据写入EFUSE中;
S1333b、从编程后的EFUSE中读取第一级Boot程序相关的数据。
通过两种方式对EFUSE进行编程操作,其一可以通过JTAG接管CPU,控制CPU进行读写操作,另一种方式为将SOC置于测试模式,通过测试接口直接接管EFUSE操作;当采用JTAG接管CPU模式时,CPU通过内部总线将数据写入EFUSE中,当采用测试模式时,外部主机直接通过EFUSE操作接口,将Boot数据写入EFUSE中。至此,准确的Boot数据已经被写入了EFUSE中,至此完成了EFUSE的配置操作。当SOC正式上电启动后,CPU可从EFUSE正常启动。
S1334、若原有的Boot ROM中第一级Boot程序相关的数据能够满足启动CPU的条件,则直接从Boot ROM中读取第一级Boot程序相关的数据。
当Boot ROM数据错误时,CPU无法启动,则可通过读取EFUSE中启动数据,来保证SOC正常工作;产品开发的定制性,需要更改第一级Boot程序,则可将第一级Boot程序烧录进EFUSE中,CPU直接读取EFUSE中数据进行启动。
EFUSE既支持存储CPU写入的数据;也支持通过SOC测试接口直接写入数据。
S140、读取后续多级Boot程序的数据,以启动SOC。
读取到第一级Boot程序的数据后,便可进行后续多级Boot程序的数据读取,以进行正常启动SOC。
在SOC设计中,EFUSE作为一存储逻辑集成至芯片中,同时设计对应的逻辑单元,加上芯片原有的数据总线,即可以实现Boot的重构。
本方法既可以采用总线接口操作,一端为总线数据传输接口,主机为CPU,可实现对EFUSE单元的编程;又可以通过SOC自带的测试接口,对EFUSE单元实现编程。编程完后,SOC上电后,CPU启动可根据EFUSE中配置的数据指示,选择从原有的Boot ROM中读取数据启动,或者通过读取EFUSE数据,进行CPU启动。增加了SOC上电后,CPU启动的可靠性,在自带Boot ROM发生数据错误时,仍然可从EFUSE正常启动。
另外,对于EFUSE的编程过程,可囊括以下内容:
JTAG接口控制逻辑,主要为通用的JTAG控制逻辑,用于SOC上电后控制CPU进行读写操作;
SOC芯片中的主机,SOC芯片上电后,通过JTAG控制CPU,对特定的地址进行读写,如可对EFUSE进行编程;
总线读写接口,根据从CPU接收的读地址的数值,对照地址映射表,发出对应地址的读命令;
选择控制逻辑,根据203发送的指令,以及根据206给出的指示,选择对EFUSE进行编程的写操作;
EFUSE接口控制逻辑,根据SOC的工作模式,选择采用CPU模式进行EFUSE的编程操作,还是采用测试模式下,通过测试接口进行编程操作;
SOC接口逻辑,主要为SOC在测试模式下,部分SOC接口可复用于控制EFUSE,进行读写操作。
通过可重构EFUSE与Boot ROM结合,可以有效地节省SOC开发Boot ROM数据的难度。EFUSE中数据是后期生产时,通过外部测试机台烧录进去,此数据已经经过了测试,是确认可靠的。而Boot ROM数据因为要既要保证SOC芯片流片的进度,而芯片设计阶段和实际产品开发的差别,又进一步导致在SOC流片前,无法进行完整的试验来确保数据准确,故有较大的出错风险。本发明实现了两种能力,当Boot ROM数据错误时,CPU无法启动,则可通过读取EFUSE中启动数据,来保证SOC正常工作;产品开发的定制性,需要更改第一级Boot程序,则可将第一级Boot程序烧录进EFUSE中,CPU直接读取EFUSE中数据进行启动。此时无需对Boot ROM进行再一次开发,有效地节省SOC开发Boot ROM数据的难度,大幅度降低数据不可靠的风险。
上述的SOC启动方法,通过在SOC上电时,先获取读取的参数和读命令,再根据参数和读命令从EFUSE中或Boot ROM内读取第一级Boot程序相关的数据,当从Boot ROM内读取失败时,对EFUSE进行配置,以使得CPU可切换至EFUSE内读取对应的数据,以实现有效地节省SOC开发Boot ROM数据的难度,大幅度降低数据不可靠的风险;可确保SOC上电后能够正常工作。
图7是本发明实施例提供的一种SOC启动装置300的示意性框图。如图7所示,对应于以上SOC启动方法,本发明还提供一种SOC启动装置300。该SOC启动装置300包括用于执行上述SOC启动方法的单元,该装置可以被配置于服务器中。具体地,请参阅图7,该SOC启动装置300包括上电单元301、获取单元302、数据读取单元303以及启动单元304。
上电单元301,用于对SOC进行上电;获取单元302,用于获取读命令以及对应的参数;数据读取单元303,用于根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;启动单元304,用于读取后续多级Boot程序的数据,以启动SOC。
在一实施例中,如图8所示,所述获取单元302包括参数获取子单元3021、数值获取子单元3022以及读命令生成子单元3023。
参数获取子单元3021,用于预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数以及选择的读取地址;数值获取子单元3022,用于获取读地址的数值;读命令生成子单元3023,用于根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令。
在一实施例中,如图9所示,所述数据读取单元303包括判断子单元3031、第一读取子单元3032以及第二读取子单元3033。
判断子单元3031,用于根据所述读命令以及对应的参数判断是否是从EFUSE中读取数据;第一读取子单元3032,用于若是从EFUSE中读取数据,则从EFUSE中读取第一级Boot程序相关的数据;第二读取子单元3033,用于若不是从EFUSE中读取数据,则从Boot ROM中读取第一级Boot程序相关的数据。
在一实施例中,如图10所示,所述第二读取子单元3033包括启动判断模块30331、数据获取模块30332以及编程模块30333。
启动判断模块30331,用于判断原有的Boot ROM中第一级Boot程序相关的数据是否能够满足启动CPU的条件;数据获取模块30332,用于若原有的Boot ROM中第一级Boot程序相关的数据不能够满足启动CPU的条件,则获取用于启动CPU的Boot数据;编程模块30333,用于根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据。
在一实施例中,如图11所示,所述编程模块30333包括模式设置子模块303331、第一写入子模块303332以及第一读取子模块303333。
模式设置子模块303331,用于将SOC置于测试模式;第一写入子模块303332,用于通过测试接口接管EFUSE操作,以由外部主机直接通过EFUSE操作接口将用于启动CPU的Boot数据写入EFUSE中;第一读取子模块303333,用于从编程后的EFUSE中读取第一级Boot程序相关的数据。
在一实施例中,如图12所示,所述编程模块30333包括第二写入子模块303334以及第二读取子模块303335。
第二写入子模块303334,用于通过JTAG控制CPU,以使得CPU通过内部总线将用于启动CPU的Boot数据写入EFUSE中;第二读取子模块303335,用于从编程后的EFUSE中读取第一级Boot程序相关的数据。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述SOC启动装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述SOC启动装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图13所示的计算机设备上运行。
请参阅图13,图13是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图13,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种SOC启动方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种SOC启动方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
对SOC进行上电;获取读命令以及对应的参数;根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;读取后续多级Boot程序的数据,以启动SOC。
在一实施例中,处理器502在实现所述获取读命令以及对应的参数步骤时,具体实现如下步骤:
预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数以及选择的读取地址;获取读地址的数值;根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令。
在一实施例中,处理器502在实现所述根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
根据所述读命令以及对应的参数判断是否是从EFUSE中读取数据;若是从EFUSE中读取数据,则从EFUSE中读取第一级Boot程序相关的数据;若不是从EFUSE中读取数据,则从Boot ROM中读取第一级Boot程序相关的数据。
在一实施例中,处理器502在实现所述从Boot ROM中读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
判断原有的Boot ROM中第一级Boot程序相关的数据是否能够满足启动CPU的条件;若原有的Boot ROM中第一级Boot程序相关的数据不能够满足启动CPU的条件,则获取用于启动CPU的Boot数据;根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据。
在一实施例中,处理器502在实现所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
将SOC置于测试模式;通过测试接口接管EFUSE操作,以由外部主机直接通过EFUSE操作接口将用于启动CPU的Boot数据写入EFUSE中;从编程后的EFUSE中读取第一级Boot程序相关的数据。
在一实施例中,处理器502在实现所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
通过JTAG控制CPU,以使得CPU通过内部总线将用于启动CPU的Boot数据写入EFUSE中;从编程后的EFUSE中读取第一级Boot程序相关的数据。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
对SOC进行上电;获取读命令以及对应的参数;根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;读取后续多级Boot程序的数据,以启动SOC。
在一实施例中,所述处理器在执行所述计算机程序而实现所述获取读命令以及对应的参数步骤时,具体实现如下步骤:
预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数以及选择的读取地址;获取读地址的数值;根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
根据所述读命令以及对应的参数判断是否是从EFUSE中读取数据;若是从EFUSE中读取数据,则从EFUSE中读取第一级Boot程序相关的数据;若不是从EFUSE中读取数据,则从Boot ROM中读取第一级Boot程序相关的数据。
在一实施例中,所述处理器在执行所述计算机程序而实现所述从Boot ROM中读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
判断原有的Boot ROM中第一级Boot程序相关的数据是否能够满足启动CPU的条件;若原有的Boot ROM中第一级Boot程序相关的数据不能够满足启动CPU的条件,则获取用于启动CPU的Boot数据;根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
将SOC置于测试模式;通过测试接口接管EFUSE操作,以由外部主机直接通过EFUSE操作接口将用于启动CPU的Boot数据写入EFUSE中;从编程后的EFUSE中读取第一级Boot程序相关的数据。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据步骤时,具体实现如下步骤:
通过JTAG控制CPU,以使得CPU通过内部总线将用于启动CPU的Boot数据写入EFUSE中;从编程后的EFUSE中读取第一级Boot程序相关的数据。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.SOC启动方法,其特征在于,包括:
对SOC进行上电;
获取读命令以及对应的参数;
根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;
读取后续多级Boot程序的数据,以启动SOC;
所述获取读命令以及对应的参数,包括:
预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数以及选择的读取地址;
获取读地址的数值;
根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令;所述根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,包括:
根据所述读命令以及对应的参数判断是否是从EFUSE中读取数据;
若是从EFUSE中读取数据,则从EFUSE中读取第一级Boot程序相关的数据;
若不是从EFUSE中读取数据,则从Boot ROM中读取第一级Boot程序相关的数据。
2.根据权利要求1所述的SOC启动方法,其特征在于,所述从Boot ROM中读取第一级Boot程序相关的数据,包括:
判断原有的Boot ROM中第一级Boot程序相关的数据是否能够满足启动CPU的条件;
若原有的Boot ROM中第一级Boot程序相关的数据不能够满足启动CPU的条件,则获取用于启动CPU的Boot数据;
根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据。
3.根据权利要求2所述的SOC启动方法,其特征在于,所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据,包括:
将SOC置于测试模式;
通过测试接口接管EFUSE操作,以由外部主机直接通过EFUSE操作接口将用于启动CPU的Boot数据写入EFUSE中;
从编程后的EFUSE中读取第一级Boot程序相关的数据。
4.根据权利要求2所述的SOC启动方法,其特征在于,所述根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据,包括:
通过JTAG控制CPU,以使得CPU通过内部总线将用于启动CPU的Boot数据写入EFUSE中;
从编程后的EFUSE中读取第一级Boot程序相关的数据。
5.SOC启动装置,其特征在于,包括:
上电单元,用于对SOC进行上电;
获取单元,用于获取读命令以及对应的参数;
数据读取单元,用于根据读命令以及对应的参数从特定位置读取第一级Boot程序相关的数据,其中,特定位置包括SOC内部的EFUSE或Boot ROM;
启动单元,用于读取后续多级Boot程序的数据,以启动SOC;
所述获取单元包括:
参数获取子单元,用于预读取EFUSE某个特定数据,根据所述特定数据生成读地址的参数,以得到读命令对应的参数;
数值获取子单元,用于获取读地址的数值;
读命令生成子单元,用于根据读地址的数值与地址映射表进行对照,以生成对应读地址的读命令;
第二读取子单元包括启动判断模块、数据获取模块以及编程模块;
启动判断模块,用于判断原有的Boot ROM中第一级Boot程序相关的数据是否能够满足启动CPU的条件;数据获取模块,用于若原有的Boot ROM中第一级Boot程序相关的数据不能够满足启动CPU的条件,则获取用于启动CPU的Boot数据;编程模块,用于根据用于启动CPU的Boot数据对EFUSE进行编程操作,并从编程后的EFUSE中读取第一级Boot程序相关的数据;
所述数据读取单元包括判断子单元、第一读取子单元以及第二读取子单元;
判断子单元,用于根据所述读命令以及对应的参数判断是否是从EFUSE中读取数据;第一读取子单元,用于若是从EFUSE中读取数据,则从EFUSE中读取第一级Boot程序相关的数据;第二读取子单元,用于若不是从EFUSE中读取数据,则从Boot ROM中读取第一级Boot程序相关的数据。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的方法。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163809.8A CN112256338B (zh) | 2020-10-27 | 2020-10-27 | Soc启动方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163809.8A CN112256338B (zh) | 2020-10-27 | 2020-10-27 | Soc启动方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256338A CN112256338A (zh) | 2021-01-22 |
CN112256338B true CN112256338B (zh) | 2023-12-05 |
Family
ID=74262821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011163809.8A Active CN112256338B (zh) | 2020-10-27 | 2020-10-27 | Soc启动方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256338B (zh) |
Citations (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750203A (zh) * | 2012-06-07 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种基于linux的快速部署方法 |
CN104360877A (zh) * | 2014-10-24 | 2015-02-18 | 同济大学 | 基于Bootloader自更新的ECU固件更新方法 |
CN104835532A (zh) * | 2015-05-13 | 2015-08-12 | 福州瑞芯微电子有限公司 | SOC芯片eFuse失效的处理方法及装置 |
CN104835537A (zh) * | 2015-05-13 | 2015-08-12 | 福州瑞芯微电子有限公司 | Soc芯片自适应启动方法及装置 |
CN105631366A (zh) * | 2015-10-13 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种加密芯片及其加密方法 |
CN106066799A (zh) * | 2016-06-15 | 2016-11-02 | 福州瑞芯微电子股份有限公司 | 一种增强bootrom兼容性的方法 |
CN106325868A (zh) * | 2016-08-24 | 2017-01-11 | 南京百敖软件有限公司 | 一种在uefi中实现快捷键绑定启动设备的方法 |
CN106372538A (zh) * | 2016-08-30 | 2017-02-01 | 苏州国芯科技有限公司 | 一种基于SoC芯片的固件保护方法 |
CN106528123A (zh) * | 2016-10-26 | 2017-03-22 | 珠海全志科技股份有限公司 | 一种基于eFuse模块的SoC启动方法和装置 |
CN107003863A (zh) * | 2015-01-29 | 2017-08-01 | 惠普发展公司,有限责任合伙企业 | 引导片上系统器件 |
CN107941349A (zh) * | 2018-01-10 | 2018-04-20 | 哈尔滨理工大学 | 一种基于soc的红外热成像网络传输系统 |
CN108021530A (zh) * | 2017-12-22 | 2018-05-11 | 北京卫星信息工程研究所 | 基于soc的通用信号处理平台在轨重构方法 |
CN108121915A (zh) * | 2016-11-30 | 2018-06-05 | 北京忆芯科技有限公司 | 电子设备生产的方法、启动的方法及系统 |
CN108132797A (zh) * | 2016-11-30 | 2018-06-08 | 青岛海信电器股份有限公司 | 一种遥控器、SoC芯片及其应用程序的升级方法 |
CN108271054A (zh) * | 2017-01-03 | 2018-07-10 | 中国移动通信有限公司研究院 | 一种固件升级备份方法及装置 |
CN108287999A (zh) * | 2017-01-10 | 2018-07-17 | 厦门雅迅网络股份有限公司 | 一种基于TrustZone的系统可信启动方法 |
CN108763760A (zh) * | 2018-05-29 | 2018-11-06 | 西安微电子技术研究所 | 一种基于两级boot结构的系统级芯片 |
CN108874458A (zh) * | 2017-05-10 | 2018-11-23 | 鸿秦(北京)科技有限公司 | 一种多核SoC的固件启动方法以及多核SoC设备 |
CN108920387A (zh) * | 2018-06-06 | 2018-11-30 | 深圳忆联信息系统有限公司 | 降低读延迟的方法、装置、计算机设备及存储介质 |
CN109542518A (zh) * | 2018-10-09 | 2019-03-29 | 华为技术有限公司 | 芯片和启动芯片的方法 |
CN109656591A (zh) * | 2018-12-06 | 2019-04-19 | 上海荣泰健康科技股份有限公司 | 程序下载方法、电子设备及云端服务器 |
CN109725945A (zh) * | 2018-12-30 | 2019-05-07 | 龙尚科技(上海)有限公司 | 一种模组启动方法、装置、设备及存储介质 |
CN109766134A (zh) * | 2019-01-08 | 2019-05-17 | 四川虹微技术有限公司 | 系统启动方法、装置、电子设备及存储介质 |
CN109783148A (zh) * | 2019-01-15 | 2019-05-21 | 湖南泽天智航电子技术有限公司 | 一种U-Boot启动双备份系统 |
CN109783340A (zh) * | 2017-11-10 | 2019-05-21 | 深圳市中兴微电子技术有限公司 | SoC的测试代码烧写方法、IP测试方法及装置 |
CN109800032A (zh) * | 2019-01-31 | 2019-05-24 | 深圳忆联信息系统有限公司 | Bootrom多核加载方法及装置 |
CN109814888A (zh) * | 2019-01-25 | 2019-05-28 | 深圳忆联信息系统有限公司 | NandFlash控制器EFUSE代替方法及装置 |
CN109842428A (zh) * | 2019-02-19 | 2019-06-04 | 康佳集团股份有限公司 | 一种WiFi芯片及自适应方法 |
CN109886033A (zh) * | 2019-02-25 | 2019-06-14 | 深圳忆联信息系统有限公司 | 基于Efuse的密钥读取控制方法、装置和计算机设备 |
CN109901797A (zh) * | 2019-02-25 | 2019-06-18 | 深圳忆联信息系统有限公司 | 数据预读方法、装置、计算机设备及存储介质 |
CN109902452A (zh) * | 2018-11-01 | 2019-06-18 | 北京旷视科技有限公司 | Fpga授权验证方法、装置及处理设备 |
CN109918023A (zh) * | 2019-02-22 | 2019-06-21 | 深圳忆联信息系统有限公司 | 基于内存受限ssd的预读取方法、装置和计算机设备 |
CN109918124A (zh) * | 2019-03-15 | 2019-06-21 | 盛科网络(苏州)有限公司 | SOC启动早期载入用户配置的方法及系统、Bootloader镜像配置方法 |
CN110007971A (zh) * | 2019-03-25 | 2019-07-12 | 联想(北京)有限公司 | 一种信息处理方法及装置、设备、存储介质 |
CN110109708A (zh) * | 2019-04-25 | 2019-08-09 | 深圳忆联信息系统有限公司 | 一种控制器NandBoot机制的方法及其系统 |
CN110134415A (zh) * | 2019-04-12 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种控制器及其软件升级方法和装置 |
CN110231952A (zh) * | 2019-06-17 | 2019-09-13 | 合肥巨一动力系统有限公司 | 一种ecu程序备份及循环升级控制方法及装置 |
CN110443078A (zh) * | 2019-07-19 | 2019-11-12 | 南京芯驰半导体科技有限公司 | 一种基于特权分级的安全存储系统 |
CN110545319A (zh) * | 2019-08-23 | 2019-12-06 | 武汉久同智能科技有限公司 | 一种SoC核系统的设计和核间任务通信的实现方法 |
CN110806889A (zh) * | 2019-11-01 | 2020-02-18 | 湖南凯杰科技有限责任公司 | 一种基于5g的zynq程序远程升级系统及升级方法 |
CN110874467A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、系统以及处理器、存储介质 |
CN110928499A (zh) * | 2019-11-18 | 2020-03-27 | 珠海泰芯半导体有限公司 | 一种芯片内嵌的flash存储器、芯片以及芯片的启动方法 |
CN111045739A (zh) * | 2019-12-03 | 2020-04-21 | 福州瑞芯微电子股份有限公司 | 基于启动程序的固件引导方法、介质及设备 |
CN111061514A (zh) * | 2019-10-30 | 2020-04-24 | 翱捷智能科技(上海)有限公司 | Flash器件、集成电路及Flash器件启动方法 |
CN111104246A (zh) * | 2019-11-25 | 2020-05-05 | 深圳忆联信息系统有限公司 | 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质 |
CN111143131A (zh) * | 2019-12-26 | 2020-05-12 | 中国电子科技集团公司第五十八研究所 | 对操作系统进行备份热启动的系统 |
CN111444528A (zh) * | 2020-03-31 | 2020-07-24 | 海信视像科技股份有限公司 | 数据安全保护方法、装置及存储介质 |
CN111506452A (zh) * | 2020-04-21 | 2020-08-07 | 记忆科技(深圳)有限公司 | 数据存储保护方法、装置、计算机设备及存储介质 |
CN111741518A (zh) * | 2020-06-22 | 2020-10-02 | 湖南国科微电子股份有限公司 | 一种WiFi芯片电路及WiFi装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9299451B2 (en) * | 2012-01-20 | 2016-03-29 | International Business Machines Corporation | Tamper resistant electronic system utilizing acceptable tamper threshold count |
US8988956B2 (en) * | 2012-09-18 | 2015-03-24 | Mosys, Inc. | Programmable memory built in self repair circuit |
KR102060430B1 (ko) * | 2013-08-08 | 2020-02-11 | 삼성전자주식회사 | 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템 |
US9778728B2 (en) * | 2014-05-29 | 2017-10-03 | Apple Inc. | System on a chip with fast wake from sleep |
US10811096B2 (en) * | 2017-05-19 | 2020-10-20 | Aspiring Sky Co. Limited | Multi-block non-volatile memories with single unified interface |
TWI700627B (zh) * | 2017-05-23 | 2020-08-01 | 慧榮科技股份有限公司 | 認證韌體資料之資料儲存裝置與資料儲存方法 |
US10657260B2 (en) * | 2017-09-19 | 2020-05-19 | Sling Media Pvt Ltd | Electronic devices and methods supporting unsecured system-on-chip secure boot functionalities |
US10938792B2 (en) * | 2018-01-31 | 2021-03-02 | Dell Products L.P. | Layered encryption for end to end communication |
US10741268B2 (en) * | 2018-11-13 | 2020-08-11 | Texas Instruments Incorporated | Flexible and efficient device trim support using efuse |
-
2020
- 2020-10-27 CN CN202011163809.8A patent/CN112256338B/zh active Active
Patent Citations (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750203A (zh) * | 2012-06-07 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种基于linux的快速部署方法 |
CN104360877A (zh) * | 2014-10-24 | 2015-02-18 | 同济大学 | 基于Bootloader自更新的ECU固件更新方法 |
CN107003863A (zh) * | 2015-01-29 | 2017-08-01 | 惠普发展公司,有限责任合伙企业 | 引导片上系统器件 |
CN104835537A (zh) * | 2015-05-13 | 2015-08-12 | 福州瑞芯微电子有限公司 | Soc芯片自适应启动方法及装置 |
CN104835532A (zh) * | 2015-05-13 | 2015-08-12 | 福州瑞芯微电子有限公司 | SOC芯片eFuse失效的处理方法及装置 |
CN105631366A (zh) * | 2015-10-13 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种加密芯片及其加密方法 |
CN106066799A (zh) * | 2016-06-15 | 2016-11-02 | 福州瑞芯微电子股份有限公司 | 一种增强bootrom兼容性的方法 |
CN106325868A (zh) * | 2016-08-24 | 2017-01-11 | 南京百敖软件有限公司 | 一种在uefi中实现快捷键绑定启动设备的方法 |
CN106372538A (zh) * | 2016-08-30 | 2017-02-01 | 苏州国芯科技有限公司 | 一种基于SoC芯片的固件保护方法 |
CN106528123A (zh) * | 2016-10-26 | 2017-03-22 | 珠海全志科技股份有限公司 | 一种基于eFuse模块的SoC启动方法和装置 |
CN108121915A (zh) * | 2016-11-30 | 2018-06-05 | 北京忆芯科技有限公司 | 电子设备生产的方法、启动的方法及系统 |
CN108132797A (zh) * | 2016-11-30 | 2018-06-08 | 青岛海信电器股份有限公司 | 一种遥控器、SoC芯片及其应用程序的升级方法 |
CN108271054A (zh) * | 2017-01-03 | 2018-07-10 | 中国移动通信有限公司研究院 | 一种固件升级备份方法及装置 |
CN108287999A (zh) * | 2017-01-10 | 2018-07-17 | 厦门雅迅网络股份有限公司 | 一种基于TrustZone的系统可信启动方法 |
CN108874458A (zh) * | 2017-05-10 | 2018-11-23 | 鸿秦(北京)科技有限公司 | 一种多核SoC的固件启动方法以及多核SoC设备 |
CN109783340A (zh) * | 2017-11-10 | 2019-05-21 | 深圳市中兴微电子技术有限公司 | SoC的测试代码烧写方法、IP测试方法及装置 |
CN108021530A (zh) * | 2017-12-22 | 2018-05-11 | 北京卫星信息工程研究所 | 基于soc的通用信号处理平台在轨重构方法 |
CN107941349A (zh) * | 2018-01-10 | 2018-04-20 | 哈尔滨理工大学 | 一种基于soc的红外热成像网络传输系统 |
CN108763760A (zh) * | 2018-05-29 | 2018-11-06 | 西安微电子技术研究所 | 一种基于两级boot结构的系统级芯片 |
CN108920387A (zh) * | 2018-06-06 | 2018-11-30 | 深圳忆联信息系统有限公司 | 降低读延迟的方法、装置、计算机设备及存储介质 |
CN110874467A (zh) * | 2018-08-29 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、系统以及处理器、存储介质 |
CN109542518A (zh) * | 2018-10-09 | 2019-03-29 | 华为技术有限公司 | 芯片和启动芯片的方法 |
CN109902452A (zh) * | 2018-11-01 | 2019-06-18 | 北京旷视科技有限公司 | Fpga授权验证方法、装置及处理设备 |
CN109656591A (zh) * | 2018-12-06 | 2019-04-19 | 上海荣泰健康科技股份有限公司 | 程序下载方法、电子设备及云端服务器 |
CN109725945A (zh) * | 2018-12-30 | 2019-05-07 | 龙尚科技(上海)有限公司 | 一种模组启动方法、装置、设备及存储介质 |
CN109766134A (zh) * | 2019-01-08 | 2019-05-17 | 四川虹微技术有限公司 | 系统启动方法、装置、电子设备及存储介质 |
CN109783148A (zh) * | 2019-01-15 | 2019-05-21 | 湖南泽天智航电子技术有限公司 | 一种U-Boot启动双备份系统 |
CN109814888A (zh) * | 2019-01-25 | 2019-05-28 | 深圳忆联信息系统有限公司 | NandFlash控制器EFUSE代替方法及装置 |
CN109800032A (zh) * | 2019-01-31 | 2019-05-24 | 深圳忆联信息系统有限公司 | Bootrom多核加载方法及装置 |
CN109842428A (zh) * | 2019-02-19 | 2019-06-04 | 康佳集团股份有限公司 | 一种WiFi芯片及自适应方法 |
CN109918023A (zh) * | 2019-02-22 | 2019-06-21 | 深圳忆联信息系统有限公司 | 基于内存受限ssd的预读取方法、装置和计算机设备 |
CN109886033A (zh) * | 2019-02-25 | 2019-06-14 | 深圳忆联信息系统有限公司 | 基于Efuse的密钥读取控制方法、装置和计算机设备 |
CN109901797A (zh) * | 2019-02-25 | 2019-06-18 | 深圳忆联信息系统有限公司 | 数据预读方法、装置、计算机设备及存储介质 |
CN109918124A (zh) * | 2019-03-15 | 2019-06-21 | 盛科网络(苏州)有限公司 | SOC启动早期载入用户配置的方法及系统、Bootloader镜像配置方法 |
CN110007971A (zh) * | 2019-03-25 | 2019-07-12 | 联想(北京)有限公司 | 一种信息处理方法及装置、设备、存储介质 |
CN110134415A (zh) * | 2019-04-12 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种控制器及其软件升级方法和装置 |
CN110109708A (zh) * | 2019-04-25 | 2019-08-09 | 深圳忆联信息系统有限公司 | 一种控制器NandBoot机制的方法及其系统 |
CN110231952A (zh) * | 2019-06-17 | 2019-09-13 | 合肥巨一动力系统有限公司 | 一种ecu程序备份及循环升级控制方法及装置 |
CN110443078A (zh) * | 2019-07-19 | 2019-11-12 | 南京芯驰半导体科技有限公司 | 一种基于特权分级的安全存储系统 |
CN110545319A (zh) * | 2019-08-23 | 2019-12-06 | 武汉久同智能科技有限公司 | 一种SoC核系统的设计和核间任务通信的实现方法 |
CN111061514A (zh) * | 2019-10-30 | 2020-04-24 | 翱捷智能科技(上海)有限公司 | Flash器件、集成电路及Flash器件启动方法 |
CN110806889A (zh) * | 2019-11-01 | 2020-02-18 | 湖南凯杰科技有限责任公司 | 一种基于5g的zynq程序远程升级系统及升级方法 |
CN110928499A (zh) * | 2019-11-18 | 2020-03-27 | 珠海泰芯半导体有限公司 | 一种芯片内嵌的flash存储器、芯片以及芯片的启动方法 |
CN111104246A (zh) * | 2019-11-25 | 2020-05-05 | 深圳忆联信息系统有限公司 | 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质 |
CN111045739A (zh) * | 2019-12-03 | 2020-04-21 | 福州瑞芯微电子股份有限公司 | 基于启动程序的固件引导方法、介质及设备 |
CN111143131A (zh) * | 2019-12-26 | 2020-05-12 | 中国电子科技集团公司第五十八研究所 | 对操作系统进行备份热启动的系统 |
CN111444528A (zh) * | 2020-03-31 | 2020-07-24 | 海信视像科技股份有限公司 | 数据安全保护方法、装置及存储介质 |
CN111506452A (zh) * | 2020-04-21 | 2020-08-07 | 记忆科技(深圳)有限公司 | 数据存储保护方法、装置、计算机设备及存储介质 |
CN111741518A (zh) * | 2020-06-22 | 2020-10-02 | 湖南国科微电子股份有限公司 | 一种WiFi芯片电路及WiFi装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112256338A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI571800B (zh) | 電腦開機之方法與電腦系統 | |
US7421573B2 (en) | Apparatus and method for updating firmware | |
CN109669729B (zh) | 一种处理器的启动引导方法 | |
JPH11296355A (ja) | デュアルブ―ト可能デバイスにおけるプログラム可能情報の利用方法 | |
TWI710952B (zh) | 韌體更新方法及電腦系統 | |
TW201337756A (zh) | 複雜可編程邏輯器件更新方法及系統 | |
TW201230057A (en) | Handling errors during device bootup from a non-volatile memory | |
US7418589B2 (en) | System and method for updating a basic input/output system | |
CN108647140B (zh) | 一种移动终端的测试方法及测试系统 | |
CN112000351A (zh) | Bmc固件的更新方法、更新装置、更新设备及存储介质 | |
CN113590511A (zh) | 一种带宽降速修复方法、装置及电子设备 | |
TW201716999A (zh) | 開機檢查方法及電腦系統 | |
CN112256338B (zh) | Soc启动方法、装置、计算机设备及存储介质 | |
TW201017677A (en) | Data storage apparatus, data storage controller, and related automated testing method | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
US6535974B1 (en) | Device and method for noninvasive, user replacement of an inoperable boot program | |
CN114218032A (zh) | 一种硬件设计验证方法、装置及电子设备和存储介质 | |
CN113626091A (zh) | 固态硬盘的启动优化方法、装置、计算机设备及存储介质 | |
JP2009003557A (ja) | 装置起動時診断方法、診断プログラム及び起動時診断装置 | |
TWI417888B (zh) | An embedded chip system, a method for burning a wafer, and a computer program product | |
WO2022199622A1 (zh) | 一种电子设备的启动程序的运行方法和电子设备 | |
CN113127281B (zh) | 一种aspm测试方法、系统、设备以及存储介质 | |
CN109426506B (zh) | 选用只读存储器的加载方法 | |
CN118057191A (zh) | 通信模组的管脚测试方法、装置、设备、介质及产品 | |
CN115841842B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |