CN115220978B - 包括在线调试模式的芯片启动方法和装置、芯片和设备 - Google Patents
包括在线调试模式的芯片启动方法和装置、芯片和设备 Download PDFInfo
- Publication number
- CN115220978B CN115220978B CN202211134905.9A CN202211134905A CN115220978B CN 115220978 B CN115220978 B CN 115220978B CN 202211134905 A CN202211134905 A CN 202211134905A CN 115220978 B CN115220978 B CN 115220978B
- Authority
- CN
- China
- Prior art keywords
- starting
- chip
- mode
- program
- debugging
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2294—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2247—Verification or detection of system hardware configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种包括在线调试模式的芯片启动方法、装置、芯片和设备,涉及计算机技术领域,具体涉及芯片技术领域。实现方案为:获取与芯片启动相关的目标请求,所述目标请求包括待选择的启动程序标识和启动模式信息,所述启动模式信息用于指示所述芯片的启动模式,所述待选择的启动程序标识能够指示多个启动程序中待选择的启动程序,所述芯片的启动模式包括在线调试模式;基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息,所述启动参数信息包括调试标识,所述调试标识用于指示是否进行调试;以及基于所述启动参数信息,启动所述芯片。
Description
技术领域
本公开涉及计算机技术领域,具体涉及芯片技术领域,尤其涉及一种包括在线调试模式的芯片启动方法、装置、芯片、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
芯片的启动程序的调试过程通常都需要依赖人工进行程序烧写,无法实现远程配置芯片的启动过程。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种包括在线调试模式的芯片启动方法、装置、芯片、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种包括在线调试模式的芯片启动方法。该方法包括:获取与芯片启动相关的目标请求,所述目标请求包括待选择的启动程序标识和启动模式信息,所述启动模式信息用于指示所述芯片的启动模式,所述待选择的启动程序标识能够指示多个启动程序中待选择的启动程序,所述芯片的启动模式包括在线调试模式;基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息,所述启动参数信息包括调试标识,所述调试标识用于指示是否进行调试;以及基于所述启动参数信息,启动所述芯片。
根据本公开的另一方面,提供了一种包括在线调试模式的芯片启动装置。该装置包括:第一获取单元,被配置用于获取与芯片启动相关的目标请求,所述目标请求包括待选择的启动程序标识和启动模式信息,所述启动模式信息用于指示所述芯片的启动模式,所述待选择的启动程序标识能够指示多个启动程序中待选择的启动程序,所述芯片的启动模式包括在线调试模式;第二获取单元,被配置用于基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息,所述启动参数信息包括调试标识,所述调试标识用于指示是否进行调试;以及启动单元,被配置用于基于所述启动参数信息,启动所述芯片。
根据本公开的又另一方面,提供了一种芯片,包括:至少一个处理器;以及存储器,其上存储有计算机程序,其中,计算机程序在被处理器执行时,使处理器执行上述的方法。
根据本公开的再另一方面,提供了一种电子设备,包括上述的芯片。
根据本公开的再另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述的方法。
根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述的方法。
根据本公开的一个或多个实施例,通过利用目标请求来配置启动参数,进而基于启动参数来启动芯片,能够灵活调整用于执行启动的启动程序,从而实现芯片的远程调试。
根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开示例性实施例的芯片的启动方法的流程图;
图2示出了根据本公开示例性实施例的芯片的启动程序和启动参数信息的存储结构的示意图;
图3A和图3B示出了根据本公开示例性实施例的芯片的启动方法的流程图;
图4示出了根据本公开示例性实施例的芯片的启动装置的结构框图;
图5示出了根据本公开的示例性实施例的电子设备的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
通常而言,芯片需要基于启动程序进行启动,通过执行启动程序,能够对芯片中的处理器、存储器、通信接口等模块进行检测和初始化,从而使得芯片能够与其他外部器件通信并执行相应的应用程序。
相关技术中,当需要对芯片的启动程序进行调试时,可以基于待调试的启动程序来启动所述芯片,当所述待调试的启动程序发生错误时,则会导致芯片无法正常与外界通信,即无法获取外部指令或执行应用程序。在这种情况下,需要利用人工烧写的方式来重新配置芯片的启动程序。可以看出,这种实现方案受到了物理空间的限制,无法实现远程调试芯片。
基于此,本公开提供了一种包括在线调试模式的芯片启动方法,通过利用与芯片启动相关的目标请求来配置启动参数,进而基于启动参数来启动芯片,能够灵活调整芯片的启动模式和用于执行启动的启动程序,从而实现芯片的远程调试。
图1示出了根据本公开示例性实施例的芯片的启动方法100的流程图。如图1所示,方法100包括:
步骤S110、获取与芯片启动相关的目标请求,所述目标请求包括待选择的启动程序标识和启动模式信息,所述启动模式信息用于指示所述芯片的启动模式,所述待选择的启动程序标识能够指示多个启动程序中待选择的启动程序,所述芯片的启动模式包括在线调试模式;
步骤S120、基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息,所述启动参数信息包括调试标识,所述调试标识用于指示是否进行调试;以及
步骤S130、基于所述启动参数信息,启动所述芯片。
由此,能够利用所述目标请求所包含的信息来指示芯片的启动模式和待选择的启动程序,基于此来配置启动参数信息,并基于所配置的启动参数来启动所述芯片,从而能够使得所述芯片按照所述目标请求所指示的信息来启动。通过利用启动参数来控制芯片启动,能够在启动程序可能存在错误的情况下通过调整启动参数来灵活调整用于执行芯片启动的启动程序,避免存在错误的启动程序影响芯片的启动过程。应当理解,所述目标请求可以是远程请求,即实现了远程配置芯片的启动参数信息,通过利用远程请求配置所述芯片的启动模式为在线调试模式,即可实现芯片的远程调试。
示例性地,所述芯片可以是指各种类型的芯片,例如微处理器、图形处理器、张量处理器、神经网络处理器、通信控制芯片、数字信号处理芯片、SOC(System on chip,片上***)芯片等,对此不作限定。
示例性地,所述目标请求可以是在芯片正在正常工作的情况下由人工发送的,在芯片已经建立与其他器件或设备的通信连接的情况下,由人工配置并发送目标请求的过程不受到物理距离的限制,从而能够实现远程灵活配置芯片的启动参数信息。目标请求例如可以为调试请求或更新请求,从而能够实现远程调试或更新芯片启动程序。
示例性地,所述多个启动程序和启动参数信息可以是存储在与所述芯片通信连接的存储器中,例如flash存储器。在芯片正常工作的过程中,可以利用所述芯片来修改所述多个启动程序和启动参数信息,以使得所述芯片能够在重新启动过程中先读取所述启动参数信息,基于所述启动参数信息获取相应的启动程序并执行,进而实现控制芯片的启动过程。
根据一些实施例,所述启动参数信息还包括已选择的启动程序标识。由此,能够简便高效地利用调试标识和已选择的启动程序标识来指示用于执行芯片启动的启动程序,提升芯片启动的效率。
在一些示例中,所述多个启动程序中的每个启动程序均具有唯一确定的标识,所述已选择的启动程序标识和调试标识可以是利用变量标签来实现的,通过读取相应变量的值即可确定所需获取并用于执行芯片启动的启动程序。
示例性地,启动参数信息也可以是其他形式的,例如可以利用地址指针来指示多个启动程序中已选择的启动程序,或者是用于指示用于执行芯片启动的启动程序,对此不作限定。
根据一些实施例,步骤S120中基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息包括:响应于所述启动模式信息指示所述芯片的启动模式为在线调试模式,将当前的启动程序标识仍确定为已选择的启动程序标识;以及更新所述调试标识,以使得更新后的所述调试标识指示进行调试。由此,当目标请求为调试请求时,不更新启动参数信息中已选择的启动程序标识,只更新调试标识以指示进行调试,从而能够执行启动程序调试,并且在调试程序发生错误时能够基于启动参数信息中已选择的启动程序标识对应的启动程序重启芯片,保证芯片能够成功重启。
进一步地,根据一些实施例,所述启动参数信息还包括所述待选择的启动程序标识,并且步骤S130中基于所述启动参数信息,启动所述芯片包括:响应于所述启动模式信息指示所述芯片的启动模式为在线调试模式,基于所述待选择的启动程序标识,获取待选择的启动程序;以及利用所述待选择的启动程序启动所述芯片,以对所述待选择的启动程序进行测试。由此,能够简便高效地利用启动参数信息来指示执行调试以及所需执行的待调试启动程序,进而执行并测试所述待调试启动程序。
示例性地,所述已选择的启动程序标识可以是用于指示芯片重启时所应用的启动程序。
在一个示例中,所述已选择的启动程序标识可以是指向启动程序A,所述目标请求可以包括待选择的启动程序B并指示在线调试模式,即用于指示对启动程序B进行调试。通过利用如上文所描述的方法,即可在所述调试标识指示进行调试的情况下,基于待选择的启动程序标识获取启动程序B,进而执行并测试启动程序B。
如前文所描述的,启动程序是用于对芯片中的处理器、存储器、通信接口等模块进行初始化,从而使得芯片能够与其他外部器件通信并执行相应的应用程序。在上述示例中,所述利用所述待选择的启动程序启动所述芯片,以对所述待选择的启动程序进行测试包括:执行待调试的启动程序B以初始化所述芯片,进而测试所述芯片的基本功能,基于此确定启动程序B是否存在错误。
示例性地,可以是通过执行预先配置的测试程序来对待选择的启动程序进行测试。例如,当所述待选择的启动程序的功能为初始化所述芯片的通信功能时,即可预先配置通信测试程序,用于测试所述待选择的启动程序是否能够正常初始化所述芯片的通信功能。
应当理解,也可以是利用其他方式来基于所述启动参数信息,启动所述芯片。例如在一个示例中,所述多个启动程序仅包括两个启动程序,在这种情况下,所述启动参数信息仅包括如上所述的已选择的启动程序标识和调试标识,所述基于所述启动参数信息,启动所述芯片包括:响应于所述启动模式信息指示所述芯片的启动模式为在线调试模式,基于所述已选择的启动程序标识,获取所述两个启动程序中与所述已选择的启动程序不同的另一启动程序;利用所述另一启动程序启动所述芯片,以对所述待选择的启动程序进行测试。从而能够利用启动参数信息所包含的标识信息进行组合判断,简便高效地指示所需执行的启动程序,基于此启动所述芯片。
在实际应用场景中,存在以下可能:待调试的启动程序可能存在错误,从而导致所述芯片无法正常初始化,进而无法正常运行和通信。
基于此,根据一些实施例,步骤S130还包括:在利用所述待选择的启动程序进行启动之后,再次更新所述调试标识,以使得再次更新后的所述调试标识指示不进行调试。由此,在重启芯片时不执行调试,以启动参数中已选择的启动程序标识对应的启动程序重启芯片,保证芯片能够成功重启。
进一步地,根据一些实施例,方法100还包括:响应于对所述待选择的启动程序的测试不通过,基于更新后的所述启动参数信息,重新启动所述芯片。通过更新所述调试标识,使得芯片能够在待调试启动程序发生错误的情况下能够基于非调试模式进行重新启动,从而避免待调试的启动程序的错误影响芯片的重启过程,保证芯片能够正常运行。
继续参照上文所描述的示例,在所述启动参数信息仅包括如上所述的已选择的启动程序标识和调试标识的情况下,可以利用上述两个标识信息进行组合判断,以确定所需执行的启动程序。在对所述调试标识进行更新后,所述重新启动所述芯片的过程包括:响应于再次更新后的所述调试标识指示不进行调试,基于所述已选择的启动程序标识,获取所述已选择的启动程序,以启动所述芯片。示例性地,所述已选择的启动程序标识可以是用于指示芯片重启时所应用的启动程序,由此,通过更新启动参数信息,以使得更新后的启动参数信息能够指示利用当前的启动程序进行重新启动,进而能够在待调试的启动程序发生错误时利用功能正常的启动程序重启所述芯片,保证芯片的正常工作。
示例性地,在确定针对所述待选择的启动程序的测试不通过后,可以进一步基于所述测试结果查找并更改该启动程序中存在的问题,进而利用更改后的所述待选择的启动程序重复执行上述启动和测试步骤,以实现对启动程序的调试。
应当理解,所述待选择的启动程序在测试通过后可以替换当前的启动程序。因此,在对待选择的启动程序测试完成后,可以再次更新启动参数信息,以使得更新后的启动参数信息能够指示利用所述待选择的启动程序进行启动。
基于此,根据一些实施例,方法100还包括:响应于对所述待选择的启动程序的测试通过,将已选择的启动程序标识更新为所述待选择的启动程序标识。由此,能够在待选择的启动程序测试完成后,简便高效地利用启动参数信息来控制后续的芯片启动过程,以使得所述芯片能够利用所述待选择启动程序进行启动。
应当理解,所述芯片的启动模式不局限于在线调试模式,例如,在实际应用场景下,可以是在确定待更新的启动程序功能正常的情况下,向所述芯片发送更新请求以更新用于在启动过程中执行的启动程序。
基于此,根据一些实施例,所述芯片的启动模式还包括在线更新模式,并且其中,步骤S120中基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息包括:响应于所述启动模式信息指示所述芯片的启动模式为在线更新模式,将已选择的启动程序标识更新为所述待选择的启动程序标识;以及更新所述调试标识,以使得更新后的所述调试标识指示不进行调试,从而芯片能够以待选择的启动程序标识对应的启动程序重启,实现启动程序的更新。
应当理解,更新所述调试标识可以包括更新前后的调试标识不一致的情形,也可以包括更新前后的调试标识一致的情形。
进一步地,根据一些实施例,步骤S130中基于所述启动参数信息,启动所述芯片包括:响应于所述启动模式信息指示所述芯片的启动模式为在线更新模式,基于更新后的已选择的启动程序标识,获取已选择的启动程序;以及利用所述已选择的启动程序重启所述芯片。由此,能够简便高效地利用启动参数信息来指示所需执行的待调试启动程序,进而执行并更新芯片启动程序。
以下将结合示例,进一步描述本公开示例性实施例。
图2示出了根据本公开示例性实施例的芯片的启动程序和启动参数信息的存储结构的示意图。图3A和图3B示出了根据本公开示例性实施例的芯片的启动方法的流程图。
参见图2所示,在一些示例中,所述多个启动程序包括启动程序A和启动程序B,并且启动参数信息和启动程序存储在与所述芯片通信连接的存储器中,所述存储器例如可以是flash存储器。在芯片正常工作的过程中,即可利用所述芯片来修改flash存储器中的启动参数信息的启动程序,并且可以记录上述内容各自的存储地址信息。在另一些示例中,所述芯片也可以是按照预定义的存储地址信息来读写flash存储器中的启动参数信息和启动程序,以提升数据存储的稳定性。
上述示例中,在每个启动程序均具有唯一确定的标识(A或B)的基础上,所述已选择的启动程序标识和调试标识可以是分别利用两个变量标签来实现的,例如可以通过为变量Select_flag赋值(A或B)来指示已选择的启动程序,为变量Debug_flag赋值(1或0)来指示是否进行调试。在芯片启动过程中,先从flash存储器中读取所述启动参数信息,再基于所述启动参数信息获取相应的待执行启动程序,基于此启动所述芯片。
在一些实施例中,可利用如图3所示的芯片的启动方法来启动所述芯片。图3A和图3B分别示出了在线调试模式下和在线更新模式下芯片的启动方法的流程图。如图3A所示,当芯片的启动模式为在线调试模式,芯片的启动方法包括:
步骤S1、获取与芯片启动相关的目标请求,目标请求包括待选择的启动程序标识和启动模式信息。所述目标请求可以是由人工配置并发送给所述芯片的。
在这一示例中,目标请求是用于指示针对启动程序B进行调试或更新,也就是说,芯片当前所利用的启动程序为启动程序A(即变量Select_flag的当前值为A),所述待选择的启动程序为启动程序B。
步骤S2、响应于确定所述芯片的启动模式为在线调试模式,将当前的启动程序标识A仍确定为已选择的启动程序标识,并且可以继续执行如下的步骤S3-S10:
步骤S3、更新调试标识Debug_flag,以使得更新后的调试标识Debug_flag指示进行调试。如前文所描述的,所述调试标识是利用变量标签Debug_flag实现的,即在这一步中可以为变量Debug_flag赋值为1来指示进行调试。
上述步骤S2可以是利用针对变量Select_flag的可执行赋值语句来实现的,步骤S3可以是利用针对变量Debug_flag的可执行赋值语句来实现的。可以看出,在应用流程中存在以下可能:当前标识已能满足相应要求,从而不需要对所述标识进行更新,也就是不需要执行相应的赋值语句。但是,在实际应用场景下,可以是利用统一的包含上述赋值语句的可执行文件来实现相应流程,更加简便快捷。
步骤S4、基于调试标识和已选择的启动程序标识,获取待选择的启动程序B。也就是说,当调试标识指示进行调试并且已选择的启动程序标识仍确定为当前启动程序标识时,基于目标请求中待选择的启动程序标识获取待选择的启动程序B。在这一示例中,可以是按照预先存储的地址信息或预定义的地址信息从flash存储器中获取待选择的启动程序B。
步骤S5、利用所述待选择的启动程序B,启动所述芯片。通过执行待选择的启动程序B,能够对芯片中的处理器、存储器、通信接口等模块进行初始化,从而使得芯片能够与其他外部器件通信并执行相应的应用程序。
步骤S6、更新调试标识Debug_flag,以使得更新后的调试标识Debug_flag指示不进行调试。如前文所描述的,对启动参数信息中的标识进行更新可以是利用针对相应变量的可执行赋值语句来实现的。应当理解,在一些示例中,可以是将所述可执行赋值语句***到启动程序相应的可执行文件中,并且可以是***到所述可执行文件的前部序列中,以使得启动程序能够在执行过程中尽可能早地更新所述调试标识。例如,可以是在芯片与flash存储器的通信功能初始化完毕后,即更新所存储的调试标识,从而能够避免启动程序的错误影响启动参数信息。
步骤S7、对所述待选择的启动程序进行测试。在这一示例中,可以是通过执行预先配置的测试程序来测试芯片的各项功能,以判断所述待选择的启动程序B是否能够正常初始化所述芯片的相应功能。
步骤S8、判断所述待选择的启动程序测试是否通过。
响应于所述待选择的启动程序测试通过,执行步骤S9、将已选择的启动程序标识更新为所述待选择的启动程序标识B。在此基础上,结合步骤S6中所更新的调试标识,能够使得所述芯片在下一次启动过程中利用已通过测试的启动程序B进行启动。
响应于所述待选择的启动程序测试不通过,执行步骤S10、基于更新后的启动参数信息,重新启动所述芯片。结合步骤S6中所更新的调试标识,能够使得所述芯片在下一次启动过程中利用原有的启动程序A进行启动,从而避免待调试的启动程序B的错误影响芯片的重启过程,保证芯片能够正常运行。
如图3B所示,当芯片的启动模式为在线更新模式,芯片的启动方法包括:
S11、获取与芯片启动相关的目标请求,目标请求包括待选择的启动程序标识和启动模式信息。
S12、响应于确定所述芯片的启动模式为在线更新模式,将已选择的启动程序标识更新为所述待选择的程序标识。即在这一步中可以为变量Select_flag赋值为B来指示已选择的启动程序为启动程序B。
S13、更新所述调试标识,以使得更新后的所述调试标识指示不进行调试。即在这一步中可以为变量Debug_flag赋值为0来指示不进行调试。
S14、基于调试标识和已选择的启动程序标识,获取待选择的启动程序B。也就是说,当调试标识指示不进行调试并且已选择的启动程序标识更新为待选择的启动程序标识时,基于目标请求中待选择的启动程序标识获取待选择的启动程序B。
S15、利用所述待选择的启动程序B,启动所述芯片。
可以看出,上述流程中,步骤S12-S13的具体实施方式与前文所描述的图3A中的步骤S2-S3类似,例如可以利用针对变量的可执行赋值语句来实现,步骤S14-S15的具体实施方式与图3A中的步骤S4-S5类似。也就是说,当芯片处于在线更新模式时,虽然图3A所示的步骤S6-S10的执行不是必要的,但利用图3A所示的流程也能够实现芯片的启动。因此,在实际应用场景下,可以是通过执行相同的能够实现上述步骤的可执行文件来完成相应流程,能够在不影响芯片的正常工作的情况下提升便捷性。
根据本公开的另一方面,还提供一种芯片的启动装置。图4示出了根据本公开示例性实施例的芯片的启动装置400的结构框图。如图4所示,装置400包括:
第一获取单元410,被配置用于获取与芯片启动相关的目标请求,所述目标请求包括待选择的启动程序标识和启动模式信息,所述启动模式信息用于指示所述芯片的启动模式,所述待选择的启动程序标识能够指示多个启动程序中待选择的启动程序,所述芯片的启动模式包括在线调试模式;
第二获取单元420,被配置用于基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息;以及
启动单元430,被配置用于基于所述启动参数信息,启动所述芯片。
可以理解的是,装置400中的单元410至单元430的操作和技术效果分别和图1中的步骤S110至步骤S130的操作和技术效果类似,在此不做赘述。
根据本公开的另一方面,提供了一种芯片,包括:至少一个处理器;以及存储器,其上存储有计算机程序,其中,计算机程序在被处理器执行时,使处理器执行上述的芯片的启动方法。
根据本公开的另一方面,提供了一种电子设备,包括上述的芯片。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述的芯片的启动方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述的芯片的启动方法。
图5是示出根据本公开的示例性实施例的电子设备的示例的框图。需要说明的,图5所示出的结构仅是一个示例,根据具体的实现方式,本公开的电子设备可以仅包括图5所示出的组成部分中的一种或多个。
电子设备500例如可以是通用计算机(例如膝上型计算机、平板计算机等等各种计算机)、移动电话、个人数字助理。根据一些实施例,电子设备500可以是云计算设备和智能设备。
根据一些实施例,电子设备500可被配置为对图像、文本和音频中的至少一者进行处理,并且将所述处理结果传输至输出设备而提供给用户。输出设备例如可以为显示屏、包括显示屏的设备,也可以为耳机、扬声器、或振荡器等声音输出设备。例如,电子设备500可被配置为对图像进行目标检测,将目标检测结果传输至显示设备以显示,电子设备500还可被配置为对图像进行增强处理,并将增强结果传输至显示设备以显示。电子设500还可被配置为对图像中的文本进行识别,并将识别结果传输至显示设备以显示和/或将识别结果转换成声音数据并传输至声音输出设备进行播放。电子设备500还可被配置为对音频进行识别和处理,并将识别结果传输至显示设备以显示和/或将处理结果转换成声音数据并传输至声音输出设备进行播放。
电子设备500可以包括图像处理电路503,图像处理电路503可以被配置为对图像进行各种图像处理。图像处理电路503例如可以被配置为对图像进行以下图像处理中的至少一项:对图像进行降噪、对图像进行几何矫正、对图像进行特征提取、对图像中的对象进行检测和/或识别、对图像进行增强处理、以及对图像中包含的文字进行检测和/或识别等等。
电子设备500还可以包括文字识别电路504,所述文字识别电路504被配置为对图像中的文字区域进行文字检测和/或识别(例如OCR处理),从而获得文字数据。所述文字识别电路504例如可以通过专用芯片实现。电子设备500还可以包括声音转换电路505,所述声音转换电路505被配置为将所述文字数据转换成声音数据。所述声音转换电路505例如可以通过专用芯片实现。
电子设备500还可以包括音频处理电路506,所述音频处理电路506被配置为将音频转换为文字,从而获得音频相应的文字数据。所述音频处理电路506还可被配置为对音频相应的文字数据进行处理,例如可以包括关键字提取、意图识别、智能推荐和智能问答等等。所述音频处理电路506例如可以通过专用芯片实现。所述声音转换电路505还可被配置为将音频处理结果转换为声音数据,以适用于语音助手或虚拟客服等应用场景。
上述的各种电路(例如图像处理电路503、文字识别电路504、声音转换电路505、音频处理电路506中的一个或多个可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现。例如,上述的各种电路中的一个或多个可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C ++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
根据一些实施方式,电子设备500还可以包括输出设备507,所述输出设备507可以是用于呈现信息的任何类型的设备,可以包括但不限于显示屏、具有显示功能的终端、耳机、扬声器、振动器和/或打印机等。
根据一些实施方式,电子设备500还可以包括输入设备508,所述输入设备508可以是用于向电子设备500输入信息的任何类型的设备,可以包括但不限于各种传感器、鼠标、键盘、触摸屏、按钮、控制杆、麦克风和/或遥控器等等。
根据一些实施方式,电子设备500还可以包括通信设备509,所述通信设备509可以是使得能够与外部设备和/或与网络通信的任何类型的设备或***,可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
根据一些实施方式,电子设备500还可以包括处理器501。所述处理器501可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器501例如可以是但不限于中央处理单元CPU、图形处理器GPU、或各种专用的人工智能(AI)计算芯片等等。
电子设备500还可以包括工作存储器502和存储设备511。处理器501可以被配置为能够获取并且执行存储在工作存储器502、存储设备511或者其他计算机可读介质中的计算机可读指令,诸如操作***502a的程序代码、应用程序502b的程序代码等。工作存储器502和存储设备511是用于存储指令的计算机可读存储介质的示例,所存储的指令能够由处理器501执行来实施前面所描述的各种功能。工作存储器502可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。存储设备511可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。工作存储器502和存储设备511在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器501作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
根据一些实施方式,处理器501可以对图像处理电路503、文字识别电路504、声音转换电路505、音频处理电路506以及电子设备500包括的其他各种装置和电路中的至少一个进行控制和调度。根据一些实施方式,图5中所述的各个组成部分中的至少一些可通过总线510而相互连接和/或通信。
软件要素(程序)可以位于所述工作存储器502中,包括但不限于操作***502a、一个或多个应用程序502b、驱动程序和/或其他数据和代码。
根据一些实施方式,用于进行前述的控制和调度的指令可以被包括在操作***502a或者一个或多个应用程序502b中。
根据一些实施方式,执行本公开所述的方法步骤的指令可以被包括在一个或多个应用程序502b中,并且上述电子设备500的各个模块可以通过由处理器501读取和执行一个或多个应用程序502b的指令来实现。换言之,电子设备500可以包括处理器501以及存储程序的存储器(例如工作存储器502和/或存储设备511),所述程序包括指令,所述指令在由所述处理器501执行时使所述处理器501执行如本公开各种实施例所述的方法。
根据一些实施方式,图像处理电路503、文字识别电路504、声音转换电路505、音频处理电路507中的至少一个所执行的操作中的一部分或者全部可以由处理器501读取和执行一个或多个应用程序502b的指令来实现。
软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如所述存储设备511)中,并且在执行时可以被存入工作存储器502中(可能被编译和/或安装)。因此,本公开提供存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行如本公开各种实施例所述的方法。根据另一种实施方式,软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现各个电路、单元、模块或者元件。例如,所公开的方法和设备所包含的电路、单元、模块或者元件中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C ++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
根据一些实施方式,电子设备500中的处理器501可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。电子设备500的其他模块也可以类似地分布。这样,电子设备500可以被解释为在多个位置执行处理的分布式计算***。电子设备500的处理器501也可以是云计算***的处理器,或者是结合了区块链的处理器。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、***和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (11)
1.一种包括在线调试模式的芯片启动方法,其特征在于,所述方法包括:
获取与芯片启动相关的目标请求,所述目标请求包括待选择的启动程序标识和启动模式信息,所述启动模式信息用于指示所述芯片的启动模式,所述待选择的启动程序标识能够指示多个启动程序中待选择的启动程序,所述芯片的启动模式包括在线调试模式和在线更新模式,所述目标请求为远程的调试请求或更新请求,所述调试请求用于远程配置所述芯片的启动参数信息以配置所述芯片的启动模式为所述在线调试模式,所述更新请求用于远程配置所述芯片的启动参数信息以配置所述芯片的启动模式为所述在线更新模式;
基于所述待选择的启动程序标识和启动模式信息,更新所述启动参数信息,所述启动参数信息包括调试标识,所述调试标识用于指示是否进行调试;以及
基于所述启动参数信息,启动所述芯片。
2.如权利要求1所述的方法,其特征在于,所述启动参数信息还包括已选择的启动程序标识。
3.如权利要求2所述的方法,其特征在于,所述基于所述待选择的启动程序标识和启动模式信息,更新启动参数信息包括:
响应于所述启动模式信息指示所述芯片的启动模式为在线调试模式,
将当前的启动程序标识仍确定为已选择的启动程序标识;以及
更新所述调试标识,以使得更新后的所述调试标识指示进行调试。
4.如权利要求3所述的方法,其特征在于,所述启动参数信息还包括所述待选择的启动程序标识,并且所述基于所述启动参数信息,启动所述芯片包括:
响应于所述启动模式信息指示所述芯片的启动模式为在线调试模式,
基于所述待选择的启动程序标识,获取待选择的启动程序;
利用所述待选择的启动程序启动所述芯片,以对所述待选择的启动程序进行测试。
5.如权利要求4所述的方法,其特征在于,所述基于所述启动参数信息,启动所述芯片还包括:
在利用所述待选择的启动程序进行启动之后,再次更新所述调试标识,以使得再次更新后的所述调试标识指示不进行调试。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
响应于对所述待选择的启动程序的测试不通过,基于更新后的所述启动参数信息,重新启动所述芯片。
7.如权利要求4所述的方法,其特征在于,所述方法还包括:
响应于对所述待选择的启动程序的测试通过,将已选择的启动程序标识更新为所述待选择的启动程序标识。
8.一种包括在线调试模式的芯片启动装置,其特征在于,所述装置包括:
第一获取单元,被配置用于获取与芯片启动相关的目标请求,所述目标请求包括待选择的启动程序标识和启动模式信息,所述启动模式信息用于指示所述芯片的启动模式,所述待选择的启动程序标识能够指示多个启动程序中待选择的启动程序,所述芯片的启动模式包括在线调试模式和在线更新模式,所述目标请求为远程的调试请求或更新请求,所述调试请求用于远程配置所述芯片的启动参数信息以配置所述芯片的启动模式为所述在线调试模式,所述更新请求用于远程配置所述芯片的启动参数信息以配置所述芯片的启动模式为所述在线更新模式;
第二获取单元,被配置用于基于所述待选择的启动程序标识和启动模式信息,更新所述启动参数信息,所述启动参数信息包括调试标识,所述调试标识用于指示是否进行调试;以及
启动单元,被配置用于基于所述启动参数信息,启动所述芯片。
9.一种芯片,包括:
至少一个处理器;以及
存储器,其上存储有计算机程序,
其中,所述计算机程序在被所述处理器执行时,使所述处理器执行权利要求1-7中任一项所述的方法。
10.一种电子设备,包括如权利要求9所述的芯片。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211134905.9A CN115220978B (zh) | 2022-09-19 | 2022-09-19 | 包括在线调试模式的芯片启动方法和装置、芯片和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211134905.9A CN115220978B (zh) | 2022-09-19 | 2022-09-19 | 包括在线调试模式的芯片启动方法和装置、芯片和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115220978A CN115220978A (zh) | 2022-10-21 |
CN115220978B true CN115220978B (zh) | 2023-02-03 |
Family
ID=83617421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211134905.9A Active CN115220978B (zh) | 2022-09-19 | 2022-09-19 | 包括在线调试模式的芯片启动方法和装置、芯片和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115220978B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566303A (en) * | 1993-05-31 | 1996-10-15 | Mitsubishi Denki Kabushiki Kaisha | Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's |
JP2000010814A (ja) * | 1998-05-13 | 2000-01-14 | Axis Ab | デバッグ能力を有するチップ |
US6502209B1 (en) * | 1998-05-13 | 2002-12-31 | Axis Ab | Chip with debug capability |
CN101944072A (zh) * | 2010-09-01 | 2011-01-12 | 中兴通讯股份有限公司 | 一种终端设备的启动方式配置方法及设备 |
CN108153616A (zh) * | 2016-12-06 | 2018-06-12 | 北京京存技术有限公司 | 一种存储芯片启动程序检测方法和装置 |
CN113986375A (zh) * | 2021-10-22 | 2022-01-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种SoC芯片启动方法及装置 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516428B2 (en) * | 1999-01-22 | 2003-02-04 | Infineon Technologies Ag | On-chip debug system |
US20020099953A1 (en) * | 2000-11-30 | 2002-07-25 | International Business Machines Corporation | Debugging of chipcards |
US6934834B2 (en) * | 2001-08-31 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | Computer program for controlling the manner in which an operating system launches a plurality of application programs |
US6895530B2 (en) * | 2003-01-24 | 2005-05-17 | Freescale Semiconductor, Inc. | Method and apparatus for controlling a data processing system during debug |
CN100359486C (zh) * | 2004-11-24 | 2008-01-02 | 中兴通讯股份有限公司 | 一种调试操作***内核态程序的方法及装置 |
US7584456B1 (en) * | 2005-01-14 | 2009-09-01 | Altera Corporation | Method and apparatus for debugging embedded systems having read only memory |
CN101150460A (zh) * | 2007-11-14 | 2008-03-26 | 华为技术有限公司 | 自动调测网络设备的方法及*** |
CN101458725B (zh) * | 2007-12-14 | 2012-01-25 | 上海海尔集成电路有限公司 | 微控制器芯片及其调试方法 |
CN101673237B (zh) * | 2009-09-02 | 2011-09-28 | 太仓市同维电子有限公司 | 一种利用网络调试启动程序的方法 |
US20130031419A1 (en) * | 2011-07-28 | 2013-01-31 | International Business Machines Corporation | Collecting Debug Data in a Secure Chip Implementation |
US20130198566A1 (en) * | 2012-01-27 | 2013-08-01 | Lsi Corporation | Method and Apparatus for Debugging System-on-Chip Devices |
CN103970551A (zh) * | 2013-01-29 | 2014-08-06 | 安凯(广州)微电子技术有限公司 | 一种嵌入式处理器启动模式的选择方法及装置 |
US9292413B2 (en) * | 2013-08-13 | 2016-03-22 | International Business Machines Corporation | Setting breakpoints in a code debugger used with a GUI object |
CN105278974A (zh) * | 2014-06-30 | 2016-01-27 | 深圳市中兴微电子技术有限公司 | 一种芯片启动方法及装置 |
CN104298579B (zh) * | 2014-10-20 | 2016-12-07 | 大唐移动通信设备有限公司 | 一种逻辑芯片以及包含该逻辑芯片的板卡装置 |
US9836386B2 (en) * | 2014-12-18 | 2017-12-05 | Red Hat Israel, Ltd. | Automatic switch to debugging mode |
US9606175B2 (en) * | 2014-12-26 | 2017-03-28 | Intel Corporation | Reprogramming a port controller via its own external port |
US9639425B1 (en) * | 2015-01-13 | 2017-05-02 | Marvell International Ltd. | Signature-based sleep recovery operation flow |
KR102415388B1 (ko) * | 2015-11-13 | 2022-07-01 | 삼성전자주식회사 | 시스템 온 칩 및 그것의 보안 디버깅 방법 |
CN105786576B (zh) * | 2016-03-17 | 2019-06-04 | 硅谷数模半导体(北京)有限公司 | 基于串口的芯片调试方法和装置 |
CN108021385A (zh) * | 2017-12-29 | 2018-05-11 | 北京神州龙芯集成电路设计有限公司 | 一种板载SPI Flash的烧写***和方法 |
CN108804313B (zh) * | 2018-05-22 | 2021-05-18 | 联想(北京)有限公司 | 一种远程调试程序的方法、装置和服务器 |
CN110032482A (zh) * | 2019-04-11 | 2019-07-19 | 盛科网络(苏州)有限公司 | 片上调试装置和方法 |
CN110888766B (zh) * | 2019-11-18 | 2023-08-01 | 珠海泰芯半导体有限公司 | 一种芯片的启动方法 |
CN111124440A (zh) * | 2019-12-17 | 2020-05-08 | 湖南国科微电子股份有限公司 | 芯片软件烧录方法、芯片软件烧录数据处理方法和装置 |
CN111464333A (zh) * | 2020-03-06 | 2020-07-28 | 浙江大华技术股份有限公司 | 远程调试方法、计算机设备、存储装置和远程调试*** |
DE102020122702A1 (de) * | 2020-08-31 | 2022-03-03 | Infineon Technologies Ag | System-on-Chip und Verfahren zum Betreiben eines System-on-Chip |
CN114020682A (zh) * | 2021-10-18 | 2022-02-08 | 爱芯元智半导体(上海)有限公司 | 芯片工作模式的控制方法、装置、芯片和存储介质 |
CN114327516A (zh) * | 2021-12-29 | 2022-04-12 | 苏州洪芯集成电路有限公司 | 一种修改芯片***存储器进行烧录的电路及方法 |
CN114625639B (zh) * | 2022-03-03 | 2024-05-28 | 上海先楫半导体科技有限公司 | 一种基于片上***的调试方法、***以及芯片 |
-
2022
- 2022-09-19 CN CN202211134905.9A patent/CN115220978B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566303A (en) * | 1993-05-31 | 1996-10-15 | Mitsubishi Denki Kabushiki Kaisha | Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's |
JP2000010814A (ja) * | 1998-05-13 | 2000-01-14 | Axis Ab | デバッグ能力を有するチップ |
US6502209B1 (en) * | 1998-05-13 | 2002-12-31 | Axis Ab | Chip with debug capability |
CN101944072A (zh) * | 2010-09-01 | 2011-01-12 | 中兴通讯股份有限公司 | 一种终端设备的启动方式配置方法及设备 |
CN108153616A (zh) * | 2016-12-06 | 2018-06-12 | 北京京存技术有限公司 | 一种存储芯片启动程序检测方法和装置 |
CN113986375A (zh) * | 2021-10-22 | 2022-01-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种SoC芯片启动方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115220978A (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845930B (zh) | 界面操作测试方法和装置、存储介质及电子装置 | |
CN106933593B (zh) | 一种基于移动终端的***切换方法和装置 | |
US10191751B2 (en) | Information processing device for generating application programming interface information | |
CN106126424A (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
US20150254169A1 (en) | Method and system for creating reference data | |
CN113961259A (zh) | 启动引导程序加载方法、装置、***、电子设备及介质 | |
US20150186126A1 (en) | System and Method of Automating Installation of Applications | |
CN111158987B (zh) | 微服务架构的健康检查方法及装置 | |
US20190303172A1 (en) | Information processing apparatus, device assignment method, and computer readable medium | |
CN113377586B (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
CN115220978B (zh) | 包括在线调试模式的芯片启动方法和装置、芯片和设备 | |
CN112559346A (zh) | 一种业务测试的方法及装置 | |
CN115391066B (zh) | 用于芯片的数据交互方法、装置和人工智能芯片 | |
CN104079432A (zh) | 网络设备异常的处理方法和装置 | |
CN110018918B (zh) | 终端异常的修复方法、装置、移动终端及存储介质 | |
US20220253353A1 (en) | Electronic apparatus performing self-test using self-test application and control method thereof | |
CN116149941A (zh) | 服务器部件的监控方法、装置、服务器及存储介质 | |
CN111381978A (zh) | 一种接入应用程序的方法、存储介质以及智能电视 | |
CN115357355A (zh) | 一种软件跨***迁移的方法、装置、设备及可读存储介质 | |
CN112068713B (zh) | 事件处理方法、装置、电子设备及可读介质 | |
CN115358331A (zh) | 设备类型识别方法及装置、计算机可读存储介质、终端 | |
US9912796B2 (en) | Apparatus and method for correcting an input number | |
CN113010195B (zh) | 一种***升级方法、存储介质及终端设备 | |
CN113778485A (zh) | 电子芯片的***运行方法、装置、电子芯片和存储介质 | |
CN113806252A (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 |