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:在独立模式下运行时、存储器测试失败

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1418559/tms570lc4357-memory-test-fails-when-run-in-standalone-mode

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

工具与软件:

您好!

我有一个在编程后可以正常运行的代码、并通过连接的 JTAG 运行。 但是、一旦它被下电上电并允许独立运行、内存测试就会失败、并卡在"testFail"汇编指令中。 (屏幕截图如下)

我正在使用 LaunchPad LaunchXL-570LC4357卡。 CCS 版本  10.1.0.00010.  

我已附上我的项目、能否建议代码中出现了什么问题?

e2e.ti.com/.../Autoboot_5F00_Test.zip

谢谢你。

Gobind Singh

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

    尊敬的  Gobind Singh:

    [quote userid="448206" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1418559/tms570lc4357-memory-test-fails-when-run-in-standalone-mode 通过重启并允许其独立运行后、内存测试就会失败、并卡在"testFail"汇编指令中。 (下面的屏幕截图)

    如何在没有 JTAG 的情况下知道它卡住了什么?

    ——
    谢谢、此致、
    Jagadish。

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

    我知道是因为:

    1.下电上电后启动 ccxml 文件、选择"connect target"并加载符号(无重新编程)。 它会向我显示代码卡住的位置。 这是我在第一篇文章中分享的屏幕截图。  

    2.在步骤1之后,如果我进行了软重置并尝试重新运行,测试会失败。 它无法在内存中写入模式。 某些存储器甚至不能在 CCS 的"Memory"(存储器)窗口中写入。

    3.重新编程代码并运行时(不重启),运行正常。

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

    尊敬的 Jagadish:  

    请提供有关此问题的任何更新?

    谢谢你。

    Gobind Singh

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

    尊敬的 Gobind Singh:

    对不起延误,我被其他问题所困扰。 我将在本周向您提供最新情况。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Gobind Singh:

    我对延迟答复深表歉意。

    您是否仍然受困于此问题?

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    是的、我仍然有这个问题。

    谢谢

    Gobind Singh

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

    尊敬的 Gobind Singh:

    对进一步拖延深表歉意。

    今天我有机会对你的项目进行调试。  

    但在这里,我不能面对你所说的问题。

    这是调试器中的执行结果:

    我们可以看到、代码卡在主循环的 while (1)处、汇编指令位于地址0x46AC 处。

    现在我所做的是、我退出调试模式、对电路板进行上电复位、之后我连接到电路板、而不重新刷写代码以验证代码卡在何处。

    结果如下:

    它只执行0x46AC 指令、这意味着代码再次停留在主循环中的 while (1)上。

    我不会面对你所说的问题。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    您是断开 USB 电源并重新连接、还是只是使用电路板上的开关进行复位? 我认为当我们使用开关时可以正常工作、但在进行循环通电时无法正常工作

    谢谢你

    Gobind Singh

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

    尊敬的 Gobind Singh:

    您是正确的、断开并重新连接 USB 电缆后、我可以看到问题:

    即使我尝试直接写入存储器也会产生问题。 我怀疑内存权限问题可能导致了此问题。 由于此代码不是从 HALCoGen 生成的、因此我无法轻松找到根本原因。

    我正在尝试自己的方式、同时也要求您将此代码与我们 HALCoGen 生成的启动代码进行比较、而后者没有此问题。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:  

    我也尝试过使用 HALCoGen 代码、但当我添加内存测试时、发现代码显示相同的行为。

    谢谢。

    Gobind Singh

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

    尊敬的 Jagadish:

    有任何相关更新?

    谢谢你。

    Gobind Singh

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

    尊敬的 Gobind Singh:

    问题在于、此代码不是 TI 代码、而且不是从 HALCoGen 或使用 SDL (SafeTI 诊断库)生成的。

    而这段代码是以汇编语言编写的。 所以、理解和调试这种逻辑需要花费大量的时间。

    我们有 SDL 来测试存储器和外设、您为什么不使用此 SDL 代码进行测试?

    SAFETI_DIAG_LIB 驱动程序或库| TI.com

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    我现在已经使用 Halcogen 生成的代码文件"HL_sys_core.asm"来初始化寄存器。 我现已将代码简化为仅进行三次函数调用、其中两次是 halcogen 创建的。 第三种方法只是测试写入和从 RAM 读回。 我已经附加了构建以便复制该问题。

    问题是、仅在下电上电后才出现问题时、无法进行调试。 当我重新连接仿真器时、问题已经发生了。 我甚至不使用定制板、这是 TI 评估板。 现在、代码也是 Halcogen 生成的。

    谢谢你。

    Gobind Singh

    e2e.ti.com/.../02_5F00_StandaloneBoot.zip

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

    尊敬的 Gobind Singh:

    我的道歉,因为节日,我离开了几天。

    您可以一次参考以下主题吗:

    (8) nPORRST 之后的 TMS570 RAM 状态-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    (8) RM57L843:SYSESR 寄存器中的 EXTRST 和 PORST 位-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    我认为断电和 PORRST 在 RAM 上有不同的运行方式影响、正如上面的线程所提到的、即使对于 PORRST 也是 如此、RAM 的内容将不会生效并且只有在真正断电情况下、RAM 将包含垃圾值。

    我怀疑由于这种行为、只有我们遇到 RAM 测试失败。

    在执行 RAM 测试前、您是否还可以尝试包含 memInit?

    ——
    谢谢、此致、
    Jagadish。