CN116755919A - 启动控制方法和装置、芯片及其调试系统 - Google Patents

启动控制方法和装置、芯片及其调试系统 Download PDF

Info

Publication number
CN116755919A
CN116755919A CN202310777683.0A CN202310777683A CN116755919A CN 116755919 A CN116755919 A CN 116755919A CN 202310777683 A CN202310777683 A CN 202310777683A CN 116755919 A CN116755919 A CN 116755919A
Authority
CN
China
Prior art keywords
chip
state
control
signal
initialization
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
CN202310777683.0A
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.)
Chengdu Haiguang Integrated Circuit Design Co Ltd
Original Assignee
Chengdu Haiguang Integrated Circuit Design 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 Chengdu Haiguang Integrated Circuit Design Co Ltd filed Critical Chengdu Haiguang Integrated Circuit Design Co Ltd
Priority to CN202310777683.0A priority Critical patent/CN116755919A/zh
Publication of CN116755919A publication Critical patent/CN116755919A/zh
Pending legal-status Critical Current

Links

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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本说明书提供启动控制方法和装置、芯片及其调试系统,其中,启动控制方法包括:响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况;在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述执行异常控制流程包括:获取外部输入信号;响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式至少由所述外部工作控制指令决定。采用上述方案,能够在芯片上电复位存在异常情况时控制芯片工作,以便于对芯片内部的程序逻辑进行调试,从而提高芯片的硅后调试效率,进而降低芯片的开发周期和开发成本。

Description

