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.

[参考译文] AM69A:[J784S4/AM69A ] PSDK RTOS 11.02—构建 R5F 自定义固件

Guru**** 2862450 points

Other Parts Discussed in Thread: AM69A

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1637955/am69a-j784s4-am69a-psdk-rtos-11-02-building-r5f-custom-firmware

器件型号: AM69A

环境:
主机:WSL2 Ubuntu 22.04、x86_64
SDK:ti-processor-sdk-rtos-j784s4-evm-11_02_00_06
目标板:Toradex Aquila AM69A SoM (AM69A / J784S4 SoC)
目标:Linux+RTOS 模式—构建 R5F 和 C71 DSP 固件、部署到电路板上的/lib/firmware


问题 1:缺少 tivision_apps 目标

从 SDK_Builder 运行 make SDK 失败、出现以下情况:

Make[2]:***没有生成目标“tivision_apps"的“的规则。 STOP
maker[1]:***[makerules/makefile_vision_apps.mak:24:edgeai_deps]错误 2.
make:***[Makefile:65:SDK]错误 2.

查看 makefile_vision_apps.mak、edgeai_deps 目标调用:

$(make)-C $(vision_apps_path) tivision_apps

但是、vision_apps/Makefile 仅定义:all、doxy_docs、doxy_design_docs、doxy_datasheet_docs—不存在 tivision_apps 目标。 我通过修补生产线来解决这一问题、而是全部使用、但我没有信心这是正确的、并且想要知道正确的方法。


问题 2:构建完成、但未生成.out 固件文件

修补上述内容后、编译会在以下位置运行并生成.lib 文件:

vision_apps/out/J784S4/R5F/freertos/release/*。lib
vision_apps/out/J784S4/C7120/freertos/release/*。lib

但我在任何地方都找不到最终链接的固件.out 文件、具体来说、这些文件缺失:

vx_app_rtos_linux_mcu2_0_release_strip.out
vx_app_rtos_linux_c7x_1_release_strip.out(通过 c7x_4)

搜索整个 SDK 目录不会找到任何内容:

查找~/ti/ti-processor-sdk-rtos-j784s4-evm-11_02_00_06 -name “vx_app_rtos*.out"</s>“
(不返回任何值)

中间库正在正确编译—app_rtos_COMMON_MCU2_0.lib 等已存在并正确调整了大小、因此编译步骤似乎没问题。 这是未运行的最后一个链接/二进制文件生成步骤。


我尝试过的方法:
-从 sdk_builder 运行 make sdk 与 bare make
-在命令行中显式传递 BUILD_QNx_MPU=no SOC=j784s4 RTOS=FreeRTOS
-确认 Makefile 中的 J784S4 默认值:build_CPU_MCU2_0=yes 至 MCU4_1=yes、C7x_1 至 C7x_4=yes 均设置为?=yes
-这个 SDK 版本的 sdk_builder 中没有 Rules.make—这是预期的吗?
-运行 setup_psdk_rtos.sh 并安装 Linux 部分后,我能够构建 mcux_0/1.out 二进制文件。 该指南使 Linux 部分似乎没有必要。
 
问题:

1.在 J784S4 11.02 上对 Linux+RTOS 模式进行的正确调用是什么以生成最终的.out 固件二进制文件? 除了 make SDK 之外、是否有单独的步骤或目标会触发最终链接?

2. tivision_apps 在 11.02 中是否为已知的重命名或删除目标? 什么是正确的替换?

3.固件构建器页面提到./psdk_rtos/scripts/setup_psdk_rtos.sh --firmware_only—是否应该使用此工具而不是直接使用 SDK 来生成可部署的固件? 文档建议--firmware_only 尚未完全简化。

4.在 J784S4 上、在部署标准 vision_apps Linux+RTOS 固件后、MCU4_0 和 MCU4_1 (MAIN_R5FSS2_0 和 MAIN_R5FSS2_1) 是否可用于自定义 FreeRTOS 固件? vision_apps 构建标志包括 BUILD_CPU_MCU4_0 和 BUILD_CPU_MCU4_1、这表明 TI 固件可以声明它们 — 但我想将其用于自定义固件,并可能完全使用不同的 RTOS、例如 Zephyr 或 nuttx。 如果已声明、那么在标准 Linux+RTOS 配置中、哪些 R5F 内核(如果有)可自由使用?

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

    尊敬的 Daniel:

    -运行 setup_psdk_rtos.sh 并安装 Linux 部分后、我能够构建 mcux_0/1.out 二进制文件。 该指南使它看起来似乎没有必要的 Linux 部分。

    您参考的是哪个指南。

    遵循该指南构建固件、

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/11_01_00_04/exports/docs/vision_apps/docs/user_guide/BUILD_AND_RUN.html

    [quote userid=“695460" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1637955/am69a-j784s4-am69a-psdk-rtos-11-02-building-r5f-custom-firmware 固件构建器页面提到./psdk_rtos/scripts/setup_psdk_rtos.sh --firmware_only — 是否应使用此工具而不是直接使用 SDK 来生成可部署固件? 文档建议--firmware_only 尚未完全简化。

    因此、对固件编译器支持的 edgeai 支持从 TI 一方的 SDK 11.00 停止。 您可以从 Toradex 论坛获得进一步发布的支持。

    [quote userid=“695460" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1637955/am69a-j784s4-am69a-psdk-rtos-11-02-building-r5f-custom-firmware 在 J784S4 上、在部署标准 vision_apps Linux+RTOS 固件后、MCU4_0 和 MCU4_1 (MAIN_R5FSS2_0 和 MAIN_R5FSS2_1) 是否可用于自定义 FreeRTOS 固件? vision_apps 构建标志包括 BUILD_CPU_MCU4_0 和 BUILD_CPU_MCU4_1、这表明 TI 固件可以声明它们 — 但我想将其用于自定义固件,并可能完全使用不同的 RTOS、例如 Zephyr 或 nuttx。 如果已声明、则哪些 R5F 内核(如果有)可在标准 Linux+RTOS 配置中免费使用?

    我可以给出关于 RTOS SDK 的建议、您必须在 sdk_builder/vision_apps_build_flags.mak 和 vision_apps/platform/j784s4/rtos/common/app_cfg.h 中进行更改
       

    为要用于自定义固件的内核禁用构建和禁用 IPC。

    此致、
    Gokul

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

    感谢您的答复 Gokul、

    根据您所说的、这是否意味着我可以为所需的内核禁用 IPC、并且仍然能够使用完整的视觉/AI 硬件加速器?

    最好禁用哪些内核、或者禁用哪些内核很重要?

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

    尊敬的 Daniel:

    您说过、这意味着我可以为我想要的内核禁用 IPC、并且仍然能够使用完整的 VISION/AI 硬件加速器?

    您可以通过这种方式禁用内核。

    视觉加速器会映射到特定内核、如果禁用这些内核、则无法使用这些内核。

    加速器->核心映射

    VPAC0 -> MCU2_0
    DMPAC -> MCU2_1
    VPAC1 -> mcu4_0

    C7x MMA(对于 ai)->所有 4 个 c7x 内核。
    GPU、编解码器-> A72  

    此致、
    Gokul