CN117421014A - 电源固件更新方法与电源供应器 - Google Patents

电源固件更新方法与电源供应器 Download PDF

Info

Publication number
CN117421014A
CN117421014A CN202310472749.5A CN202310472749A CN117421014A CN 117421014 A CN117421014 A CN 117421014A CN 202310472749 A CN202310472749 A CN 202310472749A CN 117421014 A CN117421014 A CN 117421014A
Authority
CN
China
Prior art keywords
space
power supply
program
power
management system
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
CN202310472749.5A
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.)
FSP Technology Inc
Original Assignee
FSP Technology Inc
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 FSP Technology Inc filed Critical FSP Technology Inc
Publication of CN117421014A publication Critical patent/CN117421014A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种电源固件更新方法,应用于电源供应器供电时进行电源固件更新,该方法透过电源供应器的微控制器执行,且包括步骤如下:规划微控制器内的内存空间为第一空间与第二空间,其中第一空间储存目前执行电源供应器供电所需的第一程序;进行电源固件更新前,清空第二空间;将储存于管理系统的第二程序写入第二空间;当第二程序完整地写入第二空间后,切换第二空间为第一空间,以完成电源固件更新;以及持续输出工作电源。本发明的电源固件更新方法,可在不需要重新开机进行系统重启的状态下,进行电源固件更新的优点。本发明还公开一种电源供应器。

Description

