TC377 - Memory Test Unit (MTU)

1 TC377 Memory Test Unit (MTU)

  MTU功能:控制和监测内存测试、内存初始化和内存数据完整性校验。MTU提供了寄存器接口用于配置和控制不同的内存控制器。
  SSH功能:SSH是SRAM Support Hardware的简称,是一个硬件模块,该模块用于控制SRAM的地址或数据错误监测和纠正、Memory Built-In-Self-Test(MBIST)。每个SSH块提供一个统一的接口来控制不同的功能。每个SSH实例可以控制一个或多个内存控制器。

1.1 MTU的特性

  1. 提供到内部SSH实例的统一接口。
    – MTU提供一个统一的寄存器接口用于控制每个内部SSH实例的操作和功能。
    – 系统中每个SRAM的各种可配置的测试类型可以通过MTU控制。
  2. 数据初始化
    – 系统中每个SRAM块都能通过MTU进行硬件初始化。
    Security-Sensitive存储器可以自动初始化,防止通过MTU将数据读出。
  3. 内存错误纠正和检测
    – 系统中每个SRAM的内存错误纠正和检测都能通过MTU配置。
    – 可纠正的和不可纠正的错误检测。
    – 地址错误检测。
  4. SMU警告通知
    – 来自SRAM/SSH的3个警告(CE alarm, UCE alarm and ME alarm)被发送到MTU,然后被MTU转发到SMU。
    疑问:上述概述中MTU SSH SRAM在系统中到底如何分布并连接呢?

1.2 MTU, SSHs and SRAMs框图

在这里插入图片描述
5. 不同的IP模块可以包含一个或者多个SRAM,每个SRAM对应一个SSH、SSH寄存器及MBIST。
6. MTU通过SPB总线访问各个SSH寄存器。
7. SSH提供了对内存的直接访问,而不涉及CPU。即使是不能通过CPU直接访问的小内存,也可以通过SSH进行测试。
8. SPB总线支持16bit数据访问,因此SSH寄存器应使用16bit读写访问。

1.3 功能描述

  从TC39xA-Step 到 TC39XB-Step / TC38XA-Step存在功能变化,如果使用的芯片是TC38X或者TC39X的同学,请前往芯片手册,查看13.3.1章节内容。
  MCi_MCONTROL(i=0-95).START/RESUME可以在测试器件被写入清除,但是其它位在测试后被修改将可能导致不可预测的行为。
  测试开始后,寄存器中的测试参数禁止被修改 (i.e. CONFIG0, CONFIG1 and MCONTROL (except
START & RESUME))。如果在测试期间,在设置完成之前更改了SSH寄存器,将可能导致未定义和错误的行为。

1.3.1 SSH使能

  每个SSH功能的开启受MTU_MEMTSETx(x=0-2)寄存器对应位的控制。只有当SSH功能开启后,才能访问对应的SSH寄存器(除MCi_ECCS (i=0-95), MCi_ECCD (i=0-95),MCi_ETRRx (i=0-95;x=0-4),MCi_ERRINFOx (i=0-95;x=0-4), MCi_ALMSRCS (i=0-95) and MCi_FAULTSTS (i=0-95),这些寄存器只要MTU时钟通过MTU_CLC寄存器启用就可以被访问),否则将返回SPB错误。
  对于某些SSH,MEMTEST寄存器启用或者禁用SSH可能会导致整个或者部分内存根据配置自动初始化,该初始化可能需要数百个时钟周期。在此期间,无法访问SSH寄存器,任何访问都将导致SPB总线错误。
  请注意,在通过MTU访问任何SSH寄存器之前,必须通过CCU寄存器对包含SRAM的模块的时钟输入通过CCU寄存器启用。除了这个CCU时钟配置之外,不需要启用模块时钟(例如使用CLC寄存器)来访问SSH寄存器。
  注意事项:
9. 启用SSH之后,对内存的功能性访问暂时不可用。即当测试内存时,软件应禁止对该测试内存的访问。
10. 启用SSH后,重置包含被测内存模块的行为可能会导致意外行为。因为模块重置复位后,会尝试功能性的访问SRAM,而SSH不会因为模块重置而关闭,所以模块重置之后,SSH还是处于开启状态,而SSH开启时是禁止访问SRAM的。因此在SSH开始后,应避免模块重置的情况。
11. 如果当模块重置发生时,MTU和SSH之间正在进行通信(例如SSH寄存器读写),通信中断,在几个周期内,在SPB上立即触发总线错误,没有任何超时。只有正在进行的读/写可能会被损坏,并且未来的通信不受影响。

1.3.2 Security-Sensitive存储器和自动初始化与SSH之间的关联

  对于Security-Sensitive内存,MTU必须阻止通过SSH模块读取或修改这些内存的内容。
  自动数据初始化和部分擦除功能可以通过
12. DMU中的 PROCONRAM寄存器启用或者禁用。若PROCONRAM.RAMIN = 00, 01 or 10将启用自动内存内容初始化,PROCONRAM配置初始化是否由冷复位、热复位或两者都触发。
13. 也可以通过MEMTEST.MEMx_EN使能SSHx或MTU_MEMMAP的状态的改变所触发。MEMSTATi(i=0-2)寄存器位表示内存x的自动数据初始化是否已被MEMTESTMEMx_EN或MTU_MEMMAP的状态的改变所触发,且初始化序列尚未完成。
14. 如果 MEMSTAT.MEMx_AIU位被置起,这意味着该内存的自动初始化仍在进行中。SSH仅在自动初始化之后启用,并在自动初始化启动之前禁用。该软件可以通过轮询此位来等待自动初始化完成。
15. 若PROCONRAM.RAMIN=11,在复位时不执行RAM内容的自动初始化,当使用MTU_MEMTEST.MEMx_EN或MTU_MEMMAP寄存器位启用或禁用SSH模块时,也不执行RAM内容的自动初始化。这允许应用程序使用SSH(例如,用于错误注入、数据修改或运行时内存测试),而不会不必要地损坏内存内容。
  请注意,自动数据初始化和部分擦除是标称函数,并不是为了保证它们在所有条件下都满足安全要求。即,可能中断初始化。启动时内存初始化的安全性不受影响。

