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.

[参考译文] SK-AM62A-LP:使用 SD 卡加载 MCU 和 WKUP R5F 内核

Guru**** 2553450 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1335129/sk-am62a-lp-load-mcu-and-wkup-r5f-cores-using-sd-card

器件型号:SK-AM62A-LP

在生成 SD 卡时、如何包含 R5F 内核的软件?

我已经尝试了使用 CCS 调试构建的文件、它们是有效的。  
 
我尝试按照以下步骤操作: 引导远程内核—AM62Ax Academy 
但我无法看到如何为 WKUP 内核创建代码链接。  

WKUP 可以从 SD 卡加载(使用 NFS)吗?  

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

    古斯塔夫、您好!

    唤醒域 R5F 如何初始化?

    如您提供的链接中所述、

    唤醒 R5F 内核(或 DM R5F)不同。 该内核运行设备管理器(DM)软件、这对于其余处理器的正常运行至关重要。 因此、DM R5F 内核不会被 Linux 初始化。 另外、DM R5F 作为 tispl.bin 二进制文件的一部分集成、并在引导过程的早期启动。

    那么、这意味着什么? 您不能使用 Linux remoteproc 驱动程序来初始化 DM R5F。 而是由次级引导加载程序加载 DM R5F。

    我假设您使用的是 SPL 引导流程而不是 SBL 引导流程。 您可以在 AM62Ax 学院页面上找到有关该差异的一些基本信息:
    https://dev.ti.com/tirex/explore/node?node=A__ASKOt3iId42AwB.5ZyUWrw__AM62A-ACADEMY__WeZ9SsL__LATEST

    为了使 SPL 将不同固件加载到 DM R5F 中、需要将新固件构建到 SPL 文件中。

    如何将新的 DM 固件构建到 SPL 文件中?  

    请参阅此正在处理的常见问题解答。 本手册将介绍许多重要内容、包括如何确保 DM 固件实际运行器件管理(DM)任务、以及如何将更新后的二进制文件构建到 SPL 启动文件中:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1317407/faq-am625-how-do-i-modify-the-ddr-memory-footprint-of-the-dm-r5f

    请注意、截至2024年3月11日、该常见问题解答仍在"进行中"。 当我尝试修改存储器分配(减小分配大小、在 DDR 中移动分配)时、我仍然在调试问题。 目前、如果你只保留 Linux 端和 MCU+端的默认 DDR 分配、会更安全。

    最后、请注意常见问题解答开头的警告!!  

    "AM62Ax 客户、请注意、在我们的默认文件系统映像上运行的开箱即用 DM R5F 固件除了运行 DM 代码外、还运行 VPAC 代码。 如果您将其他项目加载到 DM R5F 中、您的摄像头功能可能会中断。"

    此致、

    尼克

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

    您好!  

    感谢您的回答。  

    我已经尝试按照指示,并已卡住。 我认为这与 AM62x 和 AM62Ax SDK 之间的细微差异有关。

    运行时: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=$uBoot_DIR/OUT/R5 BINMAN_INDIRS=\$TI_LINUX_FW_DIR/

    我收到错误:  
    binman:节点"/binman/board-cfg/ti-board-config "中的未知条目类型"ti-board-config"(预期的 ettype/ti_board_config.py、错误"没有名为"jsonschema"的模块"
    我发现此问题 :SK-AM62:u-Boot binman 使用处理器 SDK 09.00.00.03失败-处理器论坛-处理器- TI E2E 支持论坛、 但问题未解决。  

    PIP3 INSTALL u-boot-tools 提供:  
    pip3安装 u-boot-tools
    默认用户安装,因为正常站点包不可写
    错误:找不到满足要求 u-boot-tools 的版本(来自版本:无)
    错误:未找到 u-boot-tools 的匹配分配

    directory /prebuilt-images 中没有 am62axx-evm 目录。  

    您的以下链接:
    "然后 、按照以下步骤将 DM R5F 固件集成到 uboot 中:https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_01_00_08/exports/docs/linux/Foundational_Components 457-Boot/UG-General-Info.html"是用于 AM62x 指南的。  
    我找到了 适用于 AM62Ax 的相同指南:  3.1.1.一般信息- Processor SDK AM62Ax 文档 
    、但它没有提供更多帮助。  

    另一个问题可能是路径:  
    $导出 uBoot_DIR=
    $ export TI_LINUX_FW_DIR=
    $ EXPORT TFA_DIR=
    $ EXPORT OPTEE_DIR=

    我想我找到了正确的位置、但很难确定。  
     
    您是否知道可能会出什么问题以及如何进行?  

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

    古斯塔夫、您好!

    我的 Linux PC 在本周就已经使用了、因此我将把您的主题发送给另一位团队成员、帮助进行调试。

    您能否提供$ echo path_variable_values 以便我们可以验证路径? 您可以随意编辑任何个人信息(例如、在链接到"用户"的常见问题解答中更改实际用户名)

    此致、

    尼克

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

    您好、Nick、  

    路径变量的回波:

    回声$uBoot_DIR
    /git/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04 +gitAUTOINC+b0d717b732-gb0d717b732

    ECHO $TI_LINUX_FW_DIR
    /git/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/prebuilt-images

    回声$TFA_DIR
    /git/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/trusted-firmware-a-2.9 +gitAUTOINC+d7a7135d32

    回声$OPTEE_DIR
    /git/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/optee-os-4.0.0 +gitAUTOINC+2a5b1d1232


    我刚刚看到的另一个问题是我缺少"arm-none-linux-gnueabihf-"。  

    我通过以下方式完成了制作:
    使 ARCH=arm CROSS_COMPILE= arm-linux-gnueabihf- am62ax_EVM_R5_defconfig O=$uBoot_DIR/OUT/R5
    使 ARCH=arm CROSS_COMPILE= arm-linux-gnueabihf- O=$uBoot_DIR/OUT/R5 BINMAN_INDIRS=\$TI_Linux_FW_DIR/

    这是一个问题吗?  

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

    编译 SDK 的另一种方法是使用 SDK 顶级 Makefile、其中编译工具链*defconfig... 在"Rules.make"中配置。
    例如、要编译 u-boot、请从 SDK 安装文件夹中运行"make u-boot"。
    此致!
    -洪

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

    您好、Hong:  

    感谢您的选择!  

    当在 SDK 顶层运行"make u-boot"时、它会编译。  

    现在的问题是、我的新.xer5f 似乎没有加载到 tiboot3.bin 文件中。  
    我将"ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04+gitAUTOINC+b0d717b732-gb0d717b732/arch/arm/dts/k3-am62a-bink"中的文件名更改为"faq"中的常见问题解答。
    我将我的新文件放在了 "ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/prebuilt-images/ti-dm/am62axx"目录中。  

    但在构建文件并将其复制到 SD 卡后、DM UART 会打印:  
    #DM 建: 12月14 2023 20:29:31
    ##Sciserver 版本:v2023.11.0.0REL.MCUSDK.MM.nnN.PP.bb
    ##RM_PM_HAL 版本:VMM.NN.PP
    ##Starting Sciserver... 通过

    这似乎是默认的 DM 构建...
    是否有办法检查 tiboo3.bin 文件中是否包含了我的.xer5f 文件? 或者、我是否错过了某个步骤?  

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

    古斯塔夫、您好!

    简介

    我要抓取您的线程、以讨论远程内核的调试。

    无论您使用哪种 DM 二进制文件、我都希望 DM 任务的打印语句看起来相同。 对于您将使用特定 MCU+ SDK 生成的所有 DM 二进制文件、DM 任务本身应该相同。

    我的 Linux 计算机在本周就死了、所以我将无法运行测试一小段时间。 我将依靠您为我们运行测试。

    调试 DM R5F  

    您在 DM R5F 和 DM 任务上运行哪些固件?

    我还没有做过很多 DM R5F 调试、但是 我希望(至少)调试 DM R5F 内核的间接方法仍然有效(即、打印语句) 。 您甚至可以使用 CCS 直接加载 DM 固件符号并进行调试、但我不确定是否有任何额外的步骤专门针对 DM R5F、因为该 R5F 也在运行 DM 任务。

    即使您没有使用 Linux Remoteproc 驱动程序来初始化 DM R5F、如果您想让 Linux 能够将 RPMSg 与远程内核一起使用或访问调试日志、则"远程内核上的应用开发"页面中的所有概念仍应适用:

    AM62Ax Academy >多核模块>远程内核上的应用开发
    https://dev.ti.com/tirex/explore/node?node=A__AeO-0ljXOpe7uiPS6ozGxg__AM62A-ACADEMY__WeZ9SsL__LATEST 

    我建议通读整个文档、但此处列出了需要查看的具体概念

    *如果你想要 RPMSG IPC (与调试没有直接关系),你需要一个资源表

    *转到"TI 驱动程序移植层"> Debug Log 并启用"Enable Memory Log"也有助于进行调试

    *章节"如何在 Linux 运行时调试远程内核"

    如果您尝试按照"在 Linux 运行时从 CCS 调试远程内核程序"一节中的步骤进行操作、请告诉我它们是否适用于 DM R5F、或者是否需要进行更改! 我目前正在重写学院页面、以便针对 SDK 9.1对其进行更新。

    此致、

    尼克

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

    大家好、Nick。

    我成功地解决了这个问题!  
    我在星期五遇到的问题是、我忘了将 tispl.bin 复制到 SD 卡...  

    现在我的 DM R5F 引导并运行我的程序:)  


    调试方面的好提示、我将在进一步开发 DM 应用程序时使用它。  

    表示未来读者:  

    我还没有做一堆 DM R5F 调试,但 我希望(至少)调试 DM R5F 内核的间接方法仍然有效(即、打印语句) 。 您甚至可以使用 CCS 直接加载 DM 固件符号并进行调试、但我不确定是否有任何额外的步骤特定于 DM R5F、因为它也在运行 DM 任务。

    有关如何从 CCS 调试 DM R5F 的 SDK 指南: AM62Ax MCU+ SDK:在器件管理器/唤醒 R5内核上开发应用

    感谢您的帮助!  

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

    古斯塔夫、您好!

    很高兴听到您能够继续移动、感谢您回复该页面的链接! 我忘记了其中包括调试提示。

    如果您有后续问题、请随意创建一个新主题进行讨论。

    此致、

    尼克