电源固件更新方法与电源供应器
技术领域
本发明涉及一种电源固件更新方法与电源供应器,尤指一种不需要系统重新启动的电源固件更新方法与电源供应器。
背景技术
在线更新的电源固件更新方法常用于笔记本电脑、手机或电源供应器等领域。相较于笔记本电脑、手机的电源固件更新,由于电源供应器需要持续地对负载进行供电,因此,当电源供应器的电源固件更新完成后,并不允许重新开机进行系统重启,若对电源固件更新且在更新完成后重新开机对系统重启,将对整个系统的运作造成很大的影响。
为此,如何设计出一种电源固件更新方法与电源供应器,实现当电源固件更新完成后不需要系统重新启动的功能,以克服现有技术所存在的问题与技术瓶颈,乃为本案发明人所研究的重要课题。
发明内容
本发明之一目的在于提供一种电源固件更新方法,解决现有技术之问题。
为达成前揭目的,本发明所提出的电源固件更新方法,应用于电源供应器供电时进行电源固件更新,该方法通过电源供应器的微控制器执行,该方法包括步骤如下:规划步骤,规划微控制器内的内存空间为第一空间与第二空间,其中第一空间储存目前执行电源供应器供电所需的第一程序;清空步骤,进行电源固件更新前,清空第二空间;写入步骤,将储存于管理系统的第二程序写入第二空间;切换步骤,当第二程序完整地写入第二空间后,切换第二空间为第一空间,以完成电源固件更新;以及供电步骤,持续输出工作电源。
在一实施例中,在写入步骤中,当管理系统持续与电源供应器进行常规通讯时,第二程序的多个字节被分批传送至第二空间。
在一实施例中,常规通讯的命令传送与第二程序的该些字节传送为交错进行。
在一实施例中,当常规通讯的命令传送为闲置状态时,传送第二程序的该些字节至第二空间。
在一实施例中,在写入步骤中,当管理系统停止与电源供应器进行常规通讯时,第二程序的多个字节连续不间断地被传送至第二空间。
在一实施例中,在切换步骤中,将第二空间的起始位置寻址为第一空间的起始位置。
在一实施例中,第二空间的大小与第一空间的大小相等。
在一实施例中,在切换步骤中,最后一次执行储存于第一空间的第一程序后,切换第二空间为第一空间。
在一实施例中,管理系统与第一空间、第二空间通过集成电路总线进行常规通讯。
在一实施例中,在切换步骤中,通过错误检测机制核对第二程序的多个字节传送的完整性。
在一实施例中,错误检测机制包括核对和、汉明码、杂凑函数、模数算法或同位元检查法。
藉由所提出的电源固件更新方法,可实现在不需要重新开机进行系统重启的状态下,进行电源固件更新的优点。
本发明之另一目的在于提供一种电源供应器,解决现有技术之问题。
为达成前揭目的,本发明所提出的电源供应器,应用于供电时进行电源固件更新。该电源供应器包括微控制器与供电模块。微控制器包括通讯单元、记忆单元以及运算单元。通讯单元用以与管理系统进行常规通讯。记忆单元具有第一空间与第二空间,第一空间储存第一程序。运算单元用以执行第一程序,进行电源固件更新前,运算单元清空第二空间,并将储存于管理系统的第二程序写入第二空间,当第二程序完整地写入第二空间后,运算单元切换第二空间为第一空间,以完成电源固件更新。供电模块连接微控制器,供电模块根据第一空间储存的第一程序或第二程序持续输出工作电源。
在一实施例中,当管理系统持续与通讯单元进行常规通讯时,第二程序的多个字节被分批传送至第二空间。
在一实施例中,常规通讯的命令传送与第二程序的该些字节传送为交错进行。
在一实施例中,当常规通讯的命令传送为闲置状态时,传送第二程序的该些字节至第二空间。
在一实施例中,当管理系统停止与通讯单元进行常规通讯时,第二程序的多个字节连续不间断地被传送至第二空间。
在一实施例中,运算单元将第二空间的起始位置寻址为第一空间的起始位置。
在一实施例中,第二空间的大小与第一空间的大小相等。
在一实施例中,运算单元最后一次执行储存于第一空间的第一程序后,切换第二空间为第一空间。
在一实施例中,管理系统与第一空间、第二空间通过集成电路总线进行常规通讯。
在一实施例中,通讯单元通过错误检测机制核对第二程序的多个字节传送的完整性。
在一实施例中,错误检测机制包括核对和、汉明码、杂凑函数、模数算法或同位元检查法。
藉由所提出的电源供应器,可实现在不需要重新开机进行系统重启的状态下,进行电源固件更新的优点。
为了能更进一步了解本发明为达成预定目的所采取之技术、手段及功效,请参阅以下有关本发明之详细说明与附图,相信本发明之目的、特征与特点,当可由此得一深入且具体之了解,然而所附图式仅提供参考与说明用,并非用来对本发明加以限制者。
附图说明
图1是本发明电源固件更新方法的流程图。
图2是本发明电源固件更新方法的写入步骤判断的流程图。
图3是本发明电源固件更新方法中,进行常规通讯时,常规通讯的命令与多个字节交错进行传送至第二空间的示意图。
图4是本发明电源固件更新方法中,停止常规通讯时,多个字节连续不间断地被传送至第二空间的示意图。
图5是本发明电源供应器与管理系统操作的方块示意图。
【符号说明】
100:电源供应器
200:管理系统
10:微控制器
20:供电模块
102:通讯单元
104:记忆单元
106:运算单元
S1:第一空间
S2:第二空间
S10~S50:步骤
S31~S33:步骤
具体实施方式
兹有关本发明之技术内容及详细说明,配合图式说明如下。
请参见图1,其系为本发明电源固件更新方法的流程图,本发明的电源固件更新方法,应用于电源供应器100供电时,进行电源固件(firmware)更新。配合参见图5,其系为本发明电源供应器100与管理系统200操作的方块示意图。图5所示的电源供应器应用于供电时进行电源固件更新。所述电源供应器100包括微控制器10与供电模块20。其中,前述的「供电时进行电源固件更新」指的是,无论电源供应器在电源固件更新前、中或后,皆持续供应正常的工作电源。
参看图5所示,微控制器10包括通讯单元102、记忆单元104以及运算单元106。通讯单元102,具备无线和/或有线的通讯功能,用以与管理系统200进行常规通讯。在本发明中,所述常规通讯系为,例如但不限制,对电源的电压、电流、功率…等信息持续进行通讯的运作。
记忆单元104系可为数字信号处理器(DSP)或是微控制器(MCU),对其内存规划而言,里面的程序主要分成两部分:一部分为启动系统程序(bootloader code),其系为底层的程序,这一部分是无法被更新的;另一部分为真正运行的固件,为用户应用程序(userapplication),这一部分是架构于启动系统程序(bootloader code),可被更新的程序。记忆单元104具有第一空间S1与第二空间S2,第一空间S1储存第一程序P1。
相应于本发明的电源固件更新方法为规划步骤:规划微控制器10内的内存空间(意即相应记忆单元104)为第一空间S1与第二空间S2(S10)。其中第一空间S1储存目前执行电源供应器100供电所需的第一程序P1。在一实施例中,第二空间S2的大小与第一空间S1的大小相等,然而不以此为限制本发明。
继续结合图1、图5所示,运算单元106用以执行第一程序P1,进行电源固件更新前,运算单元106清空第二空间S2。相应于本发明的电源固件更新方法为清空步骤:进行电源固件更新前,清空该第二空间S2(S20)。
运算单元106将储存于管理系统200的第二程序P2写入第二空间S2。相应于本发明的电源固件更新方法为写入步骤:将储存于管理系统200的第二程序P2写入第二空间S2(S30)。
当运算单元106将第二程序P2完整地写入第二空间S2后,运算单元106切换第二空间S2为第一空间S1,以完成电源固件更新。相应于本发明的电源固件更新方法为切换步骤:当第二程序P2完整地写入该第二空间S2后,切换该第二空间S2为该第一空间S1,以完成该电源固件更新(S40)。
供电模块连接微控制器10。供电模块20根据第一空间S1储存的第一程序P1或第二程序P2持续输出工作电源。相应于本发明的电源固件更新方法为供电步骤,持续输出一工作电源(S50)。值得一提的是,前述「持续输出工作电源」的意思是,无论是电源固件更新前、中或后,供电模块20都持续运作,电源供应器100不需要重启或重新开机。换句话说,电源供应器100可持续正常供电,且可继续执行下次、下下次…的电源固件更新。
请参见图2所示,其系为本发明电源固件更新方法的写入步骤判断的流程图。在写入步骤(S30),意即将储存于管理系统200的第二程序P2写入第二空间S2的方式,亦根据管理系统200是否与电源供应器100进行常规通讯有关。具体地,在步骤(S31)中,判断管理系统200是否与电源供应器100进行常规通讯。若判断为「是」,即当管理系统200持续与电源供应器进行常规通讯时,第二程序P2的多个字节被分批传送至第二空间S2(S32)。
相应于步骤(S31)的判断为「是」时,意即管理系统持续与电源供应器进行常规通讯,例如持续访问电源的电压、电流、功率…等信息,此时,表示管理系统与第一程序P1(其系为执行电源供应器供电所需的程序)的沟通不能中断。在一实施例中,常规通讯的命令传送与第二程序P2(其系为储存于管理系统200的程序)的该些字节传送为交错进行,如图3所示,其系为本发明电源固件更新方法中,进行常规通讯时,常规通讯的命令与多个字节交错进行传送至第二空间S2的示意图。此时,管理系统200依旧会通过通讯总线,例如但不限制为,集成电路总线(I2C)通讯,启动电源供应器100的启动系统程序(bootloader code)功能与第二程序P2做通讯,意即管理系统200与第一空间S1、第二空间S2通过集成电路总线(I2C)进行常规通讯。
但此时的固件更新会变为区段更新的方式,意即,若第一程序P1正在通讯时,系统会收到第二程序P2正在忙碌会排在下一个串行时钟(serial clock)执行。反之,若第二程序P2正在写入资料,系统会收到第一程序P1正在忙碌,会排在下一个串行时钟才回复信息。
以图3为例,当管理系统200持续与电源供应器100进行常规通讯时,第二程序P2的多个字节被分批传送至第二空间S2。其中,常规通讯的命令(例如读取电压命令、读取电流命令、读取功率命令…等)传送与第二程序P2的该些字节传送为交错进行。因此,当读取电压命令传送时,第二程序P2的字节会在下一个串行时钟执行。当第二程序P2的字节执行,若需进行读取电流命令的常规通讯时,则改传送读取电流命令,接续的第二程序P2的字节会在下一个串行时钟执行。同样地,当第二程序P2的字节执行,若需进行读取功率命令的常规通讯时,则改传送读取功率命令,接续的第二程序P2的字节会在下一个串行时钟执行。如此,常规通讯的命令传送与该第二程序P2的该些字节传送为交错进行,直到第二程序P2的该些字节完整地写入第二空间S2后,切换第二空间S2为第一空间S1,以完成电源固件更新。
值得一提,在切换步骤中,系将第二空间S2的起始位置寻址为第一空间S1的起始位置,以完成第二空间S2与第一空间S1的切换。并且,为求原第一空间S1的信息能够完整地切换至第二空间S2中,则在实际的操作上,会在最后一次执行储存于第一空间S1的第一程序P1后,切换第二空间S2为第一空间S1。值得一提,当常规通讯的命令传送为闲置状态时,则传送第二程序P2的该些字节至第二空间S2。
相反地,若在步骤(S31)的判断为「否」,即当管理系统200停止与电源供应器100进行常规通讯时,第二程序P2的多个字节连续不间断地被传送至第二空间S2(S33)。相应于步骤(S31)的判断为「否」时,意即管理系统200停止与电源供应器100进行常规通讯时,第二程序P2的多个字节连续不间断地被传送至第二空间S2。以图4为例,当在常规通讯的命令(即读取功率的命令常规通讯)结束时,即停止管理系统200与电源供应器100的常规通讯时,第二程序P2的多个字节连续不间断地被传送至第二空间S2,直到第二程序P2的该些字节完整地写入第二空间S2后,切换第二空间S2为第一空间S1,以完成电源固件更新。
附带一提,在切换步骤中,为确保数据传送的顺序及完整性,因此通过错误检测机制核对第二程序P2的多个字节传送的顺序及完整性。其中错误检测机制包括核对和(checksum)、汉明码(Hamming code)、杂凑函数(hash function)、模数算法(modularalgorithm)或同位元检查法(parity check)。此时的错误检测行为并不会影响电源的其他功能,电源依旧保持第一程序P1在运行不受任何影响。
综上所述,本发明可实现在不需要重新开机进行系统重启的状态下,进行电源固件更新的优点。
以上所述,仅为本发明较佳具体实施例之详细说明与图式,惟本发明之特征并不局限于此,并非用以限制本发明,本发明之所有范围应以下述之申请专利范围为准,凡合于本发明申请专利范围之精神与其类似变化之实施例,皆应包括于本发明之范畴中,任何熟悉该项技艺者在本发明之领域内,可轻易思及之变化或修饰皆可涵盖在以下本案之专利范围。

