您好!
我已经花了一些时间 通过 SK-AM62A-LP 上的 rpmsg 使用 IPC、并有一些 问题。
设置:
1. A53正在运行 Linux (不是 RT)- https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-PvdSyIiioq/09.00.00.03/tisdk-default-image-am62xx-lp-evm.wic.xz
DSP 和 MCU R5F 正在运行 IPC 示例:
root@am62axx-evm:~/data# ls -la /lib/firmware/am62a
lrwxrwxrwx 1根根目录2018年3月9日/lib/firmware/am62a-c71_0-fw ->/lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c7x_1.out
lrwxrwxrwx 1根根目录74 Mar 9 2018 /lib/firmware/am62a-c71_0-fw-sec ->/lib/firmware/ti-ipc/am62axx/ipc_echo_test_c7x_1_release_strip.xe71.signed
lrwxrwxrwx 1根根号69 Apr 29 00:16 /lib/firmware/am62a-mcu-r5f0_0-fw ->/lib/firmware/ti-ipc/am62axx/ipc_echo_test_mcu2_0_release_strip.xer5f
lrwxrwxrwx 1根根目录2018年3月9日/lib/firmware/am62a-mcu-r5f0_0-fw-sec ->/lib/firmware/ti-ipc/am62axx/ipc_echo_test_mcu2_0_release_strip.xer5f.signed
3. DM R5F 运行:
#DM 建在:八月7 2023 19:55:56
##Sciserver 版本:v2023.06.0.0.0-REL.MCUSDK.09.00.00.14+
##RM_PM_HAL 版本:v09.00.05
##Starting Sciserver... 通过
Question:
1.基准测试问题:使用 rpmsg_char_simple 编程时、我正在尝试对 A53与 DM、DSP 和 MCU 之间的 IPC 性能进行基准测试。 我得到的往返次数比下提供的数字要慢一些 IPC RPMSG 此处(即使是在计算单程与往返行程时)-> https://software-dl.ti.com/mcu-plus-sdk/esd/AM62AX/09_00_00_19/exports/docs/api_guide_am62ax/DATASHEET_AM62AX_EVM.html#autotoc_md67
以下是我的测试结果:
我对 rpmsg_char_simple:
- 添加了对具有-s 参数的动态消息大小的支持
- 调用 clock_gettime (clock_monotonic_raw、...) wrapping send_msg (...) 和 recv_msg (...) 计算往返时间
Question:
- 您能解释一下我的设置是否需要这些往返次数吗?
- 为什么它们与 MCU SDK 中报告的结果不同?
- 为什么 MCU 往返时间比 DM 和 DSP 时间高得多?
2. 最大消息大小问题:通过一些 试错使用未经修改的 rpmsg_char_simple 程序我看到只有以下消息大小才会成功:
- A53 <-> DSP:<= 68字节
- A53 <-> MCU:<= 496字节
- A53 <-> DM :<= 68字节
不过、查看源代码、可以看到发送缓冲区是512字节、接收缓冲区是256。 那么、这些消息大小限制来自哪里呢?
提前感谢您!
Evan Meirink