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.

[参考译文] AM62P:AM62P R5 内核引导

Guru**** 2898950 points

Other Parts Discussed in Thread: AM62P, UNIFLASH

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1642636/am62p-am62p-r5-core-booting

部件号: AM62P
Thread 中讨论的其他器件: UNIFLASH

您好、

我目前正在研究 Texas Instruments AM62P SoC、具体侧重于 R5 内核。 我已经设置了 TI MCU+ SDK 和所需的工具链。

我正在尝试构建 Hello World 示例并将其刷写到 R5 内核 (AM62P SKEVM) 中。 我遵循了 TI 文档中提供的构建和刷写步骤、但仍然无法成功刷写应用程序。

我对引导模式也有点困惑、尤其是 UART 引导和 OSPI 引导之间的差异、以及此工作流程应使用哪一个。

您能否请阐明正确的过程并建议采用适当的引导模式来刷写和运行 R5 应用程序?

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

    您好、

    我正在尝试构建 Hello World 示例并将其刷写到 R5 内核 (AM62P SKEVM) 中。 我遵循了 TI 文档中提供的构建和刷写步骤、但仍然无法成功刷写应用程序。

    您能详细介绍一下遇到的问题、并分享刷写日志吗?

    我对引导模式也有点困惑、尤其是 UART 引导和 OSPI 引导之间的差异、以及应将哪一个用于此工作流程。

    我想您参考了本指南: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/11_01_01_08/exports/docs/api_guide_am62px/GETTING_STARTED_FLASH.html 

    在这里、我们使用 UART 引导模式使用 UART UNIFLASH 工具将 SBL 和应用程序二进制文件刷写到 OSPI 闪存、刷写完成后、您需要将引导模式切换到 OSPI、以便 ROM 可以从 OSPI 引导加载程序引导映像、若要获取有关引导加载程序的更多信息、您也可以参阅以下内容: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/11_01_01_08/exports/docs/api_guide_am62px/BOOTFLOW_GUIDE.html 

    如果对此有任何具体疑问、请告诉我。

    此致、

    会面。

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

    你好, 见塔卡 

    我不熟悉 Texas Instruments AM62P SoC、目前正在探索使用 TI MCU+ SDK 在 R5 内核上进行开发

    之前、我主要使用独立 MCU、在独立 MCU 中、可以将固件直接刷写到内部闪存中。 在 AM62P 中、我对工作流程有点困惑。

    具体而言、我想了解:

    • 无论是可以直接从 PC 刷写 R5 固件(类似于典型的 MCU 工作流程)、还是
    • 如果我需要依赖 Linux 端(例如,Remoteproc 或其他机制)加载并运行固件

    我也不确定引导模式 (UART 与 OSPI) 如何融入此过程。

     您能否阐明在该平台上开发和运行 R5 应用程序的正确方法?

    谢谢!

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

    你好, 见塔卡 

    下面是错误信息:



    以下是 default_sbl_ospi_linux_hs_fs.cfg 中的内容

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

    尊敬的 

    之所以出现该错误、是因为您在编译过程中未运行 SDK Makefile。

    您可以按照 指南的刷写应用部分中提到的“构建所有二进制文件“步骤进行操作:
    入门指南

    此步骤可确保在刷写之前正确生成所有必需的二进制文件。

    [报价 userid=“685432“ url=“~/support/processors-group/processors/f/processors-forum/1642636/am62p-am62p-r5-core-booting/6334000
    • 无论是可以直接从 PC 刷写 R5 固件(类似于典型的 MCU 工作流程)、还是
    • 如果我需要依赖 Linux 端(例如,Remoteproc 或其他机制)加载并运行固件
    [/报价]

    AM62P 与独立 MCU 不同、因为它 没有内部闪存。 因此、在传统 MCU 检测模式下、R5 固件无法直接从 PC 刷写。

    对于 R5 开发、有 三个常见的工作流程

    1. JTAG(仅限开发)
      您可以使用基于 JTAG 的 CCS 直接从 PC 加载和运行 R5 应用程序。
      这对于调试很有用、但固件在复位后不是持久的。

    2. 使用 UART/OSPI(与 MCU‑类似)进行独立引导
      R5 固件打包在 系统引导映像中 (例如,使用 default_sbl_null_hs_fs.cfg、default_sbl_ospi.cfg)、并通过 UART UniFlash 进行刷写
      引导时、ROM 和引导加载程序直接加载并启动 R5 应用程序。
      这种情况下不涉及 Linux。

    3. 基于 Linux‑的方法(建议用于完整系统)
      Linux 在 A53 内核上运行、并使用 Remoteproc 加载 R5 固件
      这样可以更轻松地对 R5 固件进行更新和运行时控制。

    我也不确定引导模式 (UART 与 OSPI) 如何适合此过程。

    引导模式 (UART 与 OSPI) 仅定义 引导映像的加载位置;它们不会改变 R5 应用程序本身的执行方式。

    • UART 引导模式
      ROM 引导加载程序等待通过 UART 从 PC 发送引导映像(例如使用 UniFlash)。
      ‑主要用于电路板启动、刷写和早期调试

    • OSPI 引导模式
      ROM 引导加载程序 在‑μ s ON 时自动从外部 OSPI 闪存获取引导映像。
      这是典型 的生产引导模式

    谢谢、

    JOMY

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

    您好、   

    我按照文档中的步骤操作、最初使用了 UART 引导模式以及 default_sbl_null_hs_fs.cfg

    之后、我修改 default_sbl_ospi_linux_hs_fs.cfg 并添加了 hello_world 示例应用程序映像。 之前、我收到了我之前评论中提到的错误。 要继续、我从配置文件中注释掉了以下条目:

    # HSM 映像以 0x800000 或引导加载程序配置的任何偏移进行刷写
    #--file=HSMAppimageGen/board/am62px-sk/HSM.appimage.hs_fs --operation=flash --flash-offset=0x240000

    # Linux 映像会在 0xC00000 处或为引导加载程序配置的任何偏移处刷新
    #--file=linuxAppimageGen/board/am62px-sk/linux.appimage.hs_fs --operation=flash --flash-offset=0x1200000

    # u-boot.img 刷写到 0x280000
    #--file=linuxAppimageGen/board/am62px-sk/u-boot.img --operation=flash --flash-offset=0x280000

    注释掉这些内容后、刷写成功完成、现在我可以看到 R5 内核的“Hello World“输出。

    我的 疑问是:

    • linuxAppimage HSMAppimage u-boot.img 仅使用 R5 内核时、为什么需要、和?
    • 此处的 Linux 映像是指在使用 Processor SDK 构建的 A53 内核上运行的 Linux 内核/软件吗?

    由于我主要尝试运行一个简单的 R5 MCU 应用程序、因此我想了解这些组件是必需的、还是只需要 Linux/A53 引导流程才需要。

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

    尊敬的 

    为什么是 linuxAppimageHSMAppimage并且 u-boot.img 只使用 R5 内核时需要?

    仅 Linux/A53 引导流程用例需要这些组件。

    此处的 Linux 映像是否指在使用 Processor SDK 构建的 A53 内核上运行的 Linux 内核/软件?

    是的、这指的是使用 Processor SDK Linux 构建的 Linux 软件栈(内核和相关组件)

    对于您的用例 (R5“Hello World“):

    • 仅需要 SBL + R5 应用程序
    • 可以跳过 Linux/HSM/U-Boot

    谢谢

    JOMY