Claims (22)

1.一种电源固件更新方法,应用于一电源供应器供电时进行一电源固件更新,该方法通过该电源供应器的一微控制器执行,其特征在于,该方法包括步骤如下:
规划步骤,规划该微控制器内的一内存空间为一第一空间与一第二空间,其中该第一空间储存目前执行该电源供应器供电所需的一第一程序;
清空步骤,进行该电源固件更新前,清空该第二空间;
写入步骤,将储存于一管理系统的一第二程序写入该第二空间;
切换步骤,当该第二程序完整地写入该第二空间后,切换该第二空间为该第一空间,以完成该电源固件更新;以及
供电步骤,持续输出一工作电源。
2.如权利要求1所述的电源固件更新方法,其特征在于,在写入步骤中,当该管理系统持续与该电源供应器进行一常规通讯时,该第二程序的多个字节被分批传送至该第二空间。
3.如权利要求2所述的电源固件更新方法,其特征在于,该常规通讯的命令传送与该第二程序的该些字节传送为交错进行。
4.如权利要求3所述的电源固件更新方法,其特征在于,当该常规通讯的命令传送为闲置状态时,传送该第二程序的该些字节至该第二空间。
5.如权利要求1所述的电源固件更新方法,其特征在于,在写入步骤中,当该管理系统停止与该电源供应器进行一常规通讯时,该第二程序的多个字节连续不间断地被传送至该第二空间。
6.如权利要求1所述的电源固件更新方法,其特征在于,在切换步骤中,将该第二空间的起始位置寻址为该第一空间的起始位置。
7.如权利要求1所述的电源固件更新方法,其特征在于,该第二空间的大小与该第一空间的大小相等。
8.如权利要求1所述的电源固件更新方法,其特征在于,在切换步骤中,最后一次执行储存于该第一空间的该第一程序后,切换该第二空间为该第一空间。
9.如权利要求1所述的电源固件更新方法,其特征在于,该管理系统与该第一空间、该第二空间通过集成电路总线进行一常规通讯。
10.如权利要求1所述的电源固件更新方法,其特征在于,在切换步骤中,透过一错误检测机制核对该第二程序的多个字节传送的完整性。
11.如权利要求10所述的电源固件更新方法,其特征在于,该错误检测机制包括核对和、汉明码、杂凑函数、模数算法或同位元检查法。
12.一种电源供应器,应用于供电时进行一电源固件更新,其特征在于,该电源供应器包括一微控制器,该微控制器包括:
一通讯单元,用以与一管理系统进行一常规通讯;
一记忆单元,具有一第一空间与一第二空间,该第一空间储存一第一程序;以及
一运算单元,用以执行该第一程序,进行该电源固件更新前,该运算单元清空该第二空间,并将储存于该管理系统的一第二程序写入该第二空间,当该第二程序完整地写入该第二空间后,该运算单元切换该第二空间为该第一空间,以完成该电源固件更新;以及
一供电模块,连接该微控制器,该供电模块根据该第一空间储存的该第一程序或该第二程序持续输出一工作电源。
13.如权利要求12所述的电源供应器,其特征在于,当该管理系统持续与该通讯单元进行该常规通讯时,该第二程序的多个字节被分批传送至该第二空间。
14.如权利要求13所述的电源供应器,其特征在于,该常规通讯的命令传送与该第二程序的该些字节传送为交错进行。
15.如权利要求14所述的电源供应器,其特征在于,当该常规通讯的命令传送为闲置状态时,传送该第二程序的该些字节至该第二空间。
16.如权利要求12所述的电源供应器,其特征在于,当该管理系统停止与该通讯单元进行该常规通讯时,该第二程序的多个字节连续不间断地被传送至该第二空间。
17.如权利要求12所述的电源供应器,其特征在于,该运算单元将该第二空间的起始位置寻址为该第一空间的起始位置。
18.如权利要求12所述的电源供应器,其特征在于,该第二空间的大小与该第一空间的大小相等。
19.如权利要求12所述的电源供应器,其特征在于,该运算单元最后一次执行储存于该第一空间的该第一程序后,切换该第二空间为该第一空间。
20.如权利要求12所述的电源供应器,其特征在于,该管理系统与该第一空间、该第二空间透过集成电路总线进行该常规通讯。
21.如权利要求12所述的电源供应器,其特征在于,该通讯单元透过一错误检测机制核对该第二程序的多个字节传送的完整性。
22.如权利要求21所述的电源供应器,其特征在于,该错误检测机制包括核对和、汉明码、杂凑函数、模数算法或同位元检查法。
CN202310472749.5A 2022-07-18 2023-04-27 电源固件更新方法与电源供应器 Pending CN117421014A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW111126875 2022-07-18
TW111126875A TW202405649A (zh) 2022-07-18 2022-07-18 電源韌體更新方法與電源供應器

