This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:PBIST - FSRA 和 FSRDL 寄存器

Guru**** 2470040 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1032708/tms570lc4357-pbist---fsra-and-fsrdl-register

器件型号:TMS570LC4357

我正在努力设置 PBIST 自检。 我目前正在尝试对所有 RAM 组运行 PBIST 内存测试、如参考手册第427页的9.6.2示例2中所述。 运行测试后、PBIST 寄存器被填充:

RAMT = 0x02011208 ->(RGS = 2,RDS = 1?)

FSFR0 = 1 (FSFR1 = 0、并且端口1的所有其他寄存器也为0)

FSRC0 = 3

FRA0 = 0

FSRDL0 = 0x0003765D

FRA0是0、我目前感到困惑、因为我假设它在发生故障时为我提供地址、而 FSRDL0是因为我不完全了解该值实际上表示什么或它意味着什么?

出于测试目的、我尝试在两块电路板上运行测试、但除了 FSRDL0寄存器之外、这两块电路板的结果完全相同。 FSRDL0实际上是由于电路板的变化而变化的、即使在同一电路板上、每次运行测试时似乎也稍有不同。  

那么、我的问题是、FSRDL0 (FSRDL1)实际上告诉我什么、我是否可以假设我的配置存在一些缺陷、因为两个板指示完全相同的结果(故障数据和地址为0除外)似乎有点奇怪?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    第一个地址故障在被测组内是顺序的、注意 RGS 和 RDS 也将与位于地址上的64位字相对应。

    RGS = 2、RDS = 1 ->表示错误发生在 ADC 存储器中。  

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。

    我还不清楚。 从何处获取有关 ADC 存储器的信息? 参考手册中的表2.5指示了 AWM1的情况(RGS=2、RDS=1)

    您能否提供一些有关 FSRDL0问题的第二部分的信息?  

    [引用 userid="497350" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1032708/tms570lc4357-pbist---fsra-and-fsrdl-register "]

    FRA0是0、我目前感到困惑、因为我假设它在发生故障时为我提供地址、而 FSRDL0是因为我不完全了解该值实际上表示什么或它意味着什么?

    出于测试目的、我尝试在两块电路板上运行测试、但除了 FSRDL0寄存器之外、这两块电路板的结果完全相同。 FSRDL0实际上是由于电路板的变化而变化的、即使在同一电路板上、每次运行测试时似乎也稍有不同。  

    那么、我的问题是、FSRDL0 (FSRDL1)实际上告诉我什么、我是否可以假设我的配置存在一些缺陷、因为两个板指示完全相同的结果(故障数据和地址为0除外)似乎有点奇怪?  

    [/报价]

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    RGS 和 RDS 是指存储器阵列的物理实例、但我没有物理到逻辑的映射。 即使我们知道哪个组和哪个阵列返回数据(RDS)、我们仍然不知道存储器中的确切位置。

    FRA0是端口0上首次失败的存储器地址。  如果 FRA0=0、则可能在 ADC 存储器的开头发生错误。

    您能否仅对 ADC 存储器而不是所有存储器(单端口和双端口)执行操作、以查看是否在同一位置出现错误?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    参考文献表2-5 手动指示 RDS=2和 RGS=1映射到内存组5 (AWM1)。 如果我仅针对此特定内存组运行测试、我将获得以下结果:

    RDS=1 /RGS=1

    FRA0 = 0

    FSRDL0 = 2

    FSRC0 = 4

    我在两个不同的评估板上运行了测试、仅 AWM1测试的结果完全相同。

    我可以从中获得哪些信息?

    对于所有组的测试仍然只在 FSRDL0为3F65D 或1E7BF 时不同、但这两个值表示相同的 RGS=2、RDS=1、 FSRC0=3、 FRA0=0值。

    对我来说很奇怪、两个板都有类似的结果...

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../TMS570LC43x_5F00_RefMan.pdf

    我正在使用此参考手册版本

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我刚刚进行了测试、未发现问题:

    这是我的测试用例:

    /* RAM 上的 PBIST 测试*/
    void PBIST_SelfTest (uint32 raminfoH、uint32 raminfoL、uint32 algomask)

    易失性 uint32 i = 0U;

    /* PBIST ROM 时钟频率= HCLK 频率/2 */
    /*禁用内存自控制器*/
    systemREG1->MSTGCR = 0x00000105U;

    /*禁用内存初始化控制器*/
    systemREG1->MINITGCR = 0x5U;

    /*启用 PBIST 控制器*/
    systemREG1->MSINENA=0x1U;

    /*启用内存自控制器*/
    systemREG1->MSTGCR = 0x0000010AU;

    /*根据 GCLK 与 VCLK 的比率至少等待64个 VBUS 时钟周期*/
    对于(i=0U;i<(32U +(32U * 1U));i++){//等待*/}

    /*用户代码开始(18)*/
    /*用户代码结束*/

    /*启用 PBIST 时钟和 ROM 时钟*/
    pbistREG->PACT = 0x1U;

    /*选择要测试的所有算法*/
    pbistREG->algo = algomask;

    /*选择 RAM 组*/
    pbistREG->RINFOL = raminfoL;

    /*选择所有 RAM 组*/
    pbistREG->RINFUU = raminfoH;

    /* ROM 内容不会覆盖 RINFox 设置*/
    pbistREG->over = 0x0U;

    /*算法代码从 ROM 加载*/
    pbistREG->ROM = 0x3U;

    /*启动 PBIST */
    pbistREG->DLR = 0x14U;