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.

[参考译文] RTOS:AM572x IDK 调试问题

Guru**** 2601915 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/650172/rtos-am572x-idk-debug-issue

工具/软件:TI-RTOS

将 am572x idk 板与 CCS 7.3一起使用时、我将 SBL 和 Nimu_BasicClientExample_idkAM572x_armExampleproject TI RTOS 应用刷写到板载 QSPI 闪存中。 电路板启动正确、NIMU 示例应用工作正常。

每次电路板上电时、SBL 都会复制 Nimu 应用并启动应用。 不过、这是正常情况、我无法加载新的程序映像以使用 CCS 进行调试。 CCS 可以连接到 A15内核,但加载程序不会在 main()中停止,程序执行失败。

感谢您的关注。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    AM572x IDK EVM 默认配置为0x8106、以启用 SDCARD 的 uboot/Linux 引导。 此引导模式选择的次级引导器件为 QSPI1。 您是否意味着在 SBL/Nimu 仍在时使用 JTAG/CCS 加载新程序? 在这种情况下、当您加电或执行系统复位时、QSPI 会运行、SBL 会加载您的 NIMU 示例并已运行、这不是一个干净的系统。 解决此问题没有好方法、您可能需要擦除 QSPI 映像。

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

    感谢您的回复。 是的、我是说在 SBL/Nimu 或其他任何仍在运行的程序时使用 JTAG/CCS 加载新程序。

    "这不是一个干净的系统"是什么意思? CCS/JTAG 只能在空白器件中加载/调试程序? 我们仅为生产系统计划了 QSPI、没有 SDCARD。 您如何擦除旧的 QPSI 图像?

    此致、
    Karl
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我怀疑、当您连接 CCS 时、MMU 仍处于启用状态。 连接后、转到 Tools -> ARM Advanced Features 以禁用 MMU。 我希望您在完成此操作后能够加载新程序。 但是、我仍然认为您在这里需要非常小心。 埃里克所说的它不是一个"干净的系统"、此时您将在缓存中有东西、外设处于未定义状态等 如果您要进行大量开发、最好的方法可能是擦除闪存、以便每次都可以"从头开始"。 实际上、您甚至可以使用 GEL 文件、以便在重新加载程序时、它将自动重置 CPU 等
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    MMU 已禁用。
    CCS/JTAG 使用 GEL 文件、该文件在加载映像之前调用 OnPreFileLoaded()中的 AM57xxStartState()。
    热菜单 AM57xxStartState()

    CPSR &=~0x20;//设置为 ARM 模式
    CPSR =(CPSR &~0x1F)| 0x13;//设置为专用模式
    REG_CTXA15_CP15_C1_SCTLR &&~0x1;//禁用 MMU


    谢谢、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否曾尝试加载一个非常简单的程序、即 hello world?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是这样做的。 我很幸运地将一个简单的程序加载到 SRAM 并擦除闪存。

    对于 RTOS 程序、对电路板进行下电上电、连接、加载映像、然后重新启动并重新加载映像、如果我幸运的话、它可能会起作用。

    如果执行 GEL 脚本可以创建一个"干净的系统"、那将是最好的。

    谢谢、