CN101930373B - 一种片上系统启动的方法和装置 - Google Patents
一种片上系统启动的方法和装置 Download PDFInfo
- Publication number
- CN101930373B CN101930373B CN2009101477661A CN200910147766A CN101930373B CN 101930373 B CN101930373 B CN 101930373B CN 2009101477661 A CN2009101477661 A CN 2009101477661A CN 200910147766 A CN200910147766 A CN 200910147766A CN 101930373 B CN101930373 B CN 101930373B
- Authority
- CN
- China
- Prior art keywords
- interface
- soc
- starting outfit
- bootstrap module
- starting
- 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
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/4411—Configuring for operating with peripheral devices; Loading of device drivers
Abstract
本发明公开了一种片上系统启动的方法和装置,该方法包括:片上系统上电并启动初始引导程序后,枚举所有可启动接口;依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口加载后续的引导程序完成系统启动。所述装置包括:接口枚举模块和启动接口获取模块。本发明提供的方法解决了现有技术中存在的片上系统只能从固定的接口或设备以固定配置启动、一旦外界启动环境改变片上系统将无法启动的问题。
Description
技术领域
本发明涉及嵌入式设备领域,尤其涉及一种SoC(System on Chip,片上系统)启动的方法和装置。
背景技术
SoC是一种高度集成化、固件化的系统集成芯片。它是以应用为中心,对功能、性能、可靠性、成本、体积、功耗等综合指标严格要求的专用计算机系统,它是包含完整的硬件与软件系统,可以完成特定功能的微小型计算机系统。
SoC主要由嵌入式处理器(CPU(Central Processing Unit,中央处理单元)或DSP(Digital Signal Processing,数字信号处理))、存储器、相关支撑硬件、嵌入式操作系统及应用软件等组成,从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲,SoC是一个微小型系统。
SoC是由硬件与软件两部分组成,它的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行通讯的接口模块、含有ADC(Analog to Digital Converter,模数转换器)/DAC(Digital to Analog Converter,数模转换器)的模拟前端模块、电源提供和功耗管理模块,对于一个无线SoC还有射频前端模块、用户定义逻辑以及微电子机械模块,更重要的是一个SoC芯片内嵌有基本软件模块或可载入的用户软件等。
SoC的软件部分主要包括Boot loader,系统内核和应用软件,并且在很多SoC软件系统中,系统内核与应用软件视为一个整体密不可分。Boot loader是硬件系统加电或复位后执行的第一段代码,它的主要任务包括:初始化必要的硬件环境,装载并执行系统内核。
SoC在上电或复位时,通常会从一个特定的内部地址开始按固定的硬件逻辑加载并开始执行代码、或直接开始执行代码,而这个地址处存放的就是系统的Boot loader程序,由于在硬件设计完成流片之后,该代码不可改变,我们亦称该代码为“固件”。
现在的SoC一般都是将Boot loader代码保存在固件中,当SoC上电之后,通过某一特定的接口从外部加载系统程序并执行,通过这样的方式来启动SoC,具体的SoC外接通用启动设备的系统结构图如图1所示。由于SoC芯片在流片后固件不可更改的特性,而该固件在SoC的初始化与系统的加载过程中扮演了决定性的角色,一旦SoC的外部启动环境(接口或设备)发生了改变,将直接导致SoC不能工作。因此,本领域需要一种更为灵活的Boot loader方法。
发明内容
本发明提供一种片上系统启动的方法和装置,用以解决现有技术中存在的片上系统只能从固定的接口或设备以固定配置启动、一旦外界启动环境改变片上系统将无法启动的问题。
本发明的一种片上系统启动的方法,包括以下步骤:
步骤1、片上系统上电并启动初始引导程序后,枚举所有可启动接口;
步骤2、依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备不唯一时,从该接口加载后续的引导程序完成系统启动。
其中,所述测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。
具体的,所述测试数据还包括用以指示启动接口优先级的优先级参数。
进一步的,所述步骤2中,当检测到某个启动接口已连接上启动设备且该启动设备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级参数,将其中优先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启动。
所述步骤2还包括:当检测到枚举的所有启动接口均未连接上启动设备时,输出错误信息。
本发明还提供一种片上系统启动的装置,包括:
接口枚举模块,用于在系统上电并启动初始引导程序后,枚举所有可启动接口;
启动接口获取模块,用于依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口加载后续的引导程序完成系统启动。
其中,所述测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。
所述测试数据还包括用以指示启动接口优先级的优先级参数。
进一步的,所述启动接口获取模块,还用于当检测到某个启动接口已连接上启动设备且该启动设备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级参数,将其中优先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启动。
所述启动接口获取模块,还用于当检测到枚举的所有启动接口均未连接上启动设备时,输出错误信息。
与现有技术相比,本发明具有以下优点:
本发明采用的方法取得了硬件与软件通用性设计上的进步,有效地降低了系统的硬件成本和片上系统SoC成本,并且当外界平台发生变化,需要SoC以不同的接口及模式启动的时候,在SoC芯片不重新流片、不修改固件版本、不作其它修改的前提下,能自动地适应该需求,达到了SoC集成时的更高适应性及更广的适应范围,提高了SoC芯片启动及集成时的适用性及健壮性,降低了系统的硬件成本与SoC成本,并有效地延长了SoC的有效生命周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中SoC外接通用启动设备的系统结构图;
图2为本发明提供的一种片上系统启动方法流程图;
图3为本发明实施例中提供的SoC外接可选启动设备的系统结构图;
图4为本发明实施例提供的SoC枚举启动设备流程图;
图5为本发明实施例提供的又一SoC枚举启动设备流程图;
图6为本发明实施例提供的又一SoC外接可选启动设备的系统结构图;
图7为本发明实施例提供的SOC系统启动主体流程图;
图8为本发明提供的一种片上系统启动装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中SoC只能从固定的接口或设备以固定配置启动,当外界启动环境一旦改变SoC将无法启动的问题,本发明提供了一种片上系统启动的方法和装置,使SoC能自行枚举SoC的多个接口尝试启动接口或设备,通过枚举行为,在SoC的外部启动环境(接口或设备)发生了改变之后,SoC将枚举有效的启动接口或设备,一旦枚举成功,则从有效的启动接口启动,并采用多段式引导的方法,提高了SoC启动的适应性及灵活性,并且针对不同的SoC集成平台来配置不同的启动时硬件参数的方式,来优化其启动性能。本发明并不需要对外接的启动接口或设备本身作任何修改,同时也不需要修改任何SoC内部硬件电路即可实现。
具体的,本发明提供的一种片上系统启动的方法,如图2所示,包括以下步骤:
步骤S201、片上系统上电并启动初始引导程序后,枚举所有可启动接口。
步骤S202、依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口加载后续的引导程序完成系统启动。
其中,测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。
该测试数据还可以包括用以指示启动接口优先级的优先级参数。
具体的,该步骤还进行以下操作:
当检测到某个启动接口已连接上启动设备且该启动设备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级参数,将其中优先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启动。
当检测到枚举的所有启动接口均未连接上启动设备时,输出错误信息。
本发明提供的方法,有效地降低了系统的硬件成本和SoC成本,并且当外界平台发生变化,需要SoC以不同的接口及模式启动的时候,在SoC芯片不重新流片、不修改固件版本、不作其它修改的前提下,能自动地适应该需求,达到了SoC集成时的更高适应性及更广的适应范围,提高了SoC芯片启动及集成时的适用性及健壮性,降低了系统的硬件成本与SoC成本,并有效地延长了SoC的有效生命周期。
下面通过一较佳的实施例来详细阐述本发明提供的片上系统启动的方法的具体实现过程。
图3为本发明的SoC外接可选启动设备的系统结构图,如图所示,该系统包括SoC芯片、启动设备和多个可选的启动接口,且该系统存储有多个引导程序,分别存储在SoC芯片固件内的第一引导模块内和启动设备中的第二引导模块和第三引导模块内。其中,第一引导模块用于最初的SoC芯片的初始化,以及枚举有效的可启动接口。
优选的,第一引导模块枚举启动接口的实施方式,如图4所示,具体包括以下步骤:
步骤S401、在系统上电启动之后,启动第一引导模块内的引导程序,该引导程序对硬件进行必要的初始化。
步骤S402、对所有的可启动接口进行枚举,并对当前枚举接口进行必要的初始化工作,其初始化工作也可以在步骤S401中一并进行。
步骤S403、读取当前枚举接口的测试数据。
其中,测试数据包括用以指示当前接口是否已连接上启动设备的指示参数,通过判断该指示参数是否有效来判定当前接口是否连接上启动设备。指示参数有效表示从启动设备读取过来的真实数据,表示当前接口已连接上启动设备;指示参数无效表示当前启动接口的数据输入线上默认高电平或低电平,表示当前接口没有连接启动设备,而是处于悬空状态。
在实际操作中,判断测试数据内的指示参数是否有效可以通过判断指示位是否全0或全1,或是符合某个特定的值,如果不是全0或全1,或符合某个特定的值,则判定当前的接口已经连接上存储设备且可从该接口启动,否则,表示当前接口没有连接启动设备或非启动设备,而是处于悬空状态。
步骤S404、分析读取的测试数据,判断该测试数据内的指示参数是否有效,若是,则判定当前的接口已经连接上启动设备且可从该接口启动,执行步骤S405;否则执行步骤S406。
步骤S405、从当前枚举的接口读取第二引导模块,继续下一步的引导过程。
步骤S406、判定当前枚举接口未连接上启动设备,该枚举过程失败。
步骤S407、判断是否存在未枚举的接口,如果存在,枚举下一启动接口,并返回步骤S403;如果不存在,则代表所有的接口均不为启动接口,即均未与启动设备连接上,执行步骤S408。
步骤S408、所有的接口已枚举完毕,不存在可启动接口,启动失败,输出出错信息。
如图5所示,为第一引导模块枚举启动接口的又一实施方式,该实施方式所述的片上系统外接可选启动设备的系统结构图如图6所示,其中多个启动接口均连接有启动设备,该实施方式枚举启动接口的具体过程,包括以下步骤:
步骤S501、在系统上电启动之后,启动第一引导模块内的引导程序,并通过该引导程序对硬件进行必要的初始化。
步骤S502、清空启动接口队列。该启动接口队列用来保存所有已枚举成功的可启动接口以及读取到的测试数据。
步骤S503、对所有的可启动接口进行枚举,并对当前的接口进行必要的初始化工作,其初始化工作也可以在步骤S501中一并进行。
步骤S504、读取当前枚举接口的测试数据。
其中,测试数据内部包括判断启动接口是否连接上启动设备的指示参数和表示该启动接口优先级的优先级参数。
步骤S505、分析读取的测试数据,判断其中启动接口的指示参数是否符合预设的特征值,如果符合,表示该测试数据有效,判定出当前的接口已经连接上启动设备且可从该接口启动,执行步骤S506;否则,表示该测试数据无效,执行步骤S507。
步骤S506、将该启动接口及其测试数据中的优先级参数添加到启动接口队列中,执行步骤S507。
步骤S507、判断所有的启动接口是否已枚举完毕,如果尚有接口未被枚举,继续枚举下一启动接口,并转向步骤S504,如果已枚举完毕,则执行步骤S508。
步骤S508、判断启动接口队列是否为空,如果为空,表示没有找到可以启动的接口,转向步骤S511,否则转入步骤S509。
步骤S509、从启动接口队列中获取优先级最高的接口作为启动。
步骤S510、从当前的启动接口读取第二引导模块,继续下一步的引导过程。
步骤S511、所有的启动接口已枚举完毕,不存在可启动接口,启动失败,输出出错信息。
下面详细阐述本发明实施例中片上系统启动的整体流程,如图7所示,具体包括以下步骤:
步骤S701、在系统上电启动之后,首先执行固件中第一引导模块内的引导程序,该引导程序首先对硬件进行必要的初始化。
步骤S702、第一引导模块开始枚举启动接口,并且寻找启动设备。该枚举过程可以根据具体启动设备的数量来进行选择执行。
步骤S703、当获取可启动接口之后,从该启动接口读取第二引导模块。
步骤S704、读取第二引导模块完毕之后,对第二引导模块进行校验,如果校验出错,输出出错信息,并转入步骤S703,或直接终止引导;如果校验成功,则转入步骤S705。
步骤S705、执行第二引导模块,该模块可能对SoC硬件进行优化,以提高其启动性能,并且该模块可重新修改其启动接口及相关配置,以更好地适应特定平台的需求。
需要说明的是,第二引导模块可保存在SoC外部可改写或非改写储存介质上,由厂商在客户搭好芯片集成平台之后,根据客户的系统集成平台修改其第二引导模板代码,再提供给客户,以适应客户的集成平台并提高其启动性能;但是修改不是绝对必要的,要视客户的集成环境的硬件是否与厂商设计时是否兼容、客户是否满足该启动性能而定。
具体的,在现有的普遍实施方案中,为了使SOC产品能兼容较多的集成平台,特别是在采用无固定存储设备而由集成平台提供启动数据的方案中,一般将SOC芯片的启动接口的传输性能指标(包括但不限于接口位宽、接口频率等)定得较低,以达到能与较多型号的集成平台正常通讯的需要。这样将导致SOC芯片在启动时需要花费较多的传输时间;并且为了让不同版本的SOC系统及应用程序代码所有的数据均被读入,现在的方案一般都折衷采用读取远远超过SOC系统及应用程序代码长度的数据的方式来达到目的,这样将使SOC芯片在启动时浪费较多的传输时间。本发明的第二引导模块是储存在非固件中的,是根据不同的客户集成平台修改的,在被第一引导模块载入后并运行后,将根据该客户集成平台的特性对SOC芯片重新进行配置,该配置将在保证数据传输的正确性的前提下最大可能地提高SOC芯片启动接口的传输性能;并且只读取SOC系统及应用程序本身长度的数据;这样将大大减少启动接口上的数据传输时间,提高SOC的启动速度并减少了客户集成平台的相应操作时间。更进一步地,可以在第二引导模块(也可以是第三引导模块)中集成解压缩模块,对接收到的数据进行解压缩处理,这将进一步减少启动接口上的数据传输时间。
步骤S706、第二引导模块按新的配置读取第三引导模块。
步骤S707、读取第三引导模块完毕之后,对第三引导模块进行校验,如果校验出错,输出出错信息,并转入步骤S706,或直接终止引导;如果校验成功,则转入步骤S708。
步骤S708、执行第三引导模块,且从第三引导模块读取系统及应用程序代码。其中,第三引导模块模块可能包括调试所用的桩程序、仿真器所用模块、网络支持模块、复杂输出模块,以及系统及应程序的装载模块、解压模块等复杂功能。
步骤S709、读取系统及应用程序代码完毕后,由第三引导模块对其进行校验,如果校验出错,输出出错信息,转入步骤S708,或直接终止引导。如果校验成功,则转入步骤S710。
步骤S710、该步骤为可选步骤,针对系统及应用程序代码被压缩的情况,解压已校验的系统及应用程序代码,将其移动到指定的位置。
步骤S711、第三引导模块将控制权交出,开始执行系统及应用程序,完成了整个启动过程。
本发明提供的SoC启动的方法,取得了硬件与软件通用性设计上的进步,有效地降低了系统的硬件成本和SoC成本,并且当外界平台发生变化,需要SoC以不同的接口及模式启动的时候,在SoC芯片不重新流片、不修改固件版本、不作其它修改的前提下,能自动地适应该需求,达到了SoC集成时的更高适应性及更广的适应范围,提高了SoC芯片启动及集成时的适用性及健壮性,降低了系统的硬件成本与SoC成本,并有效地延长了SoC的有效生命周期。
本发明还提供一种片上系统启动的装置,如图8所示,包括:
接口枚举模块810,用于在系统上电并启动初始引导程序后,枚举所有可启动接口;
启动接口获取模块820,用于依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口加载后续的引导程序完成系统启动。
其中,测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。
该测试数据还可以包括用以指示启动接口优先级的优先级参数。
进一步的,启动接口获取模块820,还用于当检测到某个启动接口已连接上启动设备且该启动设备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级参数,将其中优先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启动。
启动接口获取模块820,还用于当检测到枚举的所有启动接口均未连接上启动设备时,输出错误信息。
本发明提供的装置,有效地降低了系统的硬件成本和SoC成本,并且当外界平台发生变化,需要SoC以不同的接口及模式启动的时候,在SoC芯片不重新流片、不修改固件版本、不作其它修改的前提下,能自动地适应该需求,达到了SoC集成时的更高适应性及更广的适应范围,提高了SoC芯片启动及集成时的适用性及健壮性,降低了系统的硬件成本与SoC成本,并有效地延长了SoC的有效生命周期。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种片上系统SoC启动的方法,应用在包括SoC和启动设备的系统中,其特征在于,所述SoC的固件内存储有第一引导模块;所述启动设备中存储有第二引导模块和第三引导模块;所述方法包括以下步骤:
步骤1、片上系统上电启动后,执行所述第一引导模块内的引导程序,利用该引导程序进行初始化操作以及枚举所有可启动接口;
步骤2、依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口读取对应启动设备的第二引导模块;
步骤3,对所述第二引导模块进行校验,并在校验成功后,执行所述第二引导模块内的引导程序对SoC进行配置,并读取所述第三引导模块;
步骤4,对所述第三引导模块进行校验,并在校验成功后,从所述第三引导模块读取系统及应用程序代码,完成系统启动。
2.如权利要求1所述的方法,其特征在于,所述测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。
3.如权利要求2所述的方法,其特征在于,所述测试数据还包括用以指示启动接口优先级的优先级参数。
4.如权利要求3所述的方法,其特征在于,所述步骤2中,当检测到某个启动接口已连接上启动设备且该启动设备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级参数,将其中优先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启动。
5.如权利要求1所述的方法,其特征在于,所述步骤2还包括:
当检测到枚举的所有启动接口均未连接上启动设备时,输出错误信息。
6.一种片上系统启动的装置,应用在包括SoC和启动设备的系统中,其特征在于,所述SoC的固件内存储有第一引导模块;所述启动设备中存储有第二引导模块和第三引导模块;所述装置包括:
接口枚举模块,用于在片上系统上电并启动后,执行所述第一引导模块内的引导程序,利用该引导程序进行初始化操作以及枚举所有可启动接口;
启动接口获取模块,用于依次读取每个启动接口的测试数据,当检测到某个启动接口已连接上启动设备且该启动设备唯一时,从该接口读取对应启动设备的第二引导模块,对所述第二引导模块进行校验,并在校验成功后,执行所述第二引导模块内的引导程序对SoC进行配置,并读取所述第三引导模块;对所述第三引导模块进行校验,并在校验成功后,从所述第三引导模块读取系统及应用程序代码,完成系统启动。
7.如权利要求6所述的装置,其特征在于,所述测试数据包括用以指示当前接口是否已连接上启动设备的指示参数。
8.如权利要求7所述的装置,其特征在于,所述测试数据还包括用以指示启动接口优先级的优先级参数。
9.如权利要求8所述的装置,其特征在于,
所述启动接口获取模块,还用于当检测到某个启动接口已连接上启动设备且该启动设备不唯一时,依次检测并获取所有连接上启动设备的启动接口及其优先级参数,将其中优先级最高的接口作为启动接口,从该接口加载后续的引导程序完成系统启动。
10.如权利要求6所述的装置,其特征在于,
所述启动接口获取模块,还用于当检测到枚举的所有启动接口均未连接上启动设备时,输出错误信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101477661A CN101930373B (zh) | 2009-06-19 | 2009-06-19 | 一种片上系统启动的方法和装置 |
PCT/CN2010/073671 WO2010145478A1 (zh) | 2009-06-19 | 2010-06-08 | 一种片上系统启动的方法和装置 |
US13/257,916 US20120079263A1 (en) | 2009-06-19 | 2010-06-08 | Method and Device for Initiating System on Chip |
BRPI1007113A BRPI1007113A2 (pt) | 2009-06-19 | 2010-06-08 | método para iniciar um sistema em um chip e equipamento para iniciar um sistema em um chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101477661A CN101930373B (zh) | 2009-06-19 | 2009-06-19 | 一种片上系统启动的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101930373A CN101930373A (zh) | 2010-12-29 |
CN101930373B true CN101930373B (zh) | 2013-08-07 |
Family
ID=43355839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101477661A Active CN101930373B (zh) | 2009-06-19 | 2009-06-19 | 一种片上系统启动的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120079263A1 (zh) |
CN (1) | CN101930373B (zh) |
BR (1) | BRPI1007113A2 (zh) |
WO (1) | WO2010145478A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637461B (zh) * | 2012-03-07 | 2014-12-03 | 山东华芯半导体有限公司 | 支持坏块闪存扫描的启动方法 |
KR20140083530A (ko) * | 2012-12-26 | 2014-07-04 | 삼성전자주식회사 | 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법 |
US10956169B2 (en) * | 2015-10-30 | 2021-03-23 | Texas Instruments Incorporated | Method and system for boot time optimization of embedded multiprocessor systems |
CN106293719A (zh) * | 2016-08-02 | 2017-01-04 | 浪潮集团有限公司 | 一种U‑Boot下基于链表的多设备快速启动系统及其方法 |
CN106528123A (zh) * | 2016-10-26 | 2017-03-22 | 珠海全志科技股份有限公司 | 一种基于eFuse模块的SoC启动方法和装置 |
CN106681879A (zh) * | 2017-01-06 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种对服务器启动顺序进行测试的方法 |
CN107992181B (zh) * | 2017-11-28 | 2019-09-24 | 恒宝股份有限公司 | 一种安全单元控制管理的方法及装置 |
CN110489169B (zh) * | 2019-08-06 | 2021-10-19 | 晶晨半导体(上海)股份有限公司 | 一种片上系统的存储器快速启动方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060149958A1 (en) * | 2002-12-18 | 2006-07-06 | Padraig Omathuna | Code download in a system having multiple integrated circuits with a jtag capability |
US7206928B2 (en) * | 2003-06-03 | 2007-04-17 | Digi International Inc. | System boot method |
JP2006127267A (ja) * | 2004-10-29 | 2006-05-18 | Toshiba Corp | 情報処理装置およびブート制御方法 |
US8260968B2 (en) * | 2006-01-23 | 2012-09-04 | Lantiq Deutschland Gmbh | Method and system for booting a software package on a network processor |
KR101242602B1 (ko) * | 2006-02-08 | 2013-03-19 | 삼성전자주식회사 | 테스트 회로를 내장한 시스템 온 칩 |
EP1832977A3 (en) * | 2006-03-09 | 2007-10-10 | Telefonaktiebolaget LM Ericsson (publ) | Platform boot with bridge support |
CN101196819B (zh) * | 2006-12-06 | 2010-05-26 | 安凯(广州)微电子技术有限公司 | 一种片上系统芯片自适应启动设备的方法 |
CN100578448C (zh) * | 2006-12-21 | 2010-01-06 | 旺玖科技股份有限公司 | 芯片式系统的启动方法及启动装置 |
CN100592257C (zh) * | 2006-12-29 | 2010-02-24 | 微星科技股份有限公司 | 可通过不同接口加载启动程序以启动主板的系统及其方法 |
US20080270898A1 (en) * | 2007-04-26 | 2008-10-30 | Kristin Petersen | Methods and Apparatus for Dynamically Updating a Graphical User Interface, to Focus on a Production Display or a Debug Display |
US20080294838A1 (en) * | 2007-05-25 | 2008-11-27 | Agere Systems Inc. | Universal boot loader using programmable on-chip non-volatile memory |
US20090024784A1 (en) * | 2007-07-20 | 2009-01-22 | Wang Liang-Yun | Method for writing data into storage on chip and system thereof |
US8200954B2 (en) * | 2008-07-08 | 2012-06-12 | Texas Instruments Incorporated | Multi-stage boot pin sampling |
-
2009
- 2009-06-19 CN CN2009101477661A patent/CN101930373B/zh active Active
-
2010
- 2010-06-08 WO PCT/CN2010/073671 patent/WO2010145478A1/zh active Application Filing
- 2010-06-08 US US13/257,916 patent/US20120079263A1/en not_active Abandoned
- 2010-06-08 BR BRPI1007113A patent/BRPI1007113A2/pt not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
WO2010145478A1 (zh) | 2010-12-23 |
BRPI1007113A2 (pt) | 2016-03-01 |
US20120079263A1 (en) | 2012-03-29 |
CN101930373A (zh) | 2010-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101930373B (zh) | 一种片上系统启动的方法和装置 | |
US20230236654A1 (en) | System on chip for reducing wake-up time, method of operating same, and computer system including same | |
US9535711B2 (en) | Computing performance and power management with firmware performance data structure | |
CN103631674B (zh) | 嵌入cpu的fpga及其启动方法 | |
US9298470B2 (en) | Method and apparatus for selecting bios program for a processor | |
US7908417B2 (en) | Motherboard system, storage device for booting up thereof and connector | |
US20070300055A1 (en) | Booting apparatus and method therefor | |
US20090006831A1 (en) | Methods and apparatuses for configuring add-on hardware to a computing platform | |
CN103365696A (zh) | Bios镜像文件获取方法及装置 | |
US11829220B2 (en) | Power management circuit, chip and upgrade method therefor, and server | |
WO2021233363A1 (zh) | 计算设备及其bios更新方法和介质 | |
CN111475215A (zh) | 一种服务器开机方法、装置及其相关设备 | |
US7607001B2 (en) | Memory management method for simultaneously loading and executing program codes | |
CN102253844B (zh) | 一种启动处理器的方法和设备 | |
JP2020030812A (ja) | 更新されたファームウェアコードの検索 | |
CN103761129A (zh) | 一种在Bootloader层实现SDIO接口驱动的方法 | |
CN116737244A (zh) | 芯片多硬件域启动方法及装置 | |
US7941583B2 (en) | Controlled frequency core processor and method for starting-up said core processor in a programmed manner | |
CN102622257A (zh) | 电表在线自更新方法及其装置 | |
CN102043638A (zh) | 计算机系统以及计算机启动设定方法 | |
CN112667442B (zh) | 基于非易失内存器件启动系统的控制方法、装置及设备 | |
CN111736908A (zh) | 一种嵌入式双系统中分阶段启动的控制方法 | |
CN110825421A (zh) | 一种固件升级方法、系统及可读存储介质 | |
CN106095643A (zh) | 系统参数存取的设定方法及其服务器 | |
CN114996056A (zh) | 一种基于spi的dsp备份启动实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |