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.

[参考译文] RM46L852:一个电源循环后、ESM 组1通道31和 ESM 组2通道4

Guru**** 2347060 points
Other Parts Discussed in Thread: DP83640, UNIFLASH, HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/602452/rm46l852-esm-group1-channel-31-and-esm-group2-channel-4-after-a-power-cycle

器件型号:RM46L852
主题中讨论的其他器件:DP83640UNIFLASHHALCOGEN

您好!

我在特定硬件生成方面遇到问题、以下是顺序:
1) 1)我使用调试器(IAR I-jet)加载软件、调试速度非常快
    SYSCall_PUSH:
CPU_LOCK_R12_SIZE:
        0x10:0x6885        DC16     26757                  ;'…h'
下一步是:
ABORT_Handler:
FIQ 处理程序:
IRQ_Handler:
预取处理程序:
Swi_Handler…… 未显示+2符号:
     0x1a22c:0xeafffffe    B        Abort_Handler  

2) 2)只要我通过调试器进行复位(通过 JTAG 进行软件和硬件复位)、它的行为方式是相同的-
3) 3)现在、我移除并重新提供电源、并且在下电上电后报告这些错误、ESM 组1通道31和 ESM 组2通道4
 对于这个 CPU、意味着 CCM-R4自检失败、并且访问主闪存时 FMC 不可纠正的地址奇偶校验错误。

4) 4)现在、我加载一个清除这些错误的软件并运行一次
5) 5)现在重新加载不会重置它们的那个、然后我返回到点1)

我对所有相同的 Generation2板具有相同的效果、但这不会发生在我们的第一代板上。
第1代到第2代的区别在于:
a)不同的电源
b)添加了带有 DP83640 PHY 的 JTAG 链

有人对原因有什么想法吗?

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

    您是否验证了 JTAG 链是否正确对器件进行了编程? 也就是说、它们中没有一些损坏的代码? 此外、我从错误消息的片段中注意到、它似乎在地址0x10处有一些代码。 这通常为 VIM 中断矢量表(0x00-0x20)保留、但对于您的应用、情况并非如此? 您是否能够在_cinit 处设置断点、或为 IAR 设置等效的断点、然后逐步查看 CCMR4测试是否实际执行? 您的代码中发生这种情况似乎真的很早、因为如果我正确地回忆、通常至少在 CCM-R4自检之前执行 STC。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Chuck、

    首先、感谢您花时间为我提供帮助。

    我处于调试模式、并选择了在下载时验证、验证不会出现问题、因此我假设它已正确编程。
    但该同事已将 Uniflash 与 XDS100v2适配器一起下载、并且在回读时使用此适配器、并不总是具有接缝结果、而是位于地址0x10!
    我们使用的是第三方操作系统、他们正在这样做:
    VIM->FIRQPR0 = 0;          //所有中断都转到 IRQ */
    因此、我认为这是需要的。

    很抱歉、但如何查看是否执行了 CCMR4测试?

    谢谢

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

    很抱歉耽误你的答复。 此问题可能与启动期间通常需要执行的同步步骤有关。 请查看启动序列应用手册(www.ti.com/.../spna106d.pdf) 、以了解在启动时需要发生的一些关键事件、包括启用 CCMR4之前锁步 CPU 的同步步骤。

    此外、IRQ 或 FIQ 的使用与中断矢量表的放置无关。 这也与 NMI 和 CPU 异常相关、并且是所使用的架构和程序员模型的一部分。 您可以轻松地使用 Halcogen 工具来生成引导代码、并查看程序执行前执行的操作(即使是使用 RTOS)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Chuck、

    在我们发现 JTAG 连接问题的平均时间、这解决了随机读取问题。
    另一个失败仍然存在。
    我们在3块板上更换了 CPU、其中的2块现在可以正常工作。
    正如您所建议的(我不知道我为什么不考虑自己)、我使用 halcogen 生成了一个项目、因此我最终生成了 ESMSR3->ESF3 =1、因此代表 RAM 事件组(BOTCM)的 Group3通道3 - ECC 不可覆盖错误。

    现在、我的主要问题是、我能否告诉大家、这只是生产(或 CPU 交付)方面的一个大问题、还是很容易告知这一点?

    谢谢
    Daniele

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

    您可以检查 CPU 中的故障状态寄存器以确定发生错误的地址。 请记住 ECC 在64位字上、然后您可以写入/回读相同的地址位置(清除 ESM 组3通道3错误条件后)。 如果错误再次发生、则很可能是永久性故障。 但是、故障原因更难评估。 这通常意味着在我们的实验中通过 FA 进行某种专门的测试来定位物理故障。 另一种可能的做法是在 SRAM 上运行 PBIST、以查看它是否通过 PBIST 或是否通过 PBIST。 同样、如果它除了之前提到的 ESM 错误之外发生故障、它可能表示一个永久性/硬故障。 它也可能与 ECC 内存问题相关、因此在运行任何测试时、请务必包含 ECC 组。

    如果您将其确定为硬故障、则可以联系当地的 FAE、TSR 或经销商、他们会为您提供器件、并安排与我们的质量部门讨论如何处理退货/问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chuck、

    我现在使用 halcogen 生成的初始化代码项目、其中包括使能 CPU 自检。
    在以下情况下、它永远不会退出此状态:
    /*等待 CCM 自检完成*/
    /*SAFETYMCUSW 28 D MR:NA "硬件状态位读取检查"*/
    while ((CCMSR & 0x100U)!= 0x100U)

    }/*等待*/

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

    Daniele、您好!

    这表示自检正在进行或 CCMR4已停止工作。 请注意 TRM 中的以下部分。

    根据所发生事件的描述、很难判断这是否是问题的原因。 当然、您可以尝试在独立模式下运行、并使用 GPIO 切换作为标记、以检查您是否在调试之外越过了这一点、如果是、这可能是根本原因。