Publications (1)

Publication Number Publication Date
CN117421014A true CN117421014A (zh) 2024-01-19

Family

ID=89509752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310472749.5A Pending CN117421014A (zh) 2022-07-18 2023-04-27 电源固件更新方法与电源供应器

Country Status (3)

Country Link
US (1) US20240019919A1 (zh)
CN (1) CN117421014A (zh)
TW (1) TW202405649A (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100987628B1 (ko) * 2004-02-07 2010-10-13 엘지전자 주식회사 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체
US7730295B1 (en) * 2006-09-05 2010-06-01 Western Digital Technologies, Inc. Updating firmware of a peripheral device
US7870379B2 (en) * 2006-10-10 2011-01-11 Exaflop Llc Updating a power supply microcontroller
US10983785B1 (en) * 2018-06-28 2021-04-20 Amazon Technologies, Inc. Firmware updating of power units

Also Published As

Publication number Publication date
TW202405649A (zh) 2024-02-01
US20240019919A1 (en) 2024-01-18

Similar Documents

Publication Publication Date Title
CN102200916B (zh) 电子设备、可配置的部件及该部件的配置信息存储方法
US20030046503A1 (en) Methods for saving data on the basis of the remaining capacity of a battery in a suspend mode and resuming operations using the saved data
US20100106956A1 (en) Bios switching system and a method thereof
CN104461657A (zh) 一种主备嵌入式引导程序的启动方法及装置
US20240053810A1 (en) Power management circuit, chip and upgrade method therefor, and server
WO2013013396A1 (zh) 基本输入/输出系统bios配置数据管理方法及系统
US7607001B2 (en) Memory management method for simultaneously loading and executing program codes
CN114661368B (zh) 一种芯片及其启动方法
CN112596808A (zh) 一种嵌入式系统的参数存储机制
JPH1078889A (ja) マイクロコンピュータ
US9652259B2 (en) Apparatus and method for managing register information in a processing system
CN110308935B (zh) 电子装置及其操作方法
US20210173634A1 (en) Vehicle control device and program update system
CN117421014A (zh) 电源固件更新方法与电源供应器
CN112883384B (zh) 一种强鲁棒性的嵌入式计算机引导加载程序的保护方法
CN116521062A (zh) 数据处理方法、装置、计算机设备和存储介质
CN114356383A (zh) 一种Bootloader架构的固件升级方法及其系统
CN113377286A (zh) 处理器系统
CN110121688B (zh) 判断加载程序的方法以及电子系统
JP2003271420A (ja) 電子制御装置
CN111966199A (zh) Cpld在线升级缓启方法、装置、设备及存储介质
KR100402516B1 (ko) 내장형 마이크로 컨트롤러 유닛에서 프로그램 코드를갱신하는 방법
CN117631631B (zh) 一种国产化dsp嵌入式系统及其功能载荷重构方法
US20050015580A1 (en) Method for transferring a command among a plurality of devices in a computer system
CN118672630A (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