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.

[参考译文] AM2434:QSPI NOR 闪存选项的初始编程

Guru**** 2777115 points

Other Parts Discussed in Thread: AM2434, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1608363/am2434-initial-programming-of-qspi-nor-flash-options

器件型号: AM2434
Thread 中讨论的其他器件: UNIFLASH

您好、

我们使用 AM2434 开始产品开发、并使用我们开发合作伙伴提供的定制电子产品。 电路板有一个 SD 卡、我们当前用于 NULL SBL。  
下一步、我们将切换到自己的开发板、该板将不再具有 SD 卡。 除了通过闪存编程器直接访问之外、将可引导映像/SBL 复制到外部 QSPI 闪存还有哪些选项?  

  • 这是否可以通过 JTAG 实现、就像使用集成了闪存的简单 MCU 一样?
  • 如果可以使用 JTAG、则需要哪个适配器? 我们目前使用 XDS200 调试适配器。 XDS560 是否具有任何优势(更高的速度)?
  • 关于闪存有哪些要求(命令集,时序等)?
  • 是否有关于如何完成此操作的工作流程说明?

谢谢、此致、
Mathias

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

    尊敬的 Mathias:

    您可以查看 MCU+SDK 支持的以下刷写实用程序: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_02_00_24/exports/docs/api_guide_am243x/TOOLS_FLASH.html 

    此致、
    会面。

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

    您好、

    在检查工具的同时、您能否分享客户计划在其定制 DUT 上使用的 QSPI 闪存器件型号?

    此致、

    Vaibhav

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

    尊敬的会议:

    感谢您的链接。 据我了解、如果可以在 DEV 模式下引导器件、则可以访问外部 QSPI 闪存、对吗? 是否可以在没有应用程序或 XIP 映像的情况下将 NUL SBL 加载到第一个闪存部分?

    在 SDK 示例中、使用了较旧的 CCS。 使用 CCS 20.x 时、该过程是否相同?

    此致、
    Mathias

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

    尊敬的 Vaibhav:

    我们计划使用以下闪存器件之一:

    • IS25WJ064
    • GD25LQ64E
    • W25Q64JW

    它们都是 64Mbit /  1.8V 类型、并且根据我们自己的硬件开发团队、与 AM2434 兼容。 您有任何疑虑吗?

    此致、
    Mathias

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

    尊敬的 Mathia:

    我有您提到的 Winbond 和 ISSI Flash 的配置。 可以在定制 DUT 上尝试这些方法。

    请告诉我您希望继续使用哪一个、然后我可以相应地共享配置。

    为了让您测试配置、我希望您创建另一个 E2E、说明闪存器件型号和所需的配置。

    期待您的答复。

    谢谢、

    Vaibhav

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供此链接。 据我了解、如果可以在 DEV 模式下引导器件、则可以访问外部 QSPI 闪存、对吗? 是否可以在没有应用程序或 XIP 映像的情况下将 NUL SBL 加载到第一个闪存部分?

    这是正确的、是的、如果您不想加载任何应用程序、则可以只加载 SBL NULL。

    在 SDK 示例中使用了较旧的 CCS。 使用 CCS 20.x 的过程是否相同?

    对于较新的 CCS 版本、此过程有所不同、在初始化 SoC 时、CCS 20.x 版本不再支持 LoadJSFiIe 命令、您应该 在开发引导模式下直接从 CCS 加载 sciclient_ccs_init.release.out、另请参阅此内容了解刷写过程中的更改:  【常见问题解答】AM437/AM243:尝试使用 JTAG SBL 闪存映像时 CCS 遇到问题  

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

    感谢您的提示。 我创建了一个启动配置(请参阅下面的 launch.json 摘录)来加载提到的.out 文件。 遗憾的是、我还无法在目标板上试用。 但这基本上是正确的方法吗? 如果可以正常工作、是否必须在加载并使用 Uniflash 重新连接后断开调试器?

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "AM2434 Inital programming",
                "type": "ccs-debug",
                "request": "launch",
                "targetConfig": "${targetConfigFolder}\\AM2434_ALV.ccxml",
                "connections": [
                    {
                        "name": "Texas Instruments XDS2xx USB Debug Probe",
                        "cores":[
                            {
                                "name": "MAIN_Cortex_R5_0_0",
                                "program": "${SDK_INSTALL_PATH}\\mcu_plus_sdk\\tools\\ccs_load\\am243x\\sciclient_ccs_init.release.out",
                                "autoConnect": true
                            }
                        ]
                    }
                ]
            }
        ]
    }   

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

    尊敬的 Vaibhav:

    我们希望 在第一步中使用 IS25WJ064、但最终、所谓的解决方案应与所有提到的设备兼容。 对于“我想让您再创建一个 E2E、其中说明闪存器件型号和所需的配置、您的意思是什么?“ 我是否可以为该主题打开另一个论坛条目?

    此致、
    Mathias

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

    您好、

    指定的专家今天已离职。 请在接下来的 2/3 天内回复。

    此致、
    Ritapravo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的提示。 我创建了一个启动配置(请参阅下面的 launch.json 摘录)来加载提到的.out 文件。 遗憾的是、我还无法在目标板上试用。 但这基本上是正确的方法吗? 如果可以正常工作、是否必须在加载并重新连接 Uniflash 后断开调试器?

    没错、但您可以使用 SDK 中提供的 JTAG UNIFLASH 示例、并在初始化完成后将其加载到 R5 内核上: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_02_00_24/exports/docs/api_guide_am243x/EXAMPLES_DRIVERS_SBL_JTAG_UNIFLASH.html 

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

    我想我对编程过程的理解还有一个根本的问题。 很遗憾,这个链接对我没有帮助,因为,老实说,我不知道该怎么做。 我在 SDK 中找到了示例文件夹、但必须先重新编译工程吗?

    如果有人能向我解释必要的步骤、以便我能够理解整个过程、那将会很有帮助。

    遗憾的是、我目前没有 TI 的官方董事会。 我会尽快得到一个。 然后、我将根据 CCS 20.4 使用此电路板进行尝试。 我们不能也不想使用旧的 CCS 版本、因为它们不在开发容器中运行... Eclipse(非 Theia)是世界上最差的 IDE。

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

    我们的 DEVELOOPENT 合作伙伴公司的评估板有一个来自 Infineon 的 S25HS512TFABHM010 闪存。 若要访问此器件、需要进行哪些更改(如有)?

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

    要将任何内容从 CCS 加载到 R5 内核或任何其他内核、首先需要初始化 SoC。 有几种方法可以初始化 SoC、因为要通过 JTAG 执行刷写、您可以使用 CCS 脚本执行 SOC 初始化: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_02_00_24/exports/docs/api_guide_am243x/EVM_SETUP_PAGE.html#autotoc_md39 

    我共享的链接适用于较旧的 CCS 版本、但不适用于较新的 CCS 版本 (如 CCS 20.4)、因为从这些版本中删除了 LoadJSFiIe、所以我提到要初始化 SoC 、您需要直接从 CCS 加载 sciclient_ccs_init.release.out、您会在 MCU+SDK 中找到这个 SCICLIENT_ccs_init。

    2.此后、您可以从 CCS 将 am243-LP 的 SBL JTAG UNIFLASH 示例加载到 R5 内核、并按照提到的步骤通过 JTAG 刷写文件: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/11_02_00_24/exports/docs/api_guide_am243x/EXAMPLES_DRIVERS_SBL_JTAG_UNIFLASH.html 

    使用较新的 SDK 版本时、您将面临 CCS 问题 、因为较新的 CCS 版本也不支持 loadRaw 命令、下面我分享的常见问题解答将很有帮助:  【常见问题解答】AM464/AM243:尝试使用 SBL JTAG UNIFLASH 刷写映像时、CCS 面临问题  

    我们的开发合作伙伴公司的评估板上有一个来自 Infineon 的 S25HS512TFABHM010 闪存

    TI EVM am243-LP 型号具有 S25H L 512T 闪存器件及其配置与您使用的定制闪存相同、您可以按原样使用示例。

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

    您好、

    很抱歉耽误我的回答。 我参与了不同的项目,并能够照顾到它的接吻。  到目前为止、我可以做和理解的是以下步骤。

    1. 在 DEV 模式下引导 AM2434。 启动位是
      引导位 3. 4. 5. 6. 8. 9.
      状态 1. 1. 1. 1. 0 0
    2. 像我在前面的文章中提到的那样、通过在 CCS 20.4 中启动调试器(通过 launch.json 配置)开始初始编程。 之后、我得到了 CIO 的以下输出:



      当所有其他内核均断开连接时、CPU.R5_0_0 现在处于暂停状态 Main_Cortex_。 此时、调试器仍处于连接状态。

    3. 当我现在停止解编(以断开目标连接)并打开 Uniflash 以加载  mcu_plus_sdk\examples\drivers\boot\sbl_jtag_uniflash\am243x-evm\r5fss0-0_nortos\ti-arm-clang\sbl_jtag_uniflash.release.hs_fs.tiimage 时 、我会获得以下输出:

    我在做什么错误或我忘记了什么?


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ]现在停止下载(以断开目标连接)并打开 Uniflash 以加载  mcu_plus_sdk\examples\drivers\boot\sbl_jtag_uniflash\am243x-evm\r5fss0-0_nortos\ti-arm-clang\sbl_jtag_uniflash.release.i_sblows.tifts] 获取以下输出:

    您正在加载 tiimage 还是.out 文件? 则需要从 CCS 加载.out 文件。 此外、针对 am243-LP 使用 JTAG UNIFLASH 示例、而不是 am243-EVM、正如我之前提到的 、am243-LP 型号具有 S25H L 512T 闪存器件及其配置与您使用的定制闪存相同、但 am243-EVM 的配置会有所不同、可能会导致一些问题。

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

    感谢您的提示。  由于假期和 DevOps 环境的变化、我还无法试用。 我会尽快回复您。