启动控制方法和装置、芯片及其调试系统
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种启动控制方法和装置、芯片及其调试系统。
背景技术
目前,集成电路在流片前主要通过硅前验证(pre-silicon verification)来保证芯片的性能,而流片后则通过硅后调试(post-silicon debug)能进一步保证芯片的性能。其中,硅后调试是指在集成电路制造过程中,完成芯片的制造、封装和测试后,对已经制造出来的芯片进行验证和调试的过程。
近年来,为了降低芯片外围电路设计的成本和复杂度,芯片集成度变得越来越高,已形成系统级芯片,即片上系统(System on Chip,SoC)。随着集成电路的工艺发展和芯片设计复杂度的增加,硅前验证已经无法保证在流片前发现所有错误,且芯片中的电气错误难以避免,因此,硅后调试在集成电路设计中越来越受到重视。
然而,在芯片上电后,芯片需要在完成复位流程后才能启动并运行后续的工作程序,若芯片中与上电复位相关的电路存在问题,则会导致上电复位异常,芯片停滞于复位流程而无法运行后续的工作程序。在需要对芯片进行硅后调试的一些情况下,往往只能进行重复流片,硅后调试工作面临阻碍。
因此,如何提供芯片启动控制方案,以在芯片上电复位存在异常情况时能够控制芯片进行启动工作,有待本领域技术人员解决。
发明内容
有鉴于此,本说明书实施例提供一种启动控制方法和装置、芯片及其调试系统,能够在芯片上电复位存在异常情况时控制芯片直接进行启动工作。
本说明书实施例提供了一种启动控制方法,包括:
响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况;
在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述执行异常控制流程包括:
获取外部输入信号;
响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式至少由所述外部工作控制指令决定。
可选地,所述执行异常控制流程还包括:
响应于所述外部输入信号包括的外部访问指令,则执行访问操作,其中,所述访问操作至少由所述外部访问指令决定。
可选地,所述执行异常控制流程还包括:
执行第一状态跳转子程序,其中,多个第一状态下设有不同的第一跳转条件,各所述第一状态在获取的外部输入信号的信息符合相应的第一跳转条件后进行跳转,以对所述外部输入信号包括的指令进行响应。
可选地,所述多个第一状态包括:地址状态、操作状态和访问状态;所述执行第一状态跳转子程序,包括:
在所述地址状态下,若获取的外部输入信号包括地址信息,则跳转至所述操作状态;
在所述操作状态下,若获取的外部输入信号包括操作信息,则跳转至所述访问状态;
所述访问状态,基于所述外部输入信号包括的地址信息和操作信息,执行访问操作,并在访问操作完成后跳转至所述地址状态。
可选地,所述多个第一状态还包括:初始状态、开始状态和进入状态;所述执行第一状态跳转子程序,还包括:
在所述初始状态下,若获取的外部输入信号包括等待信息且所述等待信息的持续时长符合预设的等待条件,则跳转至所述开始状态;
在所述开始状态下,若获取的外部输入信号包括启动信息,则跳转至所述进入状态;
在所述进入状态下,若获取的外部输入信号包括验证码信息且所述验证码信息符合预设的验证条件,则跳转至所述地址状态。
可选地,所述响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序包括:
响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在擦除模式下启动并运行擦除工作程序。
可选地,在所述控制所述芯片在擦除模式下启动并运行擦除工作程序之后,还包括以下至少一个步骤:
在完成擦除工作程序之前,禁止对所述芯片执行复位流程;
在完成擦除工作程序之后,启动复位流程。
可选地,所述方法还包括:
响应于停止指令,停止执行所述异常控制流程。
可选地,所述检测所述芯片的复位执行情况,包括:
计算所述复位流程的执行时长,并基于所述复位流程的执行时长判断所述芯片的复位执行情况是否存在异常。
可选地,所述对芯片执行复位流程,包括:
生成所述复位启动信号;
响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后生成复位成功信号,以及,基于内部工作控制指令或工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序;
其中,所述初始化操作包括调校初始化操作和上电自检测初始化操作中至少一种,所述调校初始化操作用于对所述芯片存储的原始数据进行校验和分发,所述上电自检测初始化操作用于对所述芯片的工作环境进行检测;所述内部工作控制指令由芯片内部产生,所述工作模式标识信号基于所述外部工作控制指令生成;所述工作模式由所述内部工作控制指令或者所述工作模式标识信号决定。
可选地,在所述响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后生成复位成功信号,以及,基于内部工作控制指令或工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序之前,还包括:
执行第二状态跳转子程序,以在初始化状态下对所述芯片执行初始化操作,以及在工作状态下控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作状态由所述初始化状态在初始化操作成功后跳转进入,或者,所述工作状态由所述工作模式标识信号触发进入。
可选地,所述对所述芯片执行初始化操作,还包括以下至少一种:
执行稳压初始化操作,以启动所述芯片的稳压功能;
执行时钟处理初始化操作,以在所述芯片内部产生时钟信号;
执行时钟控制初始化操作,以启动所述芯片内部的数字电路。
可选地,所述初始化状态包括:调校初始化子状态、稳压初始化子状态、上电自检测初始化子状态、时钟处理初始化子状态以及时钟控制初始化子状态;所述执行第二状态跳转子程序包括:
在所述调校初始化子状态下,若所述调校初始化操作成功,则跳转至所述稳压初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述稳压初始化子状态下,若所述稳压初始化操作成功,则跳转至所述上电自检测初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述上电自检测初始化子状态下,若所述上电自检初始化操作成功,则跳转至所述时钟处理初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述时钟处理初始化子状态下,若所述时钟处理模块初始化操作成功,则跳转至所述时钟控制初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述时钟控制初始化子状态下,若所述时钟控制初始化操作成功,则跳转至所述工作状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述工作状态下,基于所述内部工作控制指令或所述工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
可选地,所述执行第二状态跳转子程序还包括:
在等待状态下,若等待时长符合预设的等待条件后,跳转至所述初始化状态。
可选地,在执行所述复位流程之前,还包括:检测所述芯片的电源电压情况,并在确定所述芯片的电源电压正常后,生成上电信号,以启动所述复位流程。
本说明书实施例还提供了一种启动控制装置,所述启动控制装置包括:第一控制模块;所述第一控制模块包括复位检测单元和异常控制单元,其中:
所述复位检测单元,适于响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况;
所述异常控制单元,适于在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述异常控制单元包括:传输子单元,适于获取外部输入信号;异常控制子单元,适于响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式至少由所述外部工作控制指令决定。
可选地,所述异常控制子单元,还适于响应于所述外部输入信号包括的外部访问指令,执行访问操作,其中,所述访问操作至少由所述外部访问指令决定。
可选地,所述异常控制单元还包括:状态跳转子单元,位于所述传输子单元和所述异常控制子单元之间连接,其中:
所述状态跳转子单元,适于执行第一状态跳转子程序,以控制所述异常控制子单元对所述外部输入信号包括的指令进行响应,其中,不同的第一状态下的第一跳转条件不同,并在接收的外部输入信号的信息符合相应的第一跳转条件后进行跳转。
可选地,所述工作模式包括擦除模式;所述异常控制子单元适于响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在擦除模式下启动并运行擦除工作程序。
可选地,所述第一控制模块还包括:停止单元,适于响应于停止指令,控制所述异常控制单元停止执行所述异常控制流程。
可选地,所述启动控制装置还包括:第二控制模块,所述第二控制模块与所述第一控制模块连接;其中:
所述第二控制模块,适于对所述芯片执行复位流程,其中,对所述芯片执行的复位流程包括:生成所述复位启动信号,以及,响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后基于内部工作控制指令,或者,响应于所述第一控制模块的控制,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式由所述内部工作控制指令或者所述第一控制模块决定。
可选地,所述第二控制模块包括:信号生成单元和复位控制单元,其中:
所述信号生成单元,适于生成所述复位启动信号,并在所述复位控制单元启动成功后生成初始化启动信号,以及,在初始化操作成功后基于所述内部工作控制指令,或者基于所述第一控制模块的控制,生成工作模式启动信号;
所述复位控制单元,适于响应于所述复位启动信号,进行启动,并基于所述信号生成单元生成的初始化启动信号,对所述芯片执行初始化操作,以及,响应于所述工作模式启动信号,或者基于所述第一控制模块的控制,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
可选地,所述复位控制单元包括:状态控制子单元和操作子单元,其中:
所述状态控制子单元,适于响应于所述复位启动信号,执行第二状态跳转子程序,以在初始化状态下生成初始化操作使能信号,以及,在工作状态下响应于所述工作模式启动信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作状态由所述初始化状态在初始化操作成功后跳转进入,或者,所述工作状态在所述第一控制模块的控制下触发进入,所述初始化操作使能信号发送至所述操作子单元或者所述芯片内部的电路模块;
所述操作子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片执行初始化操作。
可选地,所述操作子单元包括以下至少一种:
调校子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片存储的原始数据进行校验和分发;
上电自检测子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片的工作环境进行检测;
时钟控制子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,启动所述芯片内部的数字电路。
可选地,所述启动控制装置还包括:电源检测模块,适于检测所述芯片的电源电压情况,并在确定所述芯片的电源电压正常后,生成上电正常信号,以启动所述第二控制模块的复位流程。
本说明书实施例还提供了一种芯片,包括:上述任一项实施例所述的启动控制装置。
本说明书实施例还提供了一种计算机设备,包括主板和输入输出装置,所述主板装配有上述任一实施例所述的芯片,所述输入输出装置与所述主板连接。
采用本说明书实施例的方案,响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况复位启动信号,检测所述芯片的复位执行情况;在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述执行异常控制流程包括:获取外部输入信号,以及,若所述外部输入信号为外部工作控制指令,则基于所述外部工作控制指令指示的工作模式,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。由上可知,通过复位启动信号,能够确保在芯片进行复位流程时可以启动复位执行情况的检测,并在确定芯片的复位执行情况存在异常后,能够通过执行异常控制流程,即利用获取到的外部输入信号所包括的外部工作控制指令控制芯片进入指定的工作模式并运行相关的工作程序,使得芯片跳过存在异常的复位流程而可以直接进行启动工作。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中一种启动控制方法的流程图。
图2为本说明书实施例中一种第一状态跳转子程序的流程图。
图3为本说明书实施例中另一种第一状态跳转子程序的流程图。
图4为本说明书实施例中一种第二状态跳转子程序的流程图。
图5为本说明书实施例中另一种第二状态跳转子程序的流程图。
图6为本说明书实施例中一种启动控制装置的结构示意图。
图7为本说明书实施例中一种第一控制模块的具体结构示意图。
图8为本说明书实施例中另一种启动控制装置的结构示意图。
图9为本说明书实施例又一种启动控制装置的结构示意图。
图10为图9所示启动控制装置中的信号生成单元的结构示意图。
图11为图9所示启动控制装置中的状态控制子单元的跳转流程图。
图12为图9所示启动控制装置中的第一控制模块的跳转流程图。
具体实施方式
如背景技术所述,若芯片停滞于复位流程而无法启动,则无法运行后续的工作程序,例如调试程序(进一步地,例如,硅后调试程序)。为了应对上述技术问题或其他问题,本说明书实施例提出了一种启动控制方案,能够检测芯片的复位执行情况,并确定所述芯片的复位执行情况存在异常后,执行异常控制流程,使得所述芯片能够在指定的工作模式下启动并运行相关的工作程序。由此,通过控制芯片跳过存在异常的复位流程而直接进行启动工作。在需要执行硅后调试的情况下可在启动工作后执行硅后调试(例如,对芯片内部的程序逻辑进行调试),从而确保芯片的逻辑功能正常。
为使本领域技术人员更加清楚地了解及实施本说明书技术方案的构思、实现方式及优点,以下参照附图进行详细说明。
参照图1,为本说明书实施例中一种启动控制方法的流程图,在本说明书实施例中,所述启动控制方法可以包括:
S11,响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况。
在具体实施中,芯片上电后,可对芯片执行复位流程,而在执行复位流程时,根据芯片的内部架构,会产生复位启动信号,以表征芯片开始进行复位流程,因此,可将复位启动信号作为检测芯片复位执行情况的触发条件,从而在芯片进行复位流程产生复位启动信号后,能够及时启动复位执行情况的检测。
可以根据芯片的内部架构,设置检测所述芯片的复位执行情况的具体方式,本说明书实施例对此不做限制。例如,可以采集芯片内部与复位流程相关的电路模块的信号,以判断该电路模块是否完成复位流程相关的操作,进而可以判断所述芯片的复位执行情况是否异常。又例如,芯片在完成复位操作后会产生表征复位操作成功可以启动工作的信号(即复位成功信号),通过采集芯片是否生成该复位成功信号,可以计算所述复位流程的执行时长,进而可以根据所述复位流程的执行时长判断所述芯片的复位执行情况是否异常,具体地,可以设置第一预设时长,若所述复位流程的执行时长超出第一预设时长,则可以确定所述芯片的复位执行情况存在异常,其中,第一预设时长可基于复位流程正常执行时所需的时长决定,即第一预设时长至少大于复位流程成功执行完毕的时长。
S12,在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述执行异常控制流程可以包括如下步骤S121~S122:
S121,获取外部输入信号;
S122,响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作
模式至少由所述外部工作控制指令决定。
在具体实施中,所述外部输入信号是指来自芯片外部的信号,通过设置输入输出引脚,可以获取外部输入信号,并且,可根据通信方式,设置引脚数量。例如,若采用串行通信方式,则需要设置一个引脚用于获取外部输入信号;若采用并行通信方式,则需要设置多个引脚用于获取外部输入信号。
在实际实施时,外部输入信号可以包含多种指令,从而可以根据指令的类型对芯片进行控制。而控制芯片的方式可根据实际情况确定,例如,可以根据外部输入信号包含的指令,生成能够被芯片识别的信号并传输给芯片内部,以控制芯片进行相关操作;在外部输入信号能够被芯片识别的情况下,也可以将外部输入信号直接传输至芯片内部,从而控制芯片进行相关操作。本说明书实施例对此不做限制。
具体地,在所述外部输入信号包括外部工作控制指令时,若外部工作控制指令无法直接被芯片内部用于管理工作模式和芯片启动的模块(如下文所述的第二控制模块)识别,则可以根据外部工作控制指令指示的工作模式,生成相应的工作模式标识信号,并将工作模式标识信号传输至芯片内部用于管理工作模式和芯片启动的模块,以控制所述芯片在指定的工作模式下启动并运行相关的工作程序,或者,若外部工作控制指令能够被芯片内部用于管理工作模式和芯片启动的模块识别,则可以将包括该外部工作控制指令的外部输入信号直接传输至芯片内部用于管理工作模式和芯片启动的模块,从而控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
在具体实施中,芯片内部用于管理工作模式和芯片启动的模块配置有启动程序,在向该模块发送工作模式标识信号或者包括外部工作控制指令的外部输入信号后,可以触发该模块执行启动程序,使得芯片启动并进入指定的工作模式,以及并运行相关的工作程序。
例如,在工作模式标识信号或者包括外部工作控制指令的外部输入信号后,用于管理工作模式和芯片启动的模块修改芯片内部中央处理器(Central Processing Unit,CPU)的矢量地址寄存器,以控制CPU启动时程序执行地址对应指定的工作模式的启动地址,从而确保CPU启动时执行指定的工作模式相关的程序,以及,用于管理工作模式和芯片启动的模块产生系统时钟信号,其中,所述系统时钟信号用于生成各电路模块的工作时钟信号,具体地,可将系统时钟信号进行时钟同步化处理,从而产生各电路模块的工作时钟信号,以供各个电路模块使用。
由上述方案可知,通过复位启动信号,能够确保在芯片进行复位流程时可以启动复位执行情况的检测,并在确定芯片的复位执行情况存在异常后,能够通过执行异常控制流程,即利用获取到的外部输入信号所包括的外部工作控制指令控制芯片进入指定的工作模式并运行相关的工作程序,使得芯片跳过存在异常的复位流程而可以直接进行启动工作。
进一步地,由于采用本说明书实施例提供的启动控制方法,可以使得芯片跳过存在异常的复位流程而直接启动并运行工作程序,因此,在需要对芯片进行硅后调试的一些情况下,即使芯片上电后复位执行情况存在异常,也可以通过本说明书实施例提供的启动控制方法直接启动并运行硅后调试程序,确保芯片的逻辑功能正常,从而提高芯片的硅后调试效率,进而降低芯片的开发周期和开发成本。
在具体实施中,为了进行芯片的硅后调试,还需要搭建相应的硅后调试环境,为了能够进一步提高芯片的硅后调试效率,可以利用外部输入信号,对芯片内部进行访问,从而了解芯片内部的运行情况。
在一可选示例中,如图1所示,所述异常控制流程还可以包括如下步骤S123:
S123,响应于所述外部输入信号包括的外部访问指令,则执行访问操作,其中,所述访问操作至少由所述外部访问指令决定。
例如,若外部访问指令指示对芯片内部一存储单元A进行数据读取操作,则执行相应的读取操作,以读取存储单元A的数据信息;若外部访问指令指示对芯片内部一存储单元B进行数据写入操作,则执行相应的写入操作,以将外部访问指令中包含的数据信息写入存储单元A中。其中,访问操作具体可通过芯片内部的总线实现。其中,所述芯片内部的存储单元可以为存储器、寄存器或锁存器,所述外部访问指令至少可以包括:用于查询芯片内部存储单元的地址信息和用于指示对芯片内部存储单元进行访问操作的操作信息,以及在访问操作为写操作时,所述外部访问指令还可以包括:用于写入芯片内部存储单元的数据信息。
由此,可以直接对芯片内部数据进行访问,提高芯片的硅后调试效率。
在具体实施中,若外部工作控制指令无法直接被芯片内部用于管理工作模式和芯片启动的模块识别时,还可以采用以下方式控制所述芯片在指定的工作模式下启动并运行相关的工作程序:
为外部输入信号配置表征工作模式的工作标识存储单元,从而根据外部输入信号中包含的地址信息,查询到工作标识存储单元,并根据外部输入信号中包含的操作信息和数据信息,对工作标识存储单元进行数据写入,其中,写入工作标识存储单元的数据能够表征相应的工作模式,然后,芯片内部用于管理工作模式和芯片启动的模块可以读取工作标识存储单元中的数据,从而确定外部输入信号指示的工作模式。
其中,所述工作标识存储单元可以为存储器、寄存器或锁存器。所述工作标识存储单元可以位于芯片内部,也可以位于芯片外部,本说明书实施例对此不做具体设置。
由上可知,在采用上述方式时,外部工作控制指令可以包含:用于查询工作标识存储单元的地址信息、用于指示对工作标识存储单元进行写操作的操作信息和用于写入工作标识存储单元的数据信息。
而根据上文描述可知,外部访问指令中也至少包含用于查询芯片内部存储单元的地址信息和用于指示对芯片内部存储单元进行访问操作的操作信息。由此,可以根据获取到的外部输入信号所包含的地址信息和操作信息的具体内容,确定所述外部输入信号包括的指令类型,即确定所述外部输入信号是否包括外部工作控制指令和外部访问指令中至少一种。
在具体实施中,为了增强程序的逻辑性和可控性,以及明晰程序结构,可以采用状态跳转的方式实现异常控制流程,具体地,所述异常控制流程还可以执行第一状态跳转子程序,其中,不同的第一状态下设有不同的第一跳转条件,各所述第一状态在获取的外部输入信号的信息符合相应的第一跳转条件后进行跳转,以对所述外部输入信号包括的指令进行响应。
需要说明的是,可根据实际情况,设置不同第一状态下的第一跳转条件,以限制各所述第一状态下需要获取到的外部输入信号的信息,只要在状态的跳转过程中,能够实现确定所述外部输入信号包括的指令类型以及实施相关访问操作的目的即可,本说明书对第一状态跳转子程序的具体跳转方式不做限制。
在一可选示例中,如图2所示,为本说明书实施例中一种第一状态跳转子程序的流程图,参考图2,所述多个第一状态可以包括:地址状态、操作状态和访问状态;所述执行第一状态跳转子程序,可以包括:
A1)在所述地址状态下,若获取的外部输入信号包括地址信息,则跳转至所述操作状态。
其中,为了便于描述和理解,可以将用于查询工作标识存储单元的地址信息称为第一地址信息,而将用于查询芯片内部存储单元的地址信息称为第二地址信息。
在获取的外部输入信号包含第一地址信息后,可以基于第一地址信息,查询到工作标识存储单元,从而跳转至所述操作状态;在获取的外部输入信号包含第二地址信息后,可以基于第二地址信息,查询到芯片内部存储单元,从而跳转至所述操作状态。
A2)在所述操作状态下,若获取的外部输入信号包括操作信息,则跳转至所述访问状态。
其中,为了便于描述和理解,可以将用于指示对工作标识存储单元进行写操作的操作信息称为第一操作信息,而将用于指示对芯片内部存储单元进行访问操作的操作信息称为第二操作信息。
在获取的外部输入信号包含第一操作信息后,可以基于第一操作信息,确定对工作标识存储单元进行写操作,从而跳转至访问状态。在获取的外部输入信号包含第二操作信息后,可以基于第二操作信息,确定对芯片内部存储单元进行读操作或写操作,从而跳转至访问状态。
A3)所述访问状态,基于所述外部输入信号包括的地址信息和操作信息,执行访问操作,并在访问操作完成后跳转至所述地址状态。
其中,为了便于理解,可以将用于写入工作标识存储单元的数据信息称为第一数据信息,而将用于写入芯片内部存储单元的数据信息称为第二数据信息,以及将从芯片内部存储单元读取的数据信息称为第三数据信息。
基于外部输入信号所包含的第一地址信息和第一操作信息,可将第一数据信息写入工作标识存储单元,并在写入操作完成后,跳转至所述地址状态,以等待获取下一外部输入信息。基于外部输入信号所包含的第二地址信息和第二操作信息,可将第二数据信息写入芯片内部存储单元,或者,可读取芯片内部存储单元的第三数据信息,并在写入操作或读取操作完成后,跳转至所述地址状态,以等待获取下一外部输入信息。
由上可知,在第一状态跳转子程序中,在上一个状态已完成的情况下才会跳转到下一个状态,由此可以确保每个状态获取到准确的信息,增强程序的逻辑性和可控性,以及明晰程序结构,并且由于信息分段获取,可以降低每一状态的信息量,提高程序执行效率。
在具体实施中,为了提高异常控制流程的安全性,可以在预设一些延迟措施,从而在错误进入异常控制流程时,提供采取补救措施(如停止异常控制流程)的时间,进而避免对芯片进行误操作。
例如,可以设置等待条件,若获取的外部输入信号包括等待信息,且等待信息的持续时长符合预设的等待条件,则可以响应于所述外部输入信号包括的外部工作控制指令或外部访问指令,进行相关的操作,具体可参考上述内容,在此不再赘述。
又例如,可以设置验证条件,例如,获取的外部输入信号包括验证码信息且所述验证码信息符合预设的验证条件,则可以响应于所述外部输入信号包括的外部工作控制指令或外部访问指令,进行相关的操作,具体可参考上述内容,在此不再赘述。在具体实施中,上述延迟措施可以结合状态跳转的方式实现。在一可选示例中,如图3所示,为本说明书实施例中另一种第一状态跳转子程序的流程图,参考图3,所述多个第一状态可以包括:初始状态、开始状态、进入状态、地址状态、操作状态和访问状态;所述执行第一状态跳转子程序,可以包括:
B1)在所述初始状态下,若获取的外部输入信号包括等待信息且所述等待信息的持续时长符合预设的等待条件,则跳转至所述开始状态。
其中,为了便于操作,可根据实际情况,通过高电平信号或低电平信号表示所述等待信息。此外,可根据实际需求设置等待条件中的等待值,在所述等待信息的持续时长超过等待值时,可以认为所述等待信息的持续时长符合预设的等待条件。可以理解的是,根据实际情况,术语“超过”可以理解为大于或者大于等于,本说明书对此不做具体限制。
B2)在所述开始状态下,若获取的外部输入信号包括启动信息,则跳转至所述进入状态。
其中,为了便于操作,所述启动信息可以通过为与等待信息相反的电平信号标识。
B3)在所述进入状态下,若获取的外部输入信号包括验证码信息且所述验证码信息符合预设的验证条件,则跳转至所述地址状态。
其中,可根据实际需求设置验证条件中的验证码值,在所述验证码信与验证码值相同时,可以认为所述验证码信息符合预设的验证条件。此外,为了便于操作,所述验证信息可以通过二进制数值标识。
B4)在所述地址状态下,若获取的外部输入信号包括地址信息,则跳转至所述操作状态。
B5)在所述操作状态下,若获取的外部输入信号包括操作信息,则跳转至所述访问状态。
B6)所述访问状态,基于所述外部输入信号包括的地址信息和操作信息,执行访问操作,并在访问操作完成后跳转至所述地址状态。
其中,步骤B4)~B6)可参考上述关于步骤A1)~A3)的描述,在此不再赘述。
在具体实施中,所述芯片可以包括一种或多种工作模式。
例如,所述芯片的工作模式可以包括Boot模式(也称为引导工作模式或系统工作模式)和用户模式。其中:
Boot模式是芯片启动时所处的初始形态,在Boot模式下,CPU执行boot程序(如引导程序),初始化外接的硬件设备、加载操作系统,并将控制权转移给操作系统。
用户模式是指操作系统或应用程序在运行时芯片所处的形态,在用户态下,CPU执行用户程序,即以用户的身份执行,且可以访问各种硬件资源(如内存、磁盘、网络等)的应用程序,操作系统将控制权分配给各个用户程序,每个用户程序以独立的用户模式运行,相互之间不会直接干扰或访问对方的内存空间,用户模式下的用户程序通常受到操作系统的保护,无法直接访问底层硬件资源。
在芯片的复位执行情况正常时,可以通过CPU产生内部工作控制指令,控制所述芯片在Boot工作模式或用户模式下启动并运行相关的工作程序。具体地,内部工作控制指令可以为的第一内部工作控制命令或第二内部工作控制指令,其中,通过第一内部工作控制指令,将CPU中的矢量地址寄存器的地址信息修改为第一工作地址信息,并将芯片的工作模式换到Boot模式,从而使得CPU的工作程序从第一工作地址开始执行,以执行Boot程序。当Boot程序执行完成,可以通过CPU产生的第二内部工作控制命令,将CPU中的矢量地址寄存器的地址信息修改为第二工作地址信息,并将芯片的工作模式换到用户模式,从而使得CPU的工作程序从第二工作地址开始执行,以执行用户程序。而CPU在执行用户程序时可以通过产生第一内部工作控制指令,将CPU中的矢量地址寄存器的地址信息修改为第一工作地址信息,并将芯片的工作模式换到Boot模式,从而使得CPU的工作程序从第一工作地址开始执行,以执行Boot程序。
在芯片的复位执行情况异常时,响应于外部输入信号包括的外部工作控制指令,控制所述芯片在Boot工作模式或用户模式下启动并运行相关的工作程序。其中,所述外部工作控制指令可以为第一外部工作控制指令或第二外部工作控制指令。
具体地,若外部工作控制指令可以直接被芯片内部用于管理工作模式和芯片启动的模块识别,则通过第一外部工作控制指令,将CPU中的矢量地址寄存器的地址信息修改为第一工作地址信息,并将芯片的工作模式换到Boot模式,从而使得CPU的工作程序从第一工作地址开始执行,以执行Boot程序;通过第二外部工作控制指令,将CPU中的矢量地址寄存器的地址信息修改为第二工作地址信息,并将芯片的工作模式换到用户模式,从而使得CPU的工作程序从第二工作地址开始执行,以执行用户程序。
若外部工作控制指令无法直接被芯片内部用于管理工作模式和芯片启动的模块识别,则基于第一外部工作控制指令生成相应的第一工作模式标识信号,并基于所述第一工作模式标识信号,将CPU中的矢量地址寄存器的地址信息修改为第一工作地址信息,并将芯片的工作模式换到Boot模式,从而使得CPU的工作程序从第一工作地址开始执行,以执行Boot程序;基于第二外部工作控制指令生成相应的第二工作模式标识信号,并基于所述第二工作模式标识信号,将CPU中的矢量地址寄存器的地址信息修改为第二工作地址信息,并将芯片的工作模式换到用户模式,从而使得CPU的工作程序从第二工作地址开始执行,以执行用户程序
在具体实施时,所述芯片的工作模式还可以包括擦除模式,在芯片的复位执行情况异常时,通过外部输入信号包括的外部工作控制指令,控制所述芯片在擦除模式下启动并运行相关的工作程序。
具体地,所述外部工作控制指令还可以为第三外部工作控制指令,若外部工作控制指令可以直接被芯片内部用于管理工作模式和芯片启动的模块识别,则通过第三外部工作控制指令,将CPU中的矢量地址寄存器的地址信息修改为第三工作地址信息,并将芯片的工作模式换到擦除模式,从而使得CPU的工作程序从第三工作地址开始执行,以执行擦除程序。
若外部工作控制指令无法直接被芯片内部用于管理工作模式和芯片启动的模块识别,则基于第三外部工作控制指令生成相应的第三工作模式标识信号,并基于所述第三工作模式标识信号,将CPU中的矢量地址寄存器的地址信息修改为第三工作地址信息,并将芯片的工作模式换到擦除模式,从而使得CPU的工作程序从第三工作地址开始执行,以执行擦除程序。
其中,擦除程序的擦除对象可根据外部输入信号中的地址信息决定,例如,当所述芯片在擦除模式时,外部输入信号中的地址信息指示的擦除对象为闪存(Flash Memory),则在运行擦除工作程序时,可以对闪存进行擦除操作,等到擦除操作结束后,可基于外部输入信号中包含的操作信息和数据信息,对闪存执行写操作,将数据信息写入闪存中。可以理解的是,擦除对象可根据具体需求进行选取,本说明书对擦除对象不做具体限制。
进一步地,为了避免时序错乱,当所述芯片处于所述擦除模式时,在完成擦除工作程序之前,禁止对所述芯片执行复位流程。在具体实施中,复位流程相关程序的逻辑错误也可使所述芯片的复位执行情况异常,因而可以通过擦除工作程序,对存储复位流程相关程序的存储单元进行擦除和写入,从而改正复位流程相关程序的逻辑错误。
并且,当所述芯片在所述擦除模式下完成擦除工作程序后,通过启动复位流程并检测所述芯片的复位执行情况,可以验证擦除工作程序的逻辑错误是否已经改正。换而言之,除了可以在所述芯片接入电源时启动复位流程,启动复位流程的时机还可以为:所述芯片在所述擦除模式下完成擦除工作程序。
在具体实施中,可根据实际情况设置停止执行所述异常控制流程的方式,例如,可通过指令方式停止执行所述异常控制流程,具体而言,当芯片产生停止指令后,响应于停止指令,停止执行所述异常控制流程。
在具体实施中,当采用基于外部工作控制指令指示的工作模式生成相应的工作模式标识信号,以控制所述芯片在指定的工作模式下启动并运行相关的工作程序的方案时,可以将所述工作模式标识信号作为触发异常跳转条件的基准,从而在复位执行情况存在异常时,通过工作模式标识信号,直接触发预设的异常跳转条件,从而将复位流程跳转至控制所述芯片在指定的工作模式下启动并运行相关的工作程序的步骤。
具体而言,所述对芯片执行复位流程可以包括:生成所述复位启动信号,并响应于所述复位启动信号,对所述芯片执行初始化操作,并且,在初始化操作成功后生成复位成功信号,以及,基于内部工作控制指令或工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。其中,所述内部工作控制指令由芯片内部产生,所述工作模式标识信号基于所述外部工作控制指令生成;所述工作模式由所述内部工作控制指令或者所述工作模式标识信号决定。
由此,若初始化操作顺利执行,则在初始化操作成功后可以生成复位成功信号,基于复位成功信号可以确定所述芯片的复位执行情况正常,从而不执行异常控制流程。在芯片内部产生内部工作控制指令后,基于内部工作控制指令控制所述芯片在指定的工作模式下启动并运行相关的工作程序。其中,内部工作控制指令可以通过芯片内部的CPU生成。
若初始化操作未能顺利执行,则复位流程停滞,无法生成复位成功信号,而在第一预设时长内未收到所述芯片的复位成功信号后,确定所述芯片的复位执行情况存在异常,执行异常控制流程,并基于外部工作控制指令指示的工作模式生成相应的工作模式标识信号,触发预设的异常跳转条件,跳过存在异常的初始化操作,直接控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
在实际应用中,芯片复位时,芯片内部存储的用于控制模拟电路工作的数据信息可能存在误差,从而使得芯片内部的模拟电路上电后未能处于理想的工作状态。为此,所述初始化操作可以包括调校初始化操作,从而在对芯片执行复位流程时,可对所述芯片执行调校初始化操作,并在所述调校初始化操作成功后产生调校初始化成功信号,否则产生调校初始化失败信号,其中,所述调校初始化操作用于对所述芯片存储的原始数据进行校验和分发。由此,可以确保芯片内用于控制模拟电路工作的数据信息的准确性。
在一可选示例中,执行调校初始化操作可以包括:按照模拟电路的操作时序,依次遍历eFuse(一次性可编程存储器)的全部有效地址,将存储在eFuse内的数据信息读出,其中,数据信息可以包括芯片的配置数据、模拟电路的校准值(即trim值),并且,eFuse中连续的2个地址空间存储的数据信息互为反数据,即其中一个地址空间存储原始的数据信息,另一个地址空间存储原始的数据信息的反数据(即各位取反)。然后,将从eFuse读出的连续2个地址空间的数据信息做正反校验。将通过正反校验后的数据信息按照地址进行译码,将数据信息分发锁存到与模拟电路连接的配置寄存器,在eFuse的数据信息分发完成后,生成调校初始化成功信号。
在实际应用中,芯片复位时可能面临着各种外部攻击风险,芯片内部的敏感信息存在被窃听的风险,从而在信息安全要求比较高的应用场景下,无法满足芯片的安全性需求。为此,所述初始化操作包括上电自检测初始化操作,从而在对芯片执行复位流程时,可对所述芯片执行上电自检测初始化操作,并在所述上电自检测初始化操作成功后生成上电自检测初始化成功信号,否则生成上电自检测初始化失败信号,其中,所述上电自检测初始化操作用于对所述芯片的工作环境进行检测。由此,可以确保芯片工作环境的可靠性。
可以理解的是,根据实际需求,上电自检测初始化操作可以是对模拟电路进行自检测,也可以对逻辑电路进行自检测。本说明书对上电自检测初始化操作的具体内容做限制。
在一可选示例中,执行上电自检测初始化操作可以包括:执行检测器自检初始化子操作和执行存储器自检初始化子操作,并在生成检测器自检通过信号和存储器自检通过信号后,生成上电自检测初始化成功信号,否则生成上电自检测初始化失败信号。
其中,执行检测器自检初始化子操作可以包括:启动电压检测器(VoltageDetector,VD)进行电压自检测,以及启动温度检测器(temperature Detector,TD),进行温度自检,若电压检测器的电压自检测结果和温度检测器的温度自检测结果均为通过,则生成检测器自检通过信号,否则生成检测器自检失败信号。执行存储器自检初始化子操作可以包括:读取存储器中所有地址的数据,并进行哈希(hash)运算,将求出的摘要值并和预设的标准值进行比较,若比较结果为相同,则生成存储器自检通过信号,否则生成存储器自检失败信号。
在具体实施中,当调校初始化操作和上电自检测初始化操作中至少一个产生失败信号,即调校初始化操作和上电自检测初始化操作中至少一个初始化失败,则可以重新对芯片执行复位流程,即再次生成所述复位启动信号,并响应于所述复位启动信号,对所述芯片执行初始化操作。从而能够在发生初始化失败时,阻止复位流程继续执行,并通过重新对芯片执行复位流程跳出异常的初始化操作,增加芯片成功启动的概率。
在具体实施中,还可以根据实际情况和需求,对芯片进行其他的初始化操作,例如,所述对所述芯片执行初始化操作,还可以包括以下至少一种:
(1)执行稳压初始化操作,以启动所述芯片的稳压功能,具体地,可以对芯片中的稳压模块进行操作,在芯片上电后,稳压模块处于低功耗模式,在对所述芯片执行初始化操作时,可以控制稳压模块切换到工作模式。当稳压模块进入工作模式后,稳压模块输出稳压初始化成功信号,否则输出稳压初始化失败信号。其中,稳压模块可以包括低压差线性稳压器(Low dropout regulator,LDO)。
(2)执行时钟处理初始化操作,以在所述芯片内部产生时钟信号,具体地,对芯片中的时钟处理模块进行初始化操作,控制时钟处理模块启动,所述时钟处理模块在产生时钟信号后,生成时钟初始化成功信号,否则输出时钟初始化失败信号。其中,时钟处理模块可以包括锁相回路(Phase-Locked Loop,PLL)。
(3)执行时钟控制初始化操作,以启动所述芯片内部的数字电路,具体地,对芯片中的时钟控制模块进行初始化操作,控制时钟控制模块生成数字电路启动信号,以启动数字电路模块,在时钟控制模块输出数字电路启动信号后,时钟控制模块输出时钟控制初始化成功信号,否则输出时钟控制初始化失败信号。
可以理解的是,可根据具体需求设置初始化操作的具体内容,本说明书实施例对初始化操作的具体内容不做限制。
在具体实施中,在芯片上电后,上升过快的负载电流会冲击损坏芯片内部的电路模块,降低芯片内部电路模块的使用寿命,不稳定的电流可能使电路模块无法正常工作,甚至导致芯片处于死锁状态。为此,可以采用状态跳转的方式实现复位流程。
具体地,在所述响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后生成复位成功信号,以及,基于内部工作控制指令或工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序之前,可以执行第二状态跳转子程序,以在初始化状态下对所述芯片执行初始化操作,以及在工作状态下控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作状态由所述初始化状态在初始化操作成功后跳转进入或者,所述工作状态由所述工作模式标识信号触发进入。
需要说明的是,可根据实际采取的初始化操作情况,初始化状态可包括一个或多个初始化子状态,以在各初始化子状态下,判断各初始化操作是否成功。并且,可以根据实际需求,确定各初始化子状态之间的跳转关系。
此外,根据芯片的工作模式,所述工作状态可以包括Boot状态和用户状态,进一步地,所述工作状态还可以包括擦除状态。并且,在初始化操作成功后,可基于内部工作控制指令,确定进入Boot状态、用户状态还是擦除状态,以及在初始化操作失败后,即复位执行情况存在异常后,可基于外部工作控制指令。其中,
由此,在第二状态跳转子程序中,在上一个状态已完成的情况下才会跳转到下一个状态,因而可以确保每个初始化操作均建立在前一初始化操作成功之后,确保所有的初始化操作都稳定有序地进行,从而使得芯片中的负载电流呈现缓慢变化,确保电流纹波较小,从而增加芯片内部电路模块的使用寿命,降低芯片处于死锁状态的概率。
在一可选示例中,如图4所示,为本说明书实施例中一种第二状态跳转子程序的流程图,参考图4,所述初始化状态可以包括:调校初始化子状态和上电自检测初始化子状态,其中,所述执行第二状态跳转子程序可以包括:
C1)在所述调校初始化子状态下,若所述调校初始化操作成功,则跳转至所述上电自检测初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
C2)在所述上电自检测初始化子状态下,若所述上电自检初始化操作成功,则跳转至所述工作状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
C3)在所述工作状态下,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。在另一可选示例中,如图5所示,为本说明书实施例中另一种第二状态跳转子程序的流程图,参考图5,所述初始化状态可以包括:调校初始化子状态、稳压初始化子状态、上电自检测初始化子状态、时钟处理初始化子状态以及时钟控制初始化子状态;所述执行第二状态跳转子程序包括:
D1)在所述调校初始化子状态下,若所述调校初始化操作成功,则跳转至所述稳压初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
D2)在所述稳压初始化子状态下,若所述稳压初始化操作成功,则跳转至所述上电自检测初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
D3)在所述上电自检测初始化子状态下,若所述上电自检初始化操作成功,则跳转至所述时钟处理初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
D4)在所述时钟处理初始化子状态下,若所述时钟处理模块初始化操作成功,则跳转至所述时钟控制初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
D5)在所述时钟控制初始化子状态下,若所述时钟控制初始化操作成功,则跳转至所述工作状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
D6)在所述工作状态下,基于内部工作控制指令或工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
由上述实施例可知,初始化操作按序进行,从而使得芯片中的负载电流呈现缓慢变化,确保电流纹波较小,从而增加芯片内部电路模块的使用寿命,降低芯片处于死锁状态的概率。
在具体实施中,为了确保在对芯片执行复位流程时,芯片的电源电压达到稳定状态,可以在对所述芯片执行初始化操作之前,进行延迟操作,在确定等待时长符合预设的等待条件后,对所述芯片执行初始化操作。进一步地,在状态跳转的方式实现复位流程时,所述执行第二状态跳转子程序还包括:在等待状态下,若等待时长符合预设的等待条件后,跳转至所述初始化状态。
在具体实施中,在执行所述复位流程之前,还可以包括:检测所述芯片的电源电压情况,并在确定所述芯片的电源电压正常后,生成上电信号,以启动所述复位流程。其中,可以将电源电压和电压阈值进行比较,在电源电压超过电压阈值后,可以认为所述芯片的电源电压正常。由此,可以确保复位流程在正产的电源电压下执行,从而提高稳定性。
本说明书还提供了与上述启动控制方法对应的启动控制装置,以下参照附图,通过具体实施例进行详细介绍。需要知道的是,下文描述的启动控制装置可以认为是为实现本说明书提供的启动控制方法所需设置的功能模块;下文描述的启动控制装置的内容,可与上文描述的启动控制方法的内容相互对应参照。
本说明书实施例还提供了一种启动控制装置,参照图6所示,为本说明书实施例中一种启动控制装置的结构示意图,所述启动控制装置M1可包括:第一控制模块M11;所述第一控制模块M11可以包括复位检测单元M111和异常控制单元M112,其中:
所述复位检测单元M111,适于响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况;
所述异常控制单元M112,适于在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述异常控制单元M112可以包括:传输子单元M112-1,适于获取外部输入信号;异常控制子单元M112-2,适于响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式至少由所述外部工作控制指令决定。
需要说明的是,所述异常控制单元在确定所述芯片的复位执行情况存在异常后执行异常控制流程的具体过程,可参考上述相关部分的描述,在此不再赘述。
在具体实施中,继续参考图6,所述异常控制子单元M112-2,还适于响应于所述外部输入信号包括的外部访问指令,执行访问操作,其中,所述访问操作至少由所述外部访问指令决定。
需要说明的是,所述异常控制单元响应于所述外部输入信号包括的外部访问指令执行访问操作的具体过程,可参考上述相关部分的描述,在此不再赘述。
在具体实施中,继续参考图6,所述异常控制单元M112还可以包括:状态跳转子单元M112-3,位于所述传输子单元M112-1和所述异常控制子单元M112-2之间,其中:
所述状态跳转子单元M112-3,适于执行第一状态跳转子程序,以控制所述异常控制子单元M112-2对所述外部输入信号包括的指令进行响应,其中,不同的第一状态下的第一跳转条件不同,并在接收的外部输入信号的信息符合相应的第一跳转条件后进行跳转。
需要说明的是,所述状态跳转子单元执行第一状态跳转子程序的具体过程,可参考上述相关部分的描述,在此不再赘述。
在具体实施中,继续参考图6,所述工作模式可以包括擦除模式;所述异常控制子单元M112-2适于响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在擦除模式下启动并运行擦除工作程序。
需要说明的是,所述芯片还可以包括其他工作模式,如Boot模式、用户模式等,所述芯片处于各工作模式下的具体内容可参考上述相关部分的描述,在此不再赘述。
在具体实施中,继续参考图6,所述第一控制模块M11还可以包括:停止单元M113,适于响应于停止指令,控制所述异常控制单元停止执行所述异常控制流程。
其中,根据实际情况,所述停止指令可以是由芯片内部发出(如由CPU发出),也可以是通过其他外部的输出设备发出,并直接由停止单元接收,还可以是通过其他外部的输出设备发出,通过传输子单元传输至停止单元。本说明书对停止单元接收停止指令的方式不做具体限制。
需要说明的是,第一控制模块所包含的各单元和各子单元均可以采用相应的硬件电路或器件、模组等进行实施,从而实现各单元和子单元的功能。本说明书对此不做具体限制。
例如,如图7所示,所述第一控制模块M11中的复位检测单元M111可以包括计数器。传输子单元M112-1可以包括外部信号采样电路。异常控制子单元M112-2可以包括译码电路和多个寄存器(即图7中的第一寄存器、第二寄存器和第三寄存器)。状态跳转子单元M112-3可以包括状态机子单元。
具体地,通过计数器计算未收到所述芯片的复位成功信号的时长,从而判断所述芯片的复位执行情况是否存在异常,并在计数器计算的时长超过第一预设时长后,启动状态跳转子单元M112-3中的状态机子单元和传输子单元M112-1中的外部信号采样电路。
状态跳转子单元M112-3中的状态机子单元执行第一状态跳转子程序,在传输子单元M112-1中的外部信号采样电路获取到外部输入信号后,若外部输入信号中包括的信息符合相应的第一跳转条件后,状态跳转子单元M112-3中的状态机子单元进行状态跳转,使得异常控制子单元M112-2中的译码电路可以对外部输入信号中的地址信息进行译码,在多个寄存器中找到地址信息对应的寄存器(该地址信息对应的寄存器可以是异常控制子单元M112-2中的第一寄存器至第三寄存器中任意一个,或者该地址信息对应的寄存器可以是芯片中的寄存器),并基于外部输入信号中的操作信息,向指定的地址信息对应的寄存器进行读取操作或写入操作,从而对所述外部输入信号包括的指令进行响。
进一步地,在一可选示例中,第一寄存器可以存储由第一外部工作控制指令生成的第一工作模式标识信号,以使芯片进入Boot模式并运行执行Boot程序;第二寄存器可以存储由第二外部工作控制指令生成的第二工作模式标识信号,以使芯片进入用户模式并运行执行用户程序,第三寄存器可以存储由第三外部工作控制指令生成的第三工作模式标识信号,以使芯片进入擦除模式并运行执行擦除程序。
可以理解的是,对所述外部输入信号包括的指令进行响的具体过程可参考上述相关部分的描述,在此不再赘述。
在具体实施中,当第一控制模块采用基于外部工作控制指令指示的工作模式生成相应的工作模式标识信号,以控制所述芯片在指定的工作模式下启动并运行相关的工作程序的方案时,可以将所述工作模式标识信号作为触发异常跳转条件的基准,从而在第二控制模块执行复位流程发生异常时,通过工作模式标识信号,直接触发预设的异常跳转条件,从而将第二控制模块的复位流程跳转至控制所述芯片在指定的工作模式下启动并运行相关的工作程序的步骤。
具体地,如图8所示,为本说明书实施例中另一种启动控制装置的结构示意图,所述启动控制装置M2可以包括:第一控制模块M21和第二控制模块M22,所述第二控制模块M22与所述第一控制模块M21连接;其中:
所述第一控制模块M21可参考上述相关部分的描述,在此不再赘述。
所述第二控制模块M22,适于对所述芯片执行复位流程,其中,对所述芯片执行的复位流程包括:生成所述复位启动信号,以及,响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后基于内部工作控制指令,或者,响应于所述第一控制模块M21的控制,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式由所述内部工作控制指令或者所述第一控制模块M21决定。
需要说明的是,所述第二控制模块对所述芯片执行复位流程的具体过程可参考上述相关部分的描述,在此不再赘述。
在具体实施中,继续参考图8,所述第二控制模块M22可以包括:信号生成单元M221和复位控制单元M222,其中:
所述信号生成单元M221,适于生成所述复位启动信号,并在所述复位控制单元M222启动成功后生成初始化启动信号,以及,在初始化操作成功后基于所述内部工作控制指令,或者基于所述第一控制模块M21的控制,生成工作模式启动信号;
所述复位控制单元M222,适于响应于所述复位启动信号,进行启动,并基于所述信号生成单元M221生成的初始化启动信号,对所述芯片执行初始化操作,以及,响应于所述工作模式启动信号或者基于所述第一控制模块M21的控制,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
需要说明的是,所述复位控制单元对所述芯片执行初始化操作的具体过程可参考上述相关部分的描述,在此不再赘述。
在具体实施中,继续参考图8,所述复位控制单元M222可以包括:状态控制子单元M222-1和操作子单元M222-2,其中:
所述状态控制子单元M222-1,适于响应于所述复位启动信号,执行第二状态跳转子程序,以在初始化状态下生成初始化操作使能信号,以及,在工作状态下响应于所述工作模式启动信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作状态由所述初始化状态在初始化操作成功后跳转进入,或者,所述工作状态在所述第一控制模块M21的控制下触发进入,所述初始化操作使能信号发送至所述操作子单元或者所述芯片内部的电路模块;
所述操作子单元M222-2,适于在接收到所述信号生成模块M221的初始化启动信号和所述状态控制子单元M222-1生成的初始化操作使能信号后,对所述芯片执行初始化操作。
需要说明的是,所述状态控制子单元进行状态跳转的具体过程和操作子单元进行初始化操作的具体过程可参考上述相关部分的描述,在此不再赘述。
在一可选示例中,所述操作子单元可以包括以下至少一种:
调校子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片存储的原始数据进行校验和分发;
上电自检测子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片的工作环境进行检测;
时钟控制子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,启动所述芯片内部的数字电路。
在具体实施中,如图8所示,所述启动控制装置M2还可以包括:电源检测模块M23,适于检测所述芯片的电源电压情况,并在确定所述芯片的电源电压正常后,生成上电正常信号,以启动所述第二控制模块M22的复位流程。
需要说明的是,在具体实施中,第一控制模块所包含的各单元和各子单元均可以采用相应的硬件电路或器件、模组等进行实施,从而实现各单元和子单元的功能。本说明书对此不做具体限制。例如,信号生成单元可以包括多个寄存器和逻辑门电路,状态控制子单元可以包括状态机子单元;操作子单元可以包括调校电路、自检测电路和时钟控制电路,进一步地,调校电路可以包括eFuse读写电路、校验电路和译码电路;所述电源检测模块可以包括嗅探器电路。本说明书实施例对此不做具体限制。
为了便于理解和实施,以下通过具体应用场景,对本说明书的方案进行详细说明。在一可选示例中,如图9至图12,所述启动控制装置M3(图中未示出)可以包括:第一控制模块non_std,电源检测模块pwr_detect、和第二控制模块(图中未标注),所述第二控制模块包括:状态控制子单元control、信号生成单元gen_rst、调校子单元trim,上电自检测子单元self check和时钟控制子单元CKMU。
1)电源检测模块pwr_detect通过嗅探器电路,对芯片的电源VDD进行检测,待电源VDD达到预设的电压阈值时,产生上电正常信号PwrOK。
2)信号生成单元gen_rst与所述电源检测模块pwr_detect相连,信号生成单元gen_rst收到上电正常信号PwrOK后,释放复位启动信号rst_1_n。
3)状态控制子单元control与信号生成单元gen_rst相连,用复位启动信号rst_1_n作为复位信号,待复位启动信号rst_1_n释放,从0开始对时钟进行计数,待计数器计时到第一预设时长时产生状态控制子单元启动信号normal。
4)待状态控制子单元启动信号normal置高,状态控制子单元control状态机启动运行。信号生成单元gen_rst与状态控制子单元control相连,收到状态控制子单元启动信号后,释放初始化启动信号rst_2_n。
5)调校子单元trim用初始化启动信号rst_2_n作为复位信号,待调校初始化操作完成之后,产生调校初始化成功信号trim_done。其中,调校初始化操作可参考上述相关描述,在此不再赘述。
6)信号生成单元gen_rst与调校子单元trim相连,收到调校初始化成功信号trim_done后,释放初始化启动信号rst_3_n。
7)上电自检测子单元self check用初始化启动信号rst_3_n作为复位信号,进行自检测初始化操作。若自检测初始化操作完成,则产生上电自检测初始化成功信号self_check_suces,否则产生上电自检测初始化失败信号self_check_fail。其中,上电自检测初始化操作可参考上述相关描述,在此不再赘述
8)信号生成单元gen_rst与上电自检测子单元self check相连,待上电自检测初始化成功信号self_check_suces信号置高,释放初始化启动信号rst_4_n。
9)时钟控制子单元CKMU用初始化启动信号rst_4_n作为复位信号,待初始化启动信号rst_4_n置高,进行时钟控制初始化操作,若自检测初始化操作完成,则产生时钟控制初始化成功信号clock_open_end。
10)信号生成单元gen_rst与时钟控制子单元CKMU相连,待时钟控制初始化成功信号clock_open_end信号置高,释放初始化完成信号rst_5_n。
11)第一控制模块non_std用复位启动信号rst_1_n作为复位信号包括两个输入输出引脚,其中一个输入输出引脚灌入外部时钟脉冲信号,另一个输入输出引脚灌入外部输入信号。利用第一个输入输出引脚灌入的外部时钟对第二个输入输出引脚的输入信号进行采样,当采样到指定的指令时,产生不同的工作模式标识信号。例如,当检测到第一外部工作控制指令时,会产生第一工作模式标识信号hard_flag;检测到第二外部工作控制指令时,会产生第二工作模式标识信号soft_flag,具体可参考上述相关部分的描述,在此不再赘述。
12)信号生成单元gen_rst与第一控制模块non_std相连。信号生成单元gen_rst接收到第一工作模式标识信号hard_flag有效时,产生第一中间标识信号non_std_hard_rst_n。信号生成单元gen_rst接收到第二工作模式标识信号soft_flag有效,产生第二中间标识信号non_std_soft_rst_n。信号生成单元gen_rst接收到第三工作模式标识信号erase_flag有效时,表示所述芯片处于所述擦除模式时,在写操作完成之前,信号生成单元gen_rst无法释放复位启动信号rst_1_n,从而禁止对芯片执行复位流程。
为了进一步了解信号生成单元gen_rst的内部逻辑,以下对信号生成单元gen_rst进行详细描述。
第三工作模式标识信号erase_flag与上电自检测初始化失败信号self_check_fail进行“逻辑异或”操作后再进行“逻辑异非”操作,从而得到第三中间标识信号abnormal_flag_n。第三中间标识信号abnormal_flag_n与外部输入信号ext_rst_n进行“逻辑或”操作后,产生强制停止信号force_rst_n,强制停止信号force_rst_n为低电平复位,高电平释放。在强制停止信号force_rst_n为低电平时,信号生成单元gen_rst无法释放复位启动信号rst_1_n。
信号生成单元gen_rst信号生成单元gen_rst将上电正常信号PwrOK同强制停止信号force_rst_n进行“逻辑与”操作,产生复位启动信号rst_1_n。其中,复位启动信号rst_1_n,为低电平复位,高电平释放。
信号生成单元gen_rst将状态控制子单元启动信号normal同复位启动信号rst_1_n进行“逻辑与”操作,产生初始化启动信号rst_2_n。其中,初始化启动信号rst_2_n为低电平复位,高电平释放。
信号生成单元gen_rst将调校初始化成功信号trim_done与初始化启动信号rst_2_n进行“逻辑与”操作,产生初始化启动信号rst_3_n。其中,初始化启动信号rst_3_n为低电平复位,高电平释放。
信号生成单元gen_rst将上电自检测初始化成功信号self_check_suces与初始化启动信号rst_3_n进行“逻辑与”操作,产生初始化启动信号rst_4_n。其中,初始化启动信号rst_4_n,为低电平复位,高电平释放。
信号生成单元gen_rst将时钟控制初始化成功信号clock_open_end与初始化启动信号rst_4_n进行“逻辑与”操作,产生初始化完成信号rst_5_n信号。复位模块产生复位信号rst_5_n,为低电平复位,高电平释放。
信号生成单元gen_rst对第一工作模式标识信号hard_flag与初始化完成信号rst_5_n进行“逻辑异或”操作,产生第一中间标识信号non_std_hard_rst_n。其中,第一中间标识信号non_std_hard_rst_n为低电平复位,高电平释放。
信号生成单元gen_rst将第二工作模式标识信号soft_flag与初始化完成信号rst_5_n进行“逻辑异或”操作,产生第二中间标识信号non_std_soft_rst_n。第二中间标识信号non_std_soft_rst_n为低电平复位,高电平释放。
信号生成单元gen_rst将第一中间标识信号non_std_hard_rst_n和第一内部工作控制命令cpu_hard_rst_override进行“逻辑或”操作,生成第一工作模式启动信号hard_rst_n。第一工作模式启动信号hard_rst_n为低电平复位,高电平释放
信号生成单元gen_rst将第二中间标识信号non_std_soft_rst_n和第二内部工作控制命令cpu_soft_rst_override进行“逻辑或”操作,生成第二工作模式启动信号soft_rst_n。第二工作模式启动信号soft_rst_n为低电平复位,高电平释放。
信号生成单元gen_rst将第一工作模式启动信号hard_rst_n和第二工作模式启动信号soft_rst_n进行“逻辑或”操作,生成系统时钟信号sys_rst_n。系统时钟信号sys_rst_n为低电平复位,高电平释放。信号生成单元gen_rst的系统时钟信号sys_rst_n被时钟同步化处理分发给各个电路模块使用。
为了进一步了解状态控制子单元control的状态跳转,以下对状态控制子单元control的状态跳转进行详细描述。
初始状态IDLE:该状态为状态控制子单元control起始默认的状态,在该状态整个芯片处于不工作状态,即所有的模拟电路模块处于休眠状态,所有的数字电路模块处于时钟关闭的状态。在该状态下,计数器会做一定的延时,等到计数器达到时长时,会产生状态控制子单元启动信号normal信号,然后状态跳转到调教初始化子状态S0;在基于第一中间标识信号non_std_hard_rst_n产生的第一工作模式启动信号hard_rst_n有效(即高电平)时,状态跳转到Boot状态;在基于第二中间标识信号non_std_soft_rst_n产生的第二工作模式启动信号soft_rst_n有效时,状态跳转到用户状态;第三工作模式标识信号erase_flag有效,状态跳转到擦除状态。
调教初始化子状态S0:在该状态下,状态控制子单元control生成初始化操作使能信号trim_enbale信号,启动调校子单元trim进行调校初始化操作。调校初始化操作完成后,调校子单元trim产生调校初始化成功信号trim_done。状态跳转到进入状态S1;在基于第一中间标识信号non_std_hard_rst_n产生的第一工作模式启动信号hard_rst_n有效(即高电平)时,状态跳转到Boot状态;在基于第二中间标识信号non_std_soft_rst_n产生的第二工作模式启动信号soft_rst_n有效时,状态跳转到用户状态;第三工作模式标识信号erase_flag有效,状态跳转到擦除状态。
上电自检测初始化子状态S2:在该状态下,状态控制子单元control产生初始化操作使能信号self_check_enable信号,启动上电自检测子单元self check进行自检测初始化操作。自检测初始化操作完成后,上电自检测子单元self check产生上电自检测初始化成功信号self_check_suces。状态跳转到时钟控制初始化子状态CLOCK_OPEN;在基于第一中间标识信号non_std_hard_rst_n产生的第一工作模式启动信号hard_rst_n有效(即高电平)时,状态跳转到Boot状态;在基于第二中间标识信号non_std_soft_rst_n产生的第二工作模式启动信号soft_rst_n有效时,状态跳转到用户状态;第三工作模式标识信号erase_flag有效,状态跳转到擦除状态。
时钟控制初始化子状态CLOCK_OPEN:状在该状态下,会产生时钟控制启动信号clock_open,启动时钟控制子单元CKMU进行时钟控制初始化操作,在完成时钟控制初始化操作后,生成时钟控制初始化成功信号clock_open_end。状态跳转到BOOT;在基于第一中间标识信号non_std_hard_rst_n产生的第一工作模式启动信号hard_rst_n有效(即高电平)时,状态跳转到Boot状态;在基于第二中间标识信号non_std_soft_rst_n产生的第二工作模式启动信号soft_rst_n有效时,状态跳转到用户状态;第三工作模式标识信号erase_flag有效,状态跳转到擦除状态。
Boot状态:当芯片处于Boot状态,CPU执行boot程序;当boot程序执行完成,cpu会产生第二内部工作控制命令cpu_soft_rst_override,最终引起第二工作模式启动信号soft_rst_n有效,状态跳到用户状态;在第三工作模式标识信号erase_flag有效,状态跳转到擦除状态。
用户状态:当芯片处于用户状态,CPU执行用户程序。CPU在执行用户程序时可以通过产生第一内部工作控制命令cpu_hard_rst_override引起第一工作模式启动信号hard_rst_n有效,状态跳转到Boot状态在第三工作模式标识信号erase_flag有效,状态跳转到擦除状态。
擦除状态:在当前状态下,可以进行擦除操作和写操作,完成写操作后可产生擦写成功信号erase_done,重新跳转到调教初始化子状S0。
为了进一步了解第一控制模块non_std跳转流程,以下对第一控制模块non_std进行详细描述。
第一控制模块non_std工作在复位启动信号rst_1_n下,通过其内部的计数器对上电时间进行计数,当上电时间超过第一预设时长,第一控制模块non_std开始进行状态跳转。
初始状态IDLE:第一控制模块non_std进行至少X(X为正整数)个周期的线复位。线复位的方法为:通过一个输入输出管脚输入时钟信号,另一个输入输出管脚连续输入X个时钟周期的低电平即可完成线复位。线复位完成后,状态由初始状态IDLE态跳转到开始状态START_CODE。
开始状态START_CODE:外部可以发送一个高电平的起始位,状态机开始状态START_CODE跳转到进入状态ENTER_CODE。
进入状态ENTER_CODE:外部可以发送n(n为正整数)位验证码信息;从而由进入状态ENTER_CODE跳转到地址状态ADDR。
地址状态ADDR:外部可以发送m(m为正整数)位寄存器地址位,从而确定寄存器的位置;m位地址发送完毕,状态由地址状态ADDR态跳转到操作状态RW。
操作状态RW:外部可以发送p(p为正整数)位读写标志位;例如,可以发送1位读写标志位,当写标志位包含数字“1”时确定为写入操作,状态跳转到写入操作状态RECEIVE_DATA;当写标志位包含数字“0”时确定为读取操作。状态跳转到读取操作状态TRANSMIT_DATA。
写入操作状态RECEIVE_DATA:如果是写寄存器,外部可以发送q(q为正整数)位寄存器数据位;发送完成后,状态由写入操作状态RECEIVE_DATA态跳转到地址状态ADDR。
读取操作状态TRANSMIT_DATA:如果是读寄存器,外部可以接收q位寄存器数据位。发送完成后,状态由读取操作状态TRANSMIT_DATA跳转到地址状态ADDR。
本说明书实施例还提供了一种芯片,包括:本说明书上述任一实施例所述的启动控制装置。
本说明书实施例还提供了一种计算机设备,包括主板和输入输出装置,所述主板装配有上述任一实施例所述的芯片,所述输入输出装置与所述主板连接。
其中,所述计算机设备可以为手机等手持终端、平板电脑、个人台式电脑等。
可以理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含的包括一个或者更多个该特征。而且,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (27)

