CN115576814A - 一种mcu芯片安全测试电路和方法 - Google Patents
一种mcu芯片安全测试电路和方法 Download PDFInfo
- Publication number
- CN115576814A CN115576814A CN202211238881.1A CN202211238881A CN115576814A CN 115576814 A CN115576814 A CN 115576814A CN 202211238881 A CN202211238881 A CN 202211238881A CN 115576814 A CN115576814 A CN 115576814A
- Authority
- CN
- China
- Prior art keywords
- test
- pin
- multiplexing pin
- multiplexing
- unit
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000011076 safety test Methods 0.000 title claims abstract description 7
- 238000012360 testing method Methods 0.000 claims abstract description 356
- 238000003860 storage Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims description 35
- 238000001514 detection method Methods 0.000 claims description 12
- 238000010998 test method Methods 0.000 claims description 6
- 238000009781 safety test method Methods 0.000 claims description 5
- 239000000523 sample Substances 0.000 abstract description 4
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 2
- 238000013100 final test Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及一种MCU芯片安全测试电路和方法,包括MCU芯片,MCU芯片包括复用引脚、存储单元、可编程存储器、核心测试模块、可编程存储测试模块;复用引脚具有SWD调试协议、非SWD调试协议;核心测试模块用于根据复用引脚写入的测试程序执行对存储单元的测试;可编程存储测试模块用于根据复用引脚写入的测试序列执行对可编程存储器的测试;且核心测试模块、可编程存储测试模块执行测试的时段部分或全部重叠。本发明在执行测试的过程中,核心测试模块、可编程存储测试模块可同时执行测试,不仅节省了测试所需的机台探针,还节省了测试时间,总体降低测试成本。
Description
技术领域
本发明涉及芯片测试技术领域,特别涉及一种MCU芯片安全测试电路和方法。
背景技术
一颗MCU芯片最终应用到终端产品中一般需要经过前期的芯片设计、芯片验证、芯片测试、晶圆制造,以及后期的测试、封装、成品测试、板级测试等环节。在整个生产链条中,芯片测试环节贯穿了整个芯片的设计和量产的过程,随着芯片制造工艺的不断创新,芯片规模越来越庞大,芯片在生产过程中产生的失效模式越来越复杂,这使得芯片的测试越发的具有挑战性。
一般来说,MCU芯片测试分为CP(Circuit Probe)测试和FT(Final Test)测试,CP测试是封装前对裸片的直接测试,而FT测试是在芯片封装后在实验室阶段完成的测试。在芯片测试过程中越早发现失效,越能降低无谓的资源浪费,所以通常芯片设计厂商需要在CP测试阶段尽可能的做好完备的测试。CP测试需要在测试机台上完成,通常机台的使用成本较高,且机台探针数量有限。MCU芯片中存在各种各样的外部接口和复杂的模拟电路,比如I2C、UART、SPI、SWD、ADC、DAC、触控屏等,所以在MCU芯片的测试过程中需要进行复杂的测试才能确保芯片所有功能正常使用。
一方面,在测试过程中,要求保证完成测试覆盖率的同时,应尽量节省测试引脚和时间,所以处于成本考虑,更加高效省时的测试方法可以更好的降低测试成本。
另一方面,在MCU芯片设计时,设计厂商会预埋一些不开放给客户的电路,但是如果下游客户可以随意进入测试模式修改预埋的电路设计,则芯片的安全性将无法保证,同时也会对芯片设计厂商造成不可估计的损失,因此保证MCU芯片进入测试模式的安全性也是非常重要的。
发明内容
本发明的目的在于对MCU芯片进行测试时,一方面能高效省时的进行测试,且降低测试成本;另一方面保证测试安全性,防止外部人员进入测试模式对芯片的电路进行修改,提供一种MCU芯片安全测试电路和方法。
为了实现上述发明目的,本发明实施例提供了以下技术方案:
一种MCU芯片安全测试电路,包括MCU芯片,所述MCU芯片包括复用引脚、存储单元、可编程存储器,其特征在于:所述MCU芯片还包括核心测试模块、可编程存储测试模块;其中,
所述复用引脚具有SWD调试协议、非SWD调试协议;当向存储单元写入测试程序时,复用引脚使用SWD调试协议;当向可编程存储器写入测试序列时,复用引脚使用非SWD调试协议;
所述核心测试模块用于根据复用引脚写入的测试程序执行对存储单元的测试;
所述可编程存储测试模块用于根据复用引脚写入的测试序列执行对可编程存储器的测试;且核心测试模块、可编程存储测试模块执行测试的时段部分或全部重叠。
在上述方案中,复用引脚具有SWD调试协议和非SWD调试协议两种接口协议,当需要向存储单元写入测试程序时,使用SWD调试协议;当需要访问片上资源时,使用非SWD调试协议,可以实时切换协议,实现测试和不测试两种过程,节省了测试引脚。并且在执行测试的过程中,核心测试模块、可编程存储测试模块可同时执行测试,不仅节省了测试所需的机台探针,还节省了测试时间,总体降低测试成本,解决了本发明的第一个技术问题。
更进一步地,所述核心测试模块包括CPU核心单元、寄存器;
当复用引脚使用SWD调试协议向存储单元写入测试程序时,寄存器设置为高电平,且CPU核心单元不进入取指执行状态;
当复用引脚使用SWD调试协议向存储单元写入测试程序后,寄存器保持高电平,并向复用引脚回复应答,且CPU核心单元不进入取指执行状态;
直到复用引脚使用非SWD调试协议向可编程存储器写入测试序列后,寄存器设置为低电平,CPU核心单元进入取指执行状态,执行存储单元中的测试程序,并将测试结果返回至复用引脚。
更进一步地,所述可编程存储测试模块包括测试单元、测试控制单元;
当复用引脚使用非SWD调试协议向可编程存储器写入测试序列后,测试控制单元根据测试序列判断需要进入的测试模式,并向复用引脚回复应答;
复用引脚接收到回复应答后,复用引脚轮询读取测试单元,使得测试单元执行可编程存储器中的测试序列,并将测试结果返回至复用引脚。
更进一步地,所述复用引脚还用于接收到测试控制单元的回复应答后,使用非SWD调试协议向可编程存储器中写入密钥;测试控制单元判断复用引脚写入的密钥与可编程存储器中已有的密钥匹配后,向复用引脚回复鉴权应答。
在上述方案中,基于MCU芯片测试模式的安全特性要求,通过采用密钥鉴权的方式,生产时将密钥打入测试单元中,并且对于不同批次的MCU芯片生产,可以设置不同的密钥,在执行测试之前,将写入的密钥和测试单元中已有的密钥进行匹配,若匹配成功才进行下一步的测试执行,大大提高了测试的安全性,防止外部人员进入测试模式对MCU芯片的电路进行修改,解决了本发明的第二个技术问题。
更进一步地,所述MCU芯片还包括待测试电路、数据测试模块,所述数据测试模块包括测试总线、测试引脚,其中,测试引脚通过测试总线向待测试电路输入检测电压和检测电流,待测试电路将测试结果通过测试总线返回至测试引脚;且数据测试模块与核心测试模块、可编程存储测试模块同时执行测试。
在上述方案中,不仅核心测试模块、可编程存储测试模块可以同时执行测试,数据测试模块也可以同时对待测试电路执行测试,实现存储单元、可编程存储器、测试电路三部分同时执行测试,更进一步节省了测试引脚和时间。
更进一步地,所述MCU芯片还包括复位引脚;
复用引脚使用SWD调试协议向存储单元写入测试程序时,复位引脚设置为高电平;
复用引脚使用非SWD调试协议向可编程存储器写入测试序列时,复位引脚设置为低电平;
核心测试模块、可编程存储测试模块执行测试时,复位引脚设置为高电平;
核心测试模块、可编程存储测试模块执行完毕测试后,向复用引脚返回测试结果时,复位引脚设置为低电平。
一种MCU芯片安全测试方法,包括以下步骤:
步骤S1,MCU芯片上电,设置复位引脚为高电平,复用引脚使用SWD调试协议向存储单元写入测试程序;
步骤S2,设置复位引脚为低电平,复用引脚使用非SWD调试协议向可编程存储器写入测试序列;
步骤S3,设置复位引脚为高电平,核心测试模块执行存储单元中的测试程序,同时可编程存储测试模块执行可编程存储器中的测试序列;
步骤S4,设置复位引脚为低电平,核心测试模块和可编程存储测试模块向复用引脚返回测试结果。
更进一步地,所述步骤S1具体包括以下步骤:
MCU芯片上电,设置复位引脚为高电平,复用引脚使用SWD调试协议向存储单元写入测试程序,寄存器设置为高电平,且CPU核心单元不进入取指执行状态;
测试程序写入完毕后,寄存器保持高电平,并向复用引脚回复应答,且CPU核心单元依然不进入取指执行状态。
更进一步地,所述步骤S2具体包括以下步骤:
当复用引脚接收到寄存器的回复应答后,设置复位引脚为低电平,复用引脚使用非SWD调试协议向可编程存储器写入测试序列;测试控制单元根据测试序列判断需要进入的测试模式,并向复用引脚回复应答;
复用引脚接收到测试控制单元的回复应答后,使用非SWD调试协议向可编程存储器中写入密钥;测试控制单元判断复用引脚写入的密钥与可编程存储器中已有的密钥匹配后,向复用引脚回复鉴权应答。
更进一步地,所述步骤S3具体包括以下步骤:
当复用引脚接收到测试控制单元的回复鉴权应答后,设置复位引脚为高电平,寄存器设置为低电平,CPU核心单元进入取指执行状态,执行存储单元中的测试程序;
同时复用引脚轮询读取测试单元,使得测试单元执行可编程存储器中的测试序列。
更进一步地,还包括步骤P:
测试引脚通过测试总线向待测试电路输入检测电压和检测电流,待测试电路将测试结果返回至测试引脚;所述步骤P与步骤S1-步骤S4的进行时段部分或全部重叠。
与现有技术相比,本发明的有益效果:
(1)本发明在保证完成测试覆盖率的情况下,同时执行存储单元、可编程存储器、测试电路的测试,实现节省测试引脚和时间的目的,降低了测试成本。
(2)本发明进行密钥鉴权,提高了测试的安全性,防止外部人员进入测试模式对MCU芯片的电路进行修改。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例1的测试电路示意图;
图2为本发明实施例2的测试电路示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性,或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
实施例1:
本发明通过下述技术方案实现,如图1所示,一种MCU芯片安全测试电路,包括MCU芯片,所述MCU芯片包括复用引脚、复位引脚、存储单元、核心测试模块、可编程存储器、可编程存储测试模块。
所述复用引脚具有SWD调试协议、非SWD调试协议,SWD(The SerialWire DebugPort)是一种串行调试端口,是ARM目前支持的两种调试端口之一,基于ARM CoreSight调试构架,SWD可以通过传输数据包来读写芯片的寄存器;所述非SWD调试协议为不是SWD调试的协议,可以根据技术人员的需求自定义协议。通过复用引脚向存储单元写入测试程序时,复用引脚使用SWD调试协议;通过复用引脚向可编程存储器写入测试序列时,复用引脚使用非SWD调试协议。复用引脚除了要写入测试程序和测试序列外,还要向可编程存储器写入密钥。
所述核心测试模块用于根据复用引脚写入的测试程序执行对存储单元的测试,并将测试结果返回至复用引脚。详细来说,所述核心测试模块包括CPU核心单元、寄存器,当复用引脚使用SWD调试协议向存储单元写入测试程序时,复位引脚设置为高电平,寄存器设置为高电平,且CPU核心单元不进入取指执行状态。接着,当复用引脚使用SWD调试协议向存储单元写入测试程序后,寄存器保持高电平,并向复用引脚回复应答,且CPU核心单元不进入取指执行状态。直到复用引脚使用非SWD调试协议向可编程存储器写入测试序列后,复位引脚设置为高电平,寄存器设置为低电平,CPU核心单元进入取指执行状态,执行存储单元中的测试程序,并将测试结果返回至复用引脚。CPU核心单元将测试结果返回至复用引脚时,复位引脚设置为低电平,并且CPU核心单元执行测试程序时,可编程存储测试模块也同时执行可编程存储器中的测试序列,因此核心测试模块、可编程存储测试模块执行测试的时段部分或全部重叠。
所述可编程存储测试模块用于根据复用引脚写入的测试序列执行对可编程存储器的测试,并将测试结果返回至复用引脚。详细来说,所述可编程存储测试模块包括测试单元、测试控制单元,当复用引脚使用非SWD调试协议向可编程存储器写入测试序列时,复位引脚设置为低电平。接着,当复用引脚使用非SWD调试协议向可编程存储器写入测试序列后,测试控制单元根据测试序列判断需要进入的测试模式,并向复用引脚回复应答。复用引脚接收到回复应答后,复位引脚设置为高电平,复用引脚轮询读取测试单元,使得测试单元执行可编程存储器中的测试序列,并将测试结果返回至复用引脚;测试单元将测试结果返回至复用引脚时,复位引脚设置为低电平。
在更进一步地方案中,所述复用引脚在接收到测试控制单元的回复应答后,使用非SWD调试协议向可编程存储器中写入密钥,测试控制单元判断复用引脚写入的密钥与可编程存储器中已有的密钥匹配后,向复用引脚回复鉴权应答。当复用引脚接收到测试控制单元的回复鉴权应答之后,复位引脚才设置为高电平,然后CPU核心单元、测试单元开始执行测试。
在更进一步地方案中,除了可编程存储测试模块对可编程存储器、核心测试模块对存储单元执行测试外,还包括数据测试模块对MCU芯片中的一些待测试电路执行测试。具体来说,所述数据测试模块包括测试总线、测试引脚,其中,测试引脚通过测试总线向待测试电路输入检测电压和检测电流,待测试电路将测试结果通过测试总线返回至测试引脚。
并且数据测试模块也可以与核心测试模块、可编程存储测试模块同时执行测试,可见,本方案中包括需要被测试的存储单元、可编程存储器、待测试电路三个部分,其中通过复用引脚向存储单元、可编程存储器分别写入测试程序和测试序列,然后核心测试模块和可编程存储测试模块可同时对存储单元和可编程存储器执行测试。在通过复用引脚写入测试程序或测试序列时,所述数据测试模块就可以开始执行测试了,因此本方案可以实现存储单元、可编程存储器、测试电路三部分执行测试的时段部分或全部重叠。
基于上述电路,本方案还提出一种MCU芯片安全测试方法,包括以下步骤:
步骤S1,MCU芯片上电,设置复位引脚为高电平,复用引脚使用SWD调试协议向存储单元写入测试程序。
MCU正常上电,复位引脚设置为高电平,此时复用引脚的控制权限为SWD调试协议,通过复用引脚向存储单元写入测试程序。并且在写入测试程序的过程中,寄存器设置为高电平,CPU核心单元不进入取指执行状态。测试程序写入完毕后,寄存器保持高电平,并向复用引脚回复应答,表示已经成功写入测试程序,此时CPU核心单元依然不进入取指执行状态,进入步骤S2。
写入存储单元的测试程序为MCU芯片内部电路的测试,比如ADC、DAC、电源管理、触控屏等,但本方案不对具体的测试过程和测试结果进行限定,而是提出在保证完成测试覆盖率的同时,尽量节省测试引脚和时间,降低测试成本。
步骤S2,设置复位引脚为低电平,复用引脚使用非SWD调试协议向可编程存储器写入测试序列。
当复位引脚接收到寄存器的回复应答后,复位引脚设置为低电平,此时复用引脚的控制权限为非SWD调试协议,通过复用引脚向可编程存储器写入测试序列,测试控制单元通过测试序列判断需要进入的测试模式,比如测试序列为二进制代码“100”、“111”等,则不同的二进制代码即代表不同的测试模式。测试单元判断出测试模式后,向复用引脚回复应答,表示已经成功写入测试序列,并判断出测试模式。
此时则可以进入步骤S3,核心测试模块执行存储单元中的测试程序,同时可编程存储测试模块执行可编程存储器中的测试序列,即执行测试的时段部分或全部重叠,在保证完成测试覆盖率的情况下,由于可以同时执行测试,实现节省测试引脚和时间的目的,降低了测试成本,解决了本发明第一个技术问题。
为了更进一步解决本发明第二个技术问题,在步骤S2中复用引脚接收到测试控制单元的回复应答后,保持复位引脚为低电平,复用引脚使用非SWD调试协议向可编程存储器中写入密钥。测试控制单元判断复用引脚写入的密钥与可编程存储器中已有的密钥是否匹配,可编程存储器中已有的密钥是MCU芯片在制造时打入的,不同批次的MCU芯片可以设置不同的密钥。在执行可编程存储器中的测试序列之前,核对密钥是否匹配,可以保证测试的安全性,防止外部人员进入测试模式对MCU芯片的电路进行修改,从而导致的资源泄漏。并且批次生产的MCU芯片中可以打入不同的密钥,更进一步的防止了密钥泄漏后造成的损失。
当测试控制单元判断复用引脚写入的密钥与可编程存储器中已有的密钥匹配后,向复用引脚回复鉴权应答。复用引脚接收到回复鉴权应答后,再进入步骤S3。
步骤S3,设置复位引脚为高电平,核心测试模块执行存储单元中的测试程序,同时可编程存储测试模块执行可编程存储器中的测试序列。
在完成测试程序和测试写入,且复用引脚接收到回复应答和回复鉴权应答后,复位引脚设置为高电平,此时复用引脚的控制权限为非SWD调试协议,进入执行测试的过程。寄存器设置为低电平,释放CPU核心单元进入取指执行状态,从存储单元中取出测试程序并执行。与此同时,复用引脚轮询读取测试单元,使得测试单元执行可编程存储器中的测试序列。
可见,通过复用引脚分别向存储单元、可编程存储器中写入测试程序、测试序列后,可以实现核心测试模块和可编程存储测试模块同时对存储单元和可编程存储器执行测试的过程,并行的测试能节省测试引脚和时间,降低测试成本。
步骤S4,设置复位引脚为低电平,核心测试模块和可编程存储测试模块向复用引脚返回测试结果。
当CPU核心单元执行完毕存储单元中的测试程序,以及测试单元执行完毕可编程存储器中的测试序列后,复位引脚自动设置为低电平,此时CPU核心单元向复用引脚返回存储单元的测试结果,以及测试单元向复用引脚返回可编程存储器的测试结果。或者复用引脚的控制权限设置为SWD调试协议,复用引脚回读存储单元和可编程存储器的测试结果。
步骤P:测试引脚通过测试总线向待测试电路输入检测电压和检测电流,待测试电路将测试结果返回至测试引脚;所述步骤P与步骤S1-步骤S4的进行时段部分或全部重叠。
所述步骤S1-步骤S4是在进行测试程序和测试序列的写入,以及对测试程序和测试序列的执行,是对存储单元和可编程存储器执行测试。与此同时,可以同步进行步骤P,实现存储单元、可编程存储器、测试电路三部分同时执行测试,即进行时段部分或全部重叠,进一步的降低了测试成本。
实施例2:
本实施例在上述实施例1的基础上作进一步优化,如图2所示,在MCU芯片的实际生产时,所述测试单元为可编程测试单元,可编程存储器为非易失性可编程存储器,比如FLASH、ROM,CPU核心单元为CPU CORE,寄存器为CPU_WAIT,存储单元为SRAM或DRAM,其余单元器件与实施例1相同,测试方法也相同。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种MCU芯片安全测试电路,包括MCU芯片,所述MCU芯片包括复用引脚、存储单元、可编程存储器,其特征在于:所述MCU芯片还包括核心测试模块、可编程存储测试模块;其中,
所述复用引脚具有SWD调试协议、非SWD调试协议;当向存储单元写入测试程序时,复用引脚使用SWD调试协议;当向可编程存储器写入测试序列时,复用引脚使用非SWD调试协议;
所述核心测试模块用于根据复用引脚写入的测试程序执行对存储单元的测试;
所述可编程存储测试模块用于根据复用引脚写入的测试序列执行对可编程存储器的测试;且核心测试模块、可编程存储测试模块执行测试的时段部分或全部重叠。
2.根据权利要求1所述的一种MCU芯片安全测试电路,其特征在于:所述核心测试模块包括CPU核心单元、寄存器;
当复用引脚使用SWD调试协议向存储单元写入测试程序时,寄存器设置为高电平,且CPU核心单元不进入取指执行状态;
当复用引脚使用SWD调试协议向存储单元写入测试程序后,寄存器保持高电平,并向复用引脚回复应答,且CPU核心单元不进入取指执行状态;
直到复用引脚使用非SWD调试协议向可编程存储器写入测试序列后,寄存器设置为低电平,CPU核心单元进入取指执行状态,执行存储单元中的测试程序,并将测试结果返回至复用引脚。
3.根据权利要求1所述的一种MCU芯片安全测试电路,其特征在于:所述可编程存储测试模块包括测试单元、测试控制单元;
当复用引脚使用非SWD调试协议向可编程存储器写入测试序列后,测试控制单元根据测试序列判断需要进入的测试模式,并向复用引脚回复应答;
复用引脚接收到回复应答后,复用引脚轮询读取测试单元,使得测试单元执行可编程存储器中的测试序列,并将测试结果返回至复用引脚。
4.根据权利要求3所述的一种MCU芯片安全测试电路,其特征在于:所述复用引脚还用于接收到测试控制单元的回复应答后,使用非SWD调试协议向可编程存储器中写入密钥;测试控制单元判断复用引脚写入的密钥与可编程存储器中已有的密钥匹配后,向复用引脚回复鉴权应答。
5.根据权利要求1所述的一种MCU芯片安全测试电路,其特征在于:所述MCU芯片还包括待测试电路、数据测试模块,所述数据测试模块包括测试总线、测试引脚,其中,测试引脚通过测试总线向待测试电路输入检测电压和检测电流,待测试电路将测试结果通过测试总线返回至测试引脚;且数据测试模块与核心测试模块、可编程存储测试模块同时执行测试。
6.根据权利要求1所述的一种MCU芯片安全测试电路,其特征在于:所述MCU芯片还包括复位引脚;
复用引脚使用SWD调试协议向存储单元写入测试程序时,复位引脚设置为高电平;
复用引脚使用非SWD调试协议向可编程存储器写入测试序列时,复位引脚设置为低电平;
核心测试模块、可编程存储测试模块执行测试时,复位引脚设置为高电平;
核心测试模块、可编程存储测试模块执行完毕测试后,向复用引脚返回测试结果时,复位引脚设置为低电平。
7.一种MCU芯片安全测试方法,其特征在于:包括以下步骤:
步骤S1,MCU芯片上电,设置复位引脚为高电平,复用引脚使用SWD调试协议向存储单元写入测试程序;
步骤S2,设置复位引脚为低电平,复用引脚使用非SWD调试协议向可编程存储器写入测试序列;
步骤S3,设置复位引脚为高电平,核心测试模块执行存储单元中的测试程序,同时可编程存储测试模块执行可编程存储器中的测试序列;
步骤S4,设置复位引脚为低电平,核心测试模块和可编程存储测试模块向复用引脚返回测试结果。
8.根据权利要求6所述的一种MCU芯片安全测试方法,其特征在于:所述步骤S1具体包括以下步骤:
MCU芯片上电,设置复位引脚为高电平,复用引脚使用SWD调试协议向存储单元写入测试程序,寄存器设置为高电平,且CPU核心单元不进入取指执行状态;
测试程序写入完毕后,寄存器保持高电平,并向复用引脚回复应答,且CPU核心单元依然不进入取指执行状态。
9.根据权利要求7所述的一种MCU芯片安全测试方法,其特征在于:所述步骤S2具体包括以下步骤:
当复用引脚接收到寄存器的回复应答后,设置复位引脚为低电平,复用引脚使用非SWD调试协议向可编程存储器写入测试序列;测试控制单元根据测试序列判断需要进入的测试模式,并向复用引脚回复应答;
复用引脚接收到测试控制单元的回复应答后,使用非SWD调试协议向可编程存储器中写入密钥;测试控制单元判断复用引脚写入的密钥与可编程存储器中已有的密钥匹配后,向复用引脚回复鉴权应答。
10.根据权利要求8所述的一种MCU芯片安全测试方法,其特征在于:所述步骤S3具体包括以下步骤:
当复用引脚接收到测试控制单元的回复鉴权应答后,设置复位引脚为高电平,寄存器设置为低电平,CPU核心单元进入取指执行状态,执行存储单元中的测试程序;
同时复用引脚轮询读取测试单元,使得测试单元执行可编程存储器中的测试序列。
11.根据权利要求6所述的一种MCU芯片安全测试方法,其特征在于:还包括步骤P:
测试引脚通过测试总线向待测试电路输入检测电压和检测电流,待测试电路将测试结果返回至测试引脚;
所述步骤P与步骤S1-步骤S4的进行时段部分或全部重叠。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211238881.1A CN115576814A (zh) | 2022-10-11 | 2022-10-11 | 一种mcu芯片安全测试电路和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211238881.1A CN115576814A (zh) | 2022-10-11 | 2022-10-11 | 一种mcu芯片安全测试电路和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115576814A true CN115576814A (zh) | 2023-01-06 |
Family
ID=84584795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211238881.1A Pending CN115576814A (zh) | 2022-10-11 | 2022-10-11 | 一种mcu芯片安全测试电路和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576814A (zh) |
-
2022
- 2022-10-11 CN CN202211238881.1A patent/CN115576814A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110865971B (zh) | Soc芯片的验证系统及其方法 | |
CN100392617C (zh) | 片上系统与应用于其中的测试/除错方法 | |
US7047464B2 (en) | Method and system for use of a field programmable function within an application specific integrated circuit (ASIC) to access internal signals for external observation and control | |
CN113608940B (zh) | 智能网卡的生产测试方法、系统、装置及可读存储介质 | |
CN115184781B (zh) | 一种芯片测试方法及系统 | |
CN105095040A (zh) | 一种芯片调试方法与装置 | |
CN112067978A (zh) | 一种基于fpga的fpga筛选测试系统及方法 | |
CN117555740A (zh) | 基于uvm的车规芯片dmac验证系统和方法 | |
CN115576814A (zh) | 一种mcu芯片安全测试电路和方法 | |
JP2002323993A (ja) | シングルチップマイクロコンピュータ並びにその試験方法及び試験プログラム | |
US6536020B2 (en) | Efficient generation of optimum test data | |
CN112599179B (zh) | 一种并行的flash寿命测试装置 | |
Sargsyan | Firmware generation architecture for memory BIST | |
US20040205410A1 (en) | Program-controlled unit | |
Grosso et al. | A software-based self-test methodology for system peripherals | |
CN111913097A (zh) | 一种用于测试SoC功能的测试电路、测试方法和SoC | |
US6738853B1 (en) | Integrated circuit with built-in processor and internal bus observing method | |
De Carvalho et al. | Increasing fault coverage during functional test in the operational phase | |
US20210173989A1 (en) | Simulation signal viewing method and system for digital product | |
CN110334417B (zh) | 一种otp单片机量产可测试性集成电路及其设计方法 | |
CN116719746B (zh) | 调试方法、设备、待调试产品和计算机存储介质 | |
CN118033366B (zh) | 测试装置、方法、电子设备及计算机可读存储介质 | |
Fogarty et al. | On‐chip support for software verification and debug in multi‐core embedded systems | |
US20240003972A1 (en) | Method and system for testing semiconductor circuits | |
CN112612659B (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 |