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.

[参考译文] AM625:使用 MCU SDK 启动定制电路板

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1516035/am625-custom-board-bring-up-with-mcu-sdk

器件型号:AM625
Thread 中讨论的其他器件:SYSCONFIG、UNIFLASH

工具/软件:

未找到使用 MCU SDK 启动定制电路板的指南。

#1。 DDR 配置:没有提及、我认为应将 board_ddrReginit.h 替换为 SysConfig 生成的一个、重建 SBL 并将闪存连接到电路板以启用 CCS+JTAG 连接。

#2. 闪存工具/接口:仅支持 UART uniflash? 不支持 DFU? AM64x 支持 DFU。

#3. 如何刷写定制电路板用于大规模生产? UART 不是效率。  

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

    尊敬的 Tony:

    #1. DDR 配置:没有提及、我认为应将 board_ddrReginit.h 替换为 SysConfig 生成的一个、重建 SBL 和闪存到板以启用 CCS+JTAG 连接。

    我建议浏览以下指南: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/11_00_00_16/exports/docs/api_guide_am62x/DRIVERS_DDR_PAGE.html

    #2. 闪存工具/接口:仅支持 UART uniflash? 不支持 DFU? AM64x 支持 DFU.

    AM62x 上目前不支持 DFU。 也不支持其他可能是 JTAG Uniflash 的选项。 这使得我们目前只能使用 UART uniflash。

    测试的默认波特率为 115200、但它也应以高达 3Mbps 的速率运行。

    #3. 如何刷写定制电路板用于大规模生产? UART 不是效率。  [/报价]

    我建议您通读 Snagfactory: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components /Tools/Flash_via_Fastboot.html

    此致、

    Vaibhav

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

    Snagboot 基于用于 uboot 的 DFU、需要使用启用 DFU 进行构建。 如何使用 SBL 进行开发?

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

    尊敬的 Tony:

    如何使用 SBL 实现?

    当您说到如何使用 SBL 进行操作时、请详细说明需要从客户这边刷写所有映像、然后我可以进一步评论。

    此致、

    Vaibhav

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

    客户将使用 RTOS SDK 和 AM6254、应用程序在 A53 上运行、Autosar 在 R5F 上运行。

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

    尊敬的 Tony:

    [报价 userid=“35100" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1516035/am625-custom-board-bring-up-with-mcu-sdk/5828363 #5828363“]采用 AM6254 的 RTOS SDK

    在 RTOS SDK 中、我假设您是指 MCU 加上 SDK AM62x。

    MCU PLUS SDK AM62x 不具有对 USB 栈的本机支持。 如果要利用通过 USB 进行刷写的功能、客户需要生成 u-boot 映像、然后他们就可以通过 DFU 刷写任何映像。

    另一个选项(存在)是 UART Uniflash。  

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    若要刷写定制板、需要修改/替换哪个文件并重新编译? 我认为 stage2 文件也需要重建,没有看到它提到的地方。  

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

    尊敬的 Tony:

    我认为、为了确定需要修改的所有文件、我们可以执行以下步骤:

    1. 假设我希望我的配置遵循此处提到的内容:
    2. 然后、我们需要重建这里提到的每个文件、以确保对  board_ddrReginit.h 进行的更改和任何外部闪存配置。 [您暂时可以忽略上述文件中的第 23 行]
    3. 作为安全措施、可以重建所有库:主要是源代码/电路板和源代码/驱动程序下的库。

    此致、

    Vaibhav

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

    因此我想要提供定制电路板启动指南、这可以为不熟悉 TI 软件的用户节省大量时间。

    全部重建无法帮助客户了解引导过程、刷写过程等

    现在、客户虽然使用自己的 SysConfig ddr.h 文件重新编译、但仍无法刷写。

    我怀疑这是 DDR 问题、但如何使用 MCU SDK 进行调试?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这就是我要求提供定制电路板调试指南的原因

    尊敬的 Tony:

    这正在进行中。

    关于与解除武装、复员和重返社会方案有关的问题、我已将其交给另一位专家。

    此致、

    Vaibhav

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

    我的意思是如何使用 MCU SDK 调试 DDR、因为无法将 A53 连接到从 GEL 文件初始化。

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

    尊敬的 Vaibhav:

    因为詹姆斯在 6 月 1 日之前不上班。 您是否有关于在启动 MCU SDK 时如何调试 DDR 的建议? 这是我的第一个将 MCU SDK 与 AM62x 配合使用的客户。  

    下载阶段 1 和阶段 2 后是否可以连接到 R5F、以便在 CCS 中观察和重新初始化 DDR、并且它不会复位并丢失 JTAG 连接?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我怀疑这是 DDR 问题、但如何使用 MCU SDK 进行调试?

    这不会是 DDR 问题、因为 SBL Uniflash stage1 会在 DDR 中接收到 stage2 并从中引导。 由于 stage2 的状态为 successful、这意味着 stage1 能够成功引导 stage2。

    我认为问题出在 stage2 本身是由于定制的闪存器件。

    我从日志中看到客户正在使用“am62x-sk-LP"映像“映像。 请注意、此电路板的默认 Uniflash stage2 示例在 SysConfig 中启用了 NAND 闪存和 eMMC。

    那么、客户的电路板上是否提供了 NAND 和 eMMC 闪存器件?

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

    最好了解 DDR 正在运行。 PHY 模式受到影响。 现在、NULL SBL 可以引导到以下部分、

    它应该是 SK 板输出日志下方的“ Bootloader_loadSelfCpu “。 此值不应在 EVM 和定制电路板之间存在差异。

      INFO: Bootloader_runCpu:176: CPU m4f0-0 is initialized to 400000000 Hz !!!
      INFO: Bootloader_runCpu:176: CPU a530-0 is initialized to 1400000000 Hz !!!
      INFO: Bootloader_runCpu:176: CPU a530-1 is initialized to 1400000000 Hz !!!
      INFO: Bootloader_runCpu:176: CPU a531-0 is initialized to 1400000000 Hz !!!
      INFO: Bootloader_runCpu:176: CPU a531-1 is initialized to 1400000000 Hz !!!
      INFO: Bootloader_loadSelfCpu:229: CPU r5f0-0 is initialized to 400000000 Hz !!!
      INFO: Bootloader_JumpSelfCpu:248: All done, jumping self ...

    请建议...

    PS: 定制电路板上的 LP-DDR4 大小为 512MB。

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

    尝试在 SBL 的 Sysonfig 的引导加载程序实例之一中禁用启用的 DMA。 如果问题仅由 DMA 引起、则应该会有所帮助。

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

    它的工作原理是在 SBL 中禁用 DDR 内联 ECC、能否解释一下?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它可以通过在 SBL 中禁用 DDR 内联 ECC 来工作、是否可以解释?  [/报价]

    如果启用了 DDR 内联 ECC、则保留最后 1/9 地址空间。 给定 512MB DDR、最后一个~56MB 将被保留、因此会出现故障。 如果 ECC 保持启用状态、则必须相应地调整 WKUP R5F 应用地址空间。

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

    但 SysConfig dd 不会检测过边界、是否应该检测过边界?

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

    分配给安全专家进行澄清!!

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

    您好、Tony、

    在 AM62 器件中、链接器命令文件不是作为 syscfg 工具的一部分生成。 此外、由于我们在 SBL 中启用内联 ECC 并在 Wkup R5 应用程序链接器中定义 DDR 区域、因此 syscfg 无法抛出错误。 我们必须手动确保任何内核都不访问 DDR 的最后 1/9 区域。

    但 SysConfig dd 未检测到过边界、应该是吗?

    屏幕截图中的最后一点讨论了 ECC 区域超过 DDR 空间的 8/9 并进入 1/9 保留区域的情况。  

    此致、

    Nihar Potturu。  

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

    您好、Nihar、

    谢谢你。  

    最后一个问题:

    #1。 什么是 ECC 区域、SysConfig 中只有 4 个 ECC 区域、索引根据大小计算得出。 索引的用途是什么?

    #2. 用于 ECC 存储 ECC 结果的最后 1/9 空间是多少?

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

    您好、Tony、

    #1。 什么是 ECC 区域、SysConfig 中只有 4 个 ECC 区域、索引根据大小计算得出。 索引的用途是什么?

    您是否询问 SDRAM 索引?

    这里的 syscfg 工具本身提到了该说明。

    #2. 用于 ECC 存储 ECC 结果的最后 1/9 空间是多少?

    是、最后一个 1/9 区域用于存储 ECC 值。

    此致、

    Nihar Potturu。