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.

[参考译文] AM2634:通过 QSPI 刷写外部闪存

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1530486/am2634-flashing-external-flash-via-qspi

器件型号:AM2634
Thread 中讨论的其他部分:TMDSCNCD263UNIFLASH

工具/软件:

您好、

我目前正在 TMDSCNCD263 板上的 CCS 中进行开发、每次编程都会将我的程序加载到 RAM 中。

在我的定制 PCB 上、我将通过 QSPI 连接一个 128Mbit NOR 闪存。

如何通过 XDS110 调试器->通过 AM2634 -> QSPI ->闪存刷写该外部闪存? 这是预期的路径吗?

我是否需要编写一个程序来将此映像转发到闪存中?

我是否需要对一个 SBL 进行编程、以便查找并从该外部闪存引导?

是否有说明整个过程的指南?

谢谢!

Justin

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

    尊敬的 Justin:

    感谢您的查询、  

    Am263x 是一种外部闪存器件。 因此、为了访问闪存、我们需要使用 QSPI 外设进行读取和写入。

    为了访问 QSPI 外设、您需要 CPU 对 QSPI 外设进行编程。

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

    因此有多种方法可以对 QSPI 外设进行编程:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/TOOLS_FLASH.html

    这可在多个阶段完成:

    ROM — 在 UART 引导模式下、ROM 准备 UART 外设以接收 SBL 映像。 SBL 映像可以使用多个接口接收应用程序映像、然后对 QSPI 外设进行编程以对该应用程序映像进行编程。 Uniflash GUI 工具等工具 — 通过 UART 模式、UART uniflash python 工具。

    2.在开发引导模式或 QSPI 引导模式下、您可以对闪存器加载程序二进制文件进行编程、以对 QSPI 映像进行编程。 支持此操作的工具是通过 JTAG 模式和 CCS 的 Uniflash GUI 工具

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

    你好 Nilabh ,谢谢你的快速回答和指南,这是非常有帮助的。

    离开 Devkit、这里有 DIP 开关、用于更改哪种引导模式将生效。在定制 PCB 上、如何针对这些不同的引导模式对 AM2634 ROM 进行编程? 是否有相关的单独指南?

    谢谢

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

    此外、我还能够在我的控制卡上成功引导它、但是在我们的 PCB 上、我们应该为独立的 AM2634 使用什么 SBL?
    这是我用于 CC `{SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am263x-cc/sbl_qspi.release.tiimage`的 SBL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    以下 DIP 开关用于更改哪种引导模式将生效;在定制 PCB 上、如何针对这些不同的引导模式对 AM2634 ROM 进行编程? 是否有此方面的单独指南?

    您将需要使用外部 DIP 开关或简化的开关集来配置引导模式。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但当独立 AM2634 在我们的 PCB 上时、我们应该为其使用什么 SBL?
    这是我用于 CC `${SDK_INSTALL_PATH}/tools/boot/sbl_prebuilt/am263x-cc/sbl_qspi.release.tiimage`
    的 SBL

    这应该是一个很好的开始、您可以继续使用 SBL、但最终可能需要针对您的用例和您自己的 PCB 修改 SBL。

    SBL_QSPI 的源代码位于此处的 SDK 中:  

    mcu_plus_sdk_am263//examples/drivers/boot/sbl_qspi

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

    你好 Nilabh Anand

    我们有一个出厂时未启用 QSPI 的闪存芯片。 您是否知道 AM2634 将在 SBL 或程序写入闪存的启动期间发送一条命令来启用 QSPI、或者是否需要离线完成该操作才能成功执行编程?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否知道 AM2634 是否会在启动 SBL 写入或编程到闪存的过程中发送一个命令来启用 QSPI

    如果您使用 QSPI 引导模式、则 ROM 需要在为电路板上电之前设置 QE 位。

    因此、这需要进行预编程。

    在开发引导模式下、您可以运行 QSPI 闪存 IO 示例并在 syscfg 中配置闪存属性以启用 QE 位、然后通过 JTAG 加载程序。 然后、在下一次迭代中、您可以使用 QSPI 引导模式。

    对于大规模生产、我建议离线进行。