1.3.3 SSH操作 - Memory Testing and Initialization

1.3.3.1 启动内存测试序列
  1. 在启用MCONTROL.START位之前,需要正确配置配置寄存器MCi_CONFIG0 (i=0-95), MCi_CONFIG1 (i=0-95)。
    – CONFIG0.ACCSTYPE指定将在当前内容的每个单一地址上执行的访问类型(read/write)。
    – CONFIG0.NUMACCS指定当前内容中单个地址的访问总数。
    – CONFIG1.ACCSPAT指定访问模式。
    – CONFIG1.AG_MOD指定SSH使用复杂的寻址方案。
    – CONFIG1.AG_MOD指定配置测试为无创测试。当使用无创测试时,MSTATUS.FAIL是不固定的,此时软件必须检测 ECCD, ETRR , ERRINFO寄存器是否在测试过程中检测到任何错误。
  2. 每个内存测试序列通过写SSH的MCONTROL.START位来启动。(参考 MCi_MCONTROL (i=0-95) register))。
    在这里插入图片描述
  3. 当测试完
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Aurix MTUMemory Test Unit)是一种针对嵌入式系统中内存的检测和测试工具。TC 397是指Aurix中的一个测试用例或者相关规范。 内存检测是嵌入式系统开发中非常重要的一环,它主要用于确保系统的稳定性和可靠性。Aurix MTU可以在设计和生产阶段对内存模块进行全面的测试和诊断,以确保内存的质量和可靠性。 Aurix MTU的工作原理是通过对内存进行读写操作,并对读写结果进行验证,以检测内存中是否存在故障或错误。它可以检测到多种类型的内存故障,如数据丢失、位翻转、位失效、存储器损坏等。此外,Aurix MTU还可以进行多种测试模式的切换,以适应不同的应用场景和测试需求。 内存检测是嵌入式系统开发中必不可少的一项工作,它对于确保系统的稳定性和可靠性至关重要。Aurix MTU提供了一种简单而有效的方式来进行内存测试,它可以帮助开发人员及时发现内存中的故障并进行修复,从而提高系统的可靠性和性能。 总之,TC 397 Aurix MTU内存检测是一种针对Aurix嵌入式系统中内存的测试和诊断工具,它的作用是确保系统的稳定性和可靠性,并提供了多种测试模式以适应不同的应用场景和需求。 ### 回答2: tc 397是AURIX MTU(内存测试单元)的规范,用于测试AURIX芯片上的内存模块。 AURIX芯片是一种高性能的嵌入式微控制器,广泛应用于汽车电子系统和工业控制领域。MTU是AURIX芯片上的一个模块,用于测试内存的可靠性和稳定性。 tc 397规范中描述了对AURIX MTU进行内存测试的方法和要求。这个测试旨在确保内存模块能够正常工作,不会发生数据错误或存储故障。 在进行内存测试之前,需要编写测试程序,并将其加载到AURIX芯片上运行。测试程序会执行一系列测试,如随机数据写入和读取、地址线和数据线测试、擦除测试等。 通过执行这些测试,可以检测内存中的潜在问题,如写入错误、读取错误、位反转错误等。如果有错误被检测到,测试程序会记录错误信息以便后续分析。 内存测试可以帮助开发人员对AURIX芯片进行故障分析和排除,确保其在实际应用中的可靠性和稳定性。同时,tc 397规范也为开发人员提供了一套标准化的内存测试方法,以确保测试的统一性和可比性。 总的来说,tc 397 aurix mtu内存检测是针对AURIX芯片上的内存模块进行的一系列测试,旨在保证内存的可靠性和稳定性,提高AURIX芯片在汽车电子和工业控制等领域的应用质量。 ### 回答3: TC 397是一种用于AURIX系列芯片的MTUMemory Test Unit,内存测试单元)的测试方法。AURIX芯片是用于汽车电子系统的高性能微控制器。 MTU内存检测是一种用于检测AURIX芯片中内置的存储器单元的方法。内存在嵌入式系统中起着至关重要的作用,因为它们用于存储程序代码、数据和临时变量等信息。 TC 397使用MTU进行内存检测的主要目的是确保内存的可靠性和稳定性。内存故障可能会导致系统崩溃、程序运行出错或数据丢失等问题,因此进行内存检测是十分重要的。 TC 397通过使用MTU模块中的各种测试模式和算法来检测内存。这些测试模式包括读/写测试、地址线测试、数据线测试等。通过对内存进行多种测试,可以检测出不同类型的内存错误,如位翻转、读写冲突、数据损坏等。 进行TC 397 MTU内存检测时,首先需要配置MTU模块的寄存器并设置测试模式和测试参数。然后,启动内存测试,MTU会自动检测内存的各种错误。在测试完成后,可以通过读取MTU模块的状态寄存器来获取内存测试结果。 在实际应用中,TC 397 MTU内存检测可以在生产阶段用于对AURIX芯片进行出厂测试,以确保芯片的质量和可靠性。此外,也可以在系统部署和运行阶段对内存进行定期测试,以确保系统的稳定性和可靠性。 总之,TC 397是一种用于AURIX芯片的MTU内存检测方法,通过使用MTU模块的测试模式和算法来检测内存错误,以确保内存的可靠性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值