1.一种启动控制方法,其特征在于,包括:
响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况;
在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述执行异常控制流程包括:
获取外部输入信号;
响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式至少由所述外部工作控制指令决定。
2.根据权利要求1所述的启动控制方法,其特征在于,所述执行异常控制流程还包括:
响应于所述外部输入信号包括的外部访问指令,则执行访问操作,其中,所述访问操作至少由所述外部访问指令决定。
3.根据权利要求2所述的启动控制方法,其特征在于,所述执行异常控制流程还包括:
执行第一状态跳转子程序,其中,多个第一状态下设有不同的第一跳转条件,各所述第一状态在获取的外部输入信号的信息符合相应的第一跳转条件后进行跳转,以对所述外部输入信号包括的指令进行响应。
4.根据权利要求3所述的启动控制方法,其特征在于,所述多个第一状态包括:地址状态、操作状态和访问状态;所述执行第一状态跳转子程序,包括:
在所述地址状态下,若获取的外部输入信号包括地址信息,则跳转至所述操作状态;
在所述操作状态下,若获取的外部输入信号包括操作信息,则跳转至所述访问状态;
所述访问状态,基于所述外部输入信号包括的地址信息和操作信息,执行访问操作,并在访问操作完成后跳转至所述地址状态。
5.根据权利要求4所述的启动控制方法,其特征在于,所述多个第一状态还包括:初始状态、开始状态和进入状态;所述执行第一状态跳转子程序,还包括:
在所述初始状态下,若获取的外部输入信号包括等待信息且所述等待信息的持续时长符合预设的等待条件,则跳转至所述开始状态;
在所述开始状态下,若获取的外部输入信号包括启动信息,则跳转至所述进入状态;
在所述进入状态下,若获取的外部输入信号包括验证码信息且所述验证码信息符合预设的验证条件,则跳转至所述地址状态。
6.根据权利要求1至5任一项所述的启动控制方法,其特征在于,所述响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序包括:
响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在擦除模式下启动并运行擦除工作程序。
7.根据权利要求6所述的启动控制方法,其特征在于,在所述控制所述芯片在擦除模式下启动并运行擦除工作程序之后,还包括以下至少一个步骤:
在完成擦除工作程序之前,禁止对所述芯片执行复位流程;
在完成擦除工作程序之后,启动复位流程。
8.根据权利要求1至5任一项所述的启动控制方法,其特征在于,还包括:
响应于停止指令,停止执行所述异常控制流程。
9.根据权利要求1至5任一项所述的启动控制方法,其特征在于,所述检测所述芯片的复位执行情况,包括:
计算所述复位流程的执行时长,并基于所述复位流程的执行时长判断所述芯片的复位执行情况是否存在异常。
10.根据权利要求1至5任一项所述的启动控制方法,其特征在于,所述对芯片执行复位流程,包括:
生成所述复位启动信号;
响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后生成复位成功信号,以及,基于内部工作控制指令或工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序;
其中,所述初始化操作包括调校初始化操作和上电自检测初始化操作中至少一种,所述调校初始化操作用于对所述芯片存储的原始数据进行校验和分发,所述上电自检测初始化操作用于对所述芯片的工作环境进行检测;所述内部工作控制指令由芯片内部产生,所述工作模式标识信号基于所述外部工作控制指令生成;所述工作模式由所述内部工作控制指令或者所述工作模式标识信号决定。
11.根据权利要求10所述的启动控制方法,其特征在于,在所述响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后生成复位成功信号,以及,基于内部工作控制指令或工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序之前,还包括:
执行第二状态跳转子程序,以在初始化状态下对所述芯片执行初始化操作,以及在工作状态下控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作状态由所述初始化状态在初始化操作成功后跳转进入,或者,所述工作状态由所述工作模式标识信号触发进入。
12.根据权利要求11所述的启动控制方法,其特征在于,所述对所述芯片执行初始化操作,还包括以下至少一种:
执行稳压初始化操作,以启动所述芯片的稳压功能;
执行时钟处理初始化操作,以在所述芯片内部产生时钟信号;
执行时钟控制初始化操作,以启动所述芯片内部的数字电路。
13.根据权利要求12所述的启动控制方法,其特征在于,所述初始化状态包括:调校初始化子状态、稳压初始化子状态、上电自检测初始化子状态、时钟处理初始化子状态以及时钟控制初始化子状态;所述执行第二状态跳转子程序包括:
在所述调校初始化子状态下,若所述调校初始化操作成功,则跳转至所述稳压初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述稳压初始化子状态下,若所述稳压初始化操作成功,则跳转至所述上电自检测初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述上电自检测初始化子状态下,若所述上电自检初始化操作成功,则跳转至所述时钟处理初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述时钟处理初始化子状态下,若所述时钟处理模块初始化操作成功,则跳转至所述时钟控制初始化子状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述时钟控制初始化子状态下,若所述时钟控制初始化操作成功,则跳转至所述工作状态,或者,基于接收到所述工作模式标识信号,触发异常跳转条件,跳转至所述工作状态;
在所述工作状态下,基于所述内部工作控制指令或所述工作模式标识信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
14.根据权利要求11所述的启动控制方法,其特征在于,所述执行第二状态跳转子程序还包括:
在等待状态下,若等待时长符合预设的等待条件后,跳转至所述初始化状态。
15.根据权利要求1至5任一项所述的启动控制方法,其特征在于,在执行所述复位流程之前,还包括:检测所述芯片的电源电压情况,并在确定所述芯片的电源电压正常后,生成上电信号,以启动所述复位流程。
16.一种启动控制装置,其特征在于,所述启动控制装置包括:第一控制模块;所述第一控制模块包括复位检测单元和异常控制单元,其中:
所述复位检测单元,适于响应于对芯片执行复位流程时产生的复位启动信号,检测所述芯片的复位执行情况;
所述异常控制单元,适于在确定所述芯片的复位执行情况存在异常后,执行异常控制流程,其中,所述异常控制单元包括:传输子单元,适于获取外部输入信号;异常控制子单元,适于响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式至少由所述外部工作控制指令决定。
17.根据权利要求16所述的启动控制装置,其特征在于,所述异常控制子单元,还适于响应于所述外部输入信号包括的外部访问指令,执行访问操作,其中,所述访问操作至少由所述外部访问指令决定。
18.根据权利要求16所述的启动控制装置,其特征在于,所述异常控制单元还包括:状态跳转子单元,位于所述传输子单元和所述异常控制子单元之间连接,其中:
所述状态跳转子单元,适于执行第一状态跳转子程序,以控制所述异常控制子单元对所述外部输入信号包括的指令进行响应,其中,不同的第一状态下的第一跳转条件不同,并在接收的外部输入信号的信息符合相应的第一跳转条件后进行跳转。
19.根据权利要求16至18任一项所述的启动控制装置,其特征在于,所述异常控制子单元适于响应于所述外部输入信号包括的外部工作控制指令,控制所述芯片在擦除模式下启动并运行擦除工作程序。
20.根据权利要求16至18任一项所述的启动控制装置,其特征在于,所述第一控制模块还包括:停止单元,适于响应于停止指令,控制所述异常控制单元停止执行所述异常控制流程。
21.根据权利要求16至18任一项所述的启动控制装置,其特征在于,所述启动控制装置还包括:第二控制模块,所述第二控制模块与所述第一控制模块连接;其中:
所述第二控制模块,适于对所述芯片执行复位流程,其中,对所述芯片执行的复位流程包括:生成所述复位启动信号,以及,响应于所述复位启动信号,对所述芯片执行初始化操作,并在初始化操作成功后基于内部工作控制指令,或者,响应于所述第一控制模块的控制,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作模式由所述内部工作控制指令或者所述第一控制模块决定。
22.根据权利要求21所述的启动控制装置,其特征在于,所述第二控制模块包括:信号生成单元和复位控制单元,其中:
所述信号生成单元,适于生成所述复位启动信号,并在所述复位控制单元启动成功后生成初始化启动信号,以及,在初始化操作成功后基于所述内部工作控制指令,或者基于所述第一控制模块的控制,生成工作模式启动信号;
所述复位控制单元,适于响应于所述复位启动信号,进行启动,并基于所述信号生成单元生成的初始化启动信号,对所述芯片执行初始化操作,以及,响应于所述工作模式启动信号,或者基于所述第一控制模块的控制,控制所述芯片在指定的工作模式下启动并运行相关的工作程序。
23.根据权利要求22所述的启动控制装置,其特征在于,所述复位控制单元包括:状态控制子单元和操作子单元,其中:
所述状态控制子单元,适于响应于所述复位启动信号,执行第二状态跳转子程序,以在初始化状态下生成初始化操作使能信号,以及,在工作状态下响应于所述工作模式启动信号,控制所述芯片在指定的工作模式下启动并运行相关的工作程序,其中,所述工作状态由所述初始化状态在初始化操作成功后跳转进入,或者,所述工作状态在所述第一控制模块的控制下触发进入,所述初始化操作使能信号发送至所述操作子单元或者所述芯片内部的电路模块;
所述操作子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片执行初始化操作。
24.根据权利要求23所述的启动控制装置,其特征在于,所述操作子单元包括以下至少一种:
调校子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片存储的原始数据进行校验和分发;
上电自检测子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,对所述芯片的工作环境进行检测;
时钟控制子单元,适于在接收到所述信号生成模块的初始化启动信号和所述状态控制子单元生成的初始化操作使能信号后,启动所述芯片内部的数字电路。
25.根据权利要求21所述的启动控制装置,其特征在于,所述启动控制装置还包括:电源检测模块,适于检测所述芯片的电源电压情况,并在确定所述芯片的电源电压正常后,生成上电正常信号,以启动所述第二控制模块的复位流程。
26.一种芯片,其特征在于,包括:权利要求16至25任一项所述的启动控制装置。
27.一种计算机设备,其特征在于,包括主板和输入输出装置,所述主板装配有权利要求26所述的芯片,所述输入输出装置与所述主板连接。
CN202310777683.0A 2023-06-28 2023-06-28 启动控制方法和装置、芯片及其调试系统 Pending CN116755919A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310777683.0A CN116755919A (zh) 2023-06-28 2023-06-28 启动控制方法和装置、芯片及其调试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310777683.0A CN116755919A (zh) 2023-06-28 2023-06-28 启动控制方法和装置、芯片及其调试系统

