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.

[参考译文] TDA4VL-Q1:使用视觉应用运行 mcusw 的 CAN 配置文件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1583405/tda4vl-q1-run-the-can-profile-of-mcusw-with-vision-app

器件型号: TDA4VL-Q1

尊敬的 TI:

我将尝试在 ti-processor-sdk-rtos-j721s2-evm-10_01_00_04 中使用 vision 应用运行 mcusw 的 CAN 配置文件。

我参考链接的补丁 TDA4VM:使用 Vision App 运行 mcusw 的 CAN 配置文件 — 处理器论坛-处理器 — TI E2E 支持论坛

我使用的是 FreeRTOS、因此我的构建命令以“make -s can_profile_app Board=j721s2_evm SOC=j721s2 build_profile=release core=mcu1_0 build_os_type=freertos“的形式运行。

但是、MCU1_0 的串行端口上没有打印。

我不知道如何修改 J721S2 PSDK 中的文件、您有任何建议吗? 或者您能否提供补丁?

非常感谢!!

Alice

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

    您好 Alice、

    您将在 MCU1_0 内核的 MCUSS demos 中单独运行基于 FreeRTOS 的 CAN_PROFILE_APP 示例。 这是一种理解。

    使用 Vision 应用程序意味着什么? 视觉应用通常在主域内核上运行,但不在 MCU 内核上运行。 您遵循的引导顺序是什么?

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    我想我想做与链接提到的一样 、TDA4VM:使用 Vision 应用运行 mcusw 的 CAN 配置文件 — 处理器论坛-处理器 — TI E2E 支持论坛。  

    我想使用 SD 卡引导、主域运行 visionapps、MCU 内核通过  SD 卡 rootfs/lib/fware 中的 can_profile_app_mcu1_0_release.xer5f 复制为 j7-mcu_r5f0_0-fw 来运行 mcuss 演示

    我正在跟踪 spl boot。  

    谢谢!

    Alice

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

    您好 Alice、

    与您提到的 E2E 相比、已经发生了重大变化、最新的 can_profile_app 已经 5 年前开始工作。之前、它是在 TI RTOS 上、现在它基于 FreeRTOS。

    现在、您可以参考 mcusw/mcal_drv/mcal/examples/CddIpcRProcLinux/j721s2/mcu1_0/linker_r5_rc_linux.lds、并修改 can_profile_app 的 soc 链接器文件。

    can_profile_app 应独立运行,而 SBL ,因为您希望与 SPL 一起使用,所以您需要修改链接器文件,使其与上述文件相同。

    将 mcusw/mcuss_demos/profileing/can/overrides/j721s2/mcu1_0/linker_r5_freertos.lds 与 mcusw/mcal_drv/mcal/examples/CddIpcRlinux/j721s2/mcu1_0/linker_r5_rc_linux.lds  进行必要的修改、而不是使用 soc 复位矢量。

    此致

    Tarun Mukesh

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

    您好 Alice、

    在应用程序开始时、您修改的复位矢量与 CDD IPC Rproc Linux 中的相同  

    void _freertosresetvectors (void);
    memcpy ((void *) 0x0、(void *)_freertosresetvectors、0x40);

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

    尊敬的 Tarun:

    我在 mcusw/mcuss_demos/proxing/can/MAIN_rtos.c 的 main 函数开始处添加了它们 但它也不能起作用。

    Alice

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

    您好 Alice、

    理想情况下、这些更改应该足够了。

    当您将调试器连接到该内核时、您能告诉我该内核指向的确切位置吗?

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    这是什么意思?  

    非常感谢!!

    Alice

    P.S. EVM 板切换到 SD 引导模式。

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

    您好 Alice、

    不要为调试器连接切换任何引导模式、可以连接到 MCU1_0 内核并加载符号、然后就可以看到 MCU1_0 上的代码在哪里产生。

    您可以在 Linux 日志的主 UART 上看到任何内容吗?

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    我不知道我在做你说的事情。

    我使用 CCS+H 作为调试器连接、因为我想使用 SD 引导、所以切换到了 EVM 板上的 SD 引导模式。

    打开 EVM 板后、输出用于 Linux 日志的主 UART、然后连接 MCU_Cortex_R5_0 并加载符号 (can_profile_app_freertos_mcu1_0_release.xer5f)。

    MCU1_0 的 UART 输出、以及我认为的内容。

    CAN Profile App:Variant - Pre Compile being used !!!
    CAN Profile App:NOTE : Operating in interrupt mode!
    CAN Profile App:Average of -1.113 usecs per packet
    CAN Profile App:Average of 0 packets in 1 second with CPU Load 0.000000%
    CAN Profile App:Packets sent: 0, Packets recv: 0 in total time: 113 us
    CAN Profile App:Measured Load: Total CPU: 100.000000%, TSK: 0.000000%
    CAN Profile App: 3528 bytes used for stack
    CAN Profile App:Profiling completes sucessfully!!!
    CAN Profile App: Successfully Enabled CAN Transceiver MCU MCAN0!!!
    CAN Profile App: Successfully Enabled CAN Transceiver MCU MCAN1!!!

    用于 Linux 日志的主 UART 如下所示。
    https://ideone.com/EEEe6j
      
    如果我有任何误解、请告诉我。

    非常感谢!!

    Alice

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

    您好:

    打开 EVM 板后、输出用于 Linux 日志的主 UART、然后我连接了 MCU_Cortex_R5_0 并加载符号 (can_profile_app_freertos_mcu1_0_release.xer5f)。

    加载符号后、您到底看到了什么?

    MCU1_0 的 UART 输出以及我认为的内容。

    如果日志以这种方式出现、则表示它成功。

    、用于 Linux 日志的主 UART 显示以下内容。
    https://ideone.com/EEEe6j

    它是 TI 中的一个被阻止的站点、您能否使用插入选项并附加日志?

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    对于主 UART Linux 日志、我很抱歉。

     

    U-Boot SPL 2024.04-ti-ga970f6e51043 (Nov 13 2024 - 14:26:23 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    SPL initial stack usage: 13456 bytes
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Loading Environment from nowhere... OK
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
    NOTICE:  BL31: Built : 04:20:32, Nov  1 2024
    I/TC: 
    I/TC: OP-TEE version: 4.4.0-dev (gcc version 13.3.0 (GCC)) #1 Fri Oct 18 17:45:27 UTC 2024 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    I/TC: Activated SA2UL device
    I/TC: Fixing SA2UL firewall owner for GP device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: HUK Initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2024.04-ti-ga970f6e51043 (Nov 13 2024 - 14:26:23 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    Trying to boot from MMC2
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
    
    
    U-Boot 2024.04-ti-ga970f6e51043 (Nov 13 2024 - 14:26:23 +0000)
    
    SoC:   J721S2 SR1.0 GP
    Model: Texas Instruments J721S2 EVM
    Board: J721S2X-PM1-SOM rev E4
    DRAM:  2 GiB (effective 16 GiB)
    ti_sci system-controller@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci system-controller@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci system-controller@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci system-controller@44083000: ti_sci_get_response: Message receive failed. ret = -110
    No serial driver found
    resetting ...
    ti_sci system-controller@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci system-controller@44083000: ti_sci_get_response: Message receive failed. ret = -110
    ti_sci system-controller@44083000: ti_sci_get_response: Message receive failed. ret = -110
    System reset not supported on this platform
    ### ERROR ### Please RESET the board ###
    

    加载符号后、您到底看到了什么?

    MCU_Cortex_R5_0 刚刚运行。 在主 UART 日志转到“Please reset the board“后、我按下停止按钮、结果显示为这样。

    如果日志以这种方式出现、则它是成功的。

    抱歉、我的操作可能有一些错误。 在加载符号之前、我会执行 CPU 复位、并正常输出 MCU UART 日志。

    但是、如果我没有执行 CPU 复位、MCU1_0 的串行端口上就没有打印、它将像上图所示。

    顺便说一下、我还在没有进行任何修改的情况下测试了“mcusw/mcuss_demos/profileing/can/overrides/j721s2/mcu1_0/linker_r5_freertos.lds",“,这、这也适用于 CPU 复位。 (插入 SD 卡和 EVM 板 SD 卡引导模式)

    感谢您的回复!!

    Alice

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

    您好 Alice、

    你做错了。

    您正在执行哪个引导顺序? SBL 还是 SPL?

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    SPL。

    当您将调试器连接到此内核时、您能告诉我该内核确切指向何处吗?

    抱歉误解、但我该如何通过 SD 卡启动来澄清这一点?

    非常感谢!!

    Alice

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

    我想确保我正在执行的步骤。

    使用 “make -s can_profile_app Board=j721s2_evm SOC=j721s2 build_profile=release core=mcu1_0 build_os_type=freertos“编译二进制文件后、将 can_profile_app_mcu1_0_release.xer5f 复制到 rootfs/lib/firmware 中的 j721s2-mcu_r5fs2_0_0-fw。

    打开 MCU UART 和主 UART 并重新启动电路板。

    是否有任何步骤错误?

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

    您好 Alice、

    是否有任何步骤错误?

    是的。  

    在早期的 SDK 中 、出现了 j721S2-mcu_r5f0_0-fw 概念、但现在没有此类概念。 您需要下载相同 SDK 版本的 Linux SDK 和

    如果要更改 MCU1_0 映像、那么现在您需要 按照 URL 中所述执行操作

    此致

    Tarun Mukesh

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

    您好、Alice:

    错误:等待线程 SP_RESPONSE 填充时超时
    错误:线程 SP_RESPONSE 验证失败(–60)
    错误:消息接收失败(–60)
    错误:获取响应失败(–60)
    错误:传输发送失败(–60)
    错误:等待线程 SP_RESPONSE 填充时超时
    错误:线程 SP_RESPONSE 验证失败(–60)
    错误:消息接收失败(–60)
    错误:获取响应失败(–60)
    错误:传输发送失败(–60)

    上述日志表明 MCU1_0 内核没有针对 sclient 请求的响应、即 DM(设备管理器)内核没有对资源请求的响应。

    您能否确保以下几点:  

    1) 按照常见问题解答之前和下面的建议更新 MCU1_0 CAN 应用。
    【常见问题解答】TDA4VM:A72 上 CAN 以及 Linux 上的 MCUSW 演示

    2) 生成 MCU1_0 映像后、请确保按照下面链接中的说明更新 MCU1_0 (DM) 固件。 将图像复制到 Link SDK。
    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/latest/exports/docs/linux/Foundational_Components_ linux-console-user-space 的 ipc_J721E.html#booting-remote-cores-from-linux-console-user-space

    a) 将二进制文件复制到 与 RTOS 版本相同的 Linux SDK  
    b) 重新编译 u-boot。
    c) 将更新的 tispl.bin 和 tiboot3.bin 复制到引导介质。

    此外、连接调试器并检查 MCU1_0 是否正在运行或是否发生任何异常。

    此致、
    Sudheer

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

    尊敬的 Doredla 和 Tarun:

    感谢您的答复。

    我遵循了 Karan Saxena 对该链接的最后回复  【常见问题解答】TDA4VM:在 A72 的 CAN 侧 Linux 上进行 的 MCUSW 演示、并将 ipc_echo_testb_mcu1_0_release_strip.xer5f 替换 为命令“host# cp /ipc_echo_testb_freertos_mcu1_0_release.xer5f /board-support/prebuilt-images/ti-dm/j721e/ipc_echo_testb_mcu1_0_release_strip.xer5f “。

    现在它可以正常打印和运行 MCU_1_0、非常感谢!!

    Alice