Publications (1)

Publication Number Publication Date
CN116755919A true CN116755919A (zh) 2023-09-15

Family

ID=87960729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310777683.0A Pending CN116755919A (zh) 2023-06-28 2023-06-28 启动控制方法和装置、芯片及其调试系统

Country Status (1)

Country Link
CN (1) CN116755919A (zh)

Similar Documents

Publication Publication Date Title
US7975178B2 (en) Memory device and system with cyclic, ECC-corrected bootloading operation during voltage bring up
US7234081B2 (en) Memory module with testing logic
US9904591B2 (en) Device, system and method to restrict access to data error information
US7565579B2 (en) Post (power on self test) debug system and method
US6587916B2 (en) Microcomputer with built-in programmable nonvolatile memory
US6336176B1 (en) Memory configuration data protection
US20100250974A1 (en) Power supply management integrated circuit
US8176281B2 (en) Controlling access to an embedded memory of a microcontroller
US20180101304A1 (en) Configuration control system and configuration control method
US20120124441A1 (en) Embedded testing module and testing method thereof
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
US20080016415A1 (en) Evaluation system and method
US7924651B2 (en) Semiconductor storage device and resetting method for a semiconductor storage device
US9910757B2 (en) Semiconductor device, log acquisition method and electronic apparatus
CN112596444A (zh) 电子设备关机控制方法及系统
US10372545B2 (en) Safe reset techniques for microcontroller systems in safety related applications
US9652259B2 (en) Apparatus and method for managing register information in a processing system
US20130290797A1 (en) Non-volatile memory (nvm) reset sequence with built-in read check
US20210255787A1 (en) Method for facilitating a memory system operable in advance during power-up, memory controller therefor, and memory system capable of being operable in advance during power-up
CN111630601B (zh) 用于存储器控制器的安全增强
CN116755919A (zh) 启动控制方法和装置、芯片及其调试系统
US20030169624A1 (en) Microcomputer with nonvolatile memory protected against false erasing or writing
TWI507843B (zh) 控制方法及運用該控制方法之電子裝置
KR102553275B1 (ko) 전원 오동작시 메모리의 안정적인 동작을 보장하는 반도체 장치 및 그 방법
CN113849060B (zh) 存储设备、cpld器件、存储设备的复位方法和存储介质

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