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.

[参考译文] TDA4VM:[6.2.00.21-SDK] C71在 Vision 应用测试环境中只能从 A72 Linux 应用中接收8个字节

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/896298/tda4vm-6-2-00-21-sdk-c71-only-can-receieve-8bytes-from-a72-linux-app-in-vision-app-test-environment

器件型号:TDA4VM

大家好、

最近、我使用的是6.2.00.21-SDK、并遇到以下问题:

编译视觉应用程序后、创建了 SD 卡;并运行视觉应用程序、找到:

使用我自己的 C71 IPC 测试固件替换/lib/firmware/j7-c71_0-fw 中的固件、并运行我自己的 A72 liunx 用户空间应用代码。 那么、C71中只能通过 IPC 接收8个字节;其中有任何限制代码/宏?

我已经向 IT FAE ming-zhong@ti.com 提供了 C71和 ARM 代码

请帮我们解决问题!

非常感谢!

此致

塞缪尔

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

    您好、Samuel、

    IPC 中不限制8个字节。 我检查了您共享的测试代码、我在 c7x 上的测试代码中看到了 msg 内容的打印、在 for 循环中、"i"增加了8、并且打印中也增加了8。 如果更改此项以删除乘以8、您仍然看到任何问题吗?

    谢谢、

    Angela

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

    尊敬的 Angela:

    谢谢! 我认为这解决了这个问题。 我修复了 C71X_LOG,现在我们看到 DSP 收到了正确的字节:-)。

    /ipc_test -e 9 13.
    INFO:char 器件名称:/dev/rpmsg_ctrl2
    INFO:创建端点位置名称/端口:rpmsg_chrdev/13
    **信息**:端点设备 ME:/dev/rpmsg0
    INFO:char 器件名称:/dev/rpmsg_ctrl3
    INFO:按本地名称/端口创建 ent:rpmsg_chrdev/14
    **信息**:端点十名:/dev/rpmsg1

    ---- AIO 测试---

    [0] 写入 MSG:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 112 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
    [1] 写入 MSG:001 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 17 18 19 1A 1B 1C 1D 1E 1F
    [2] 写入 MSG:00 01 023 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 17 19 1A 1B 1C 1D 1E 1F
    [3] 写入 MSG:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19A 1B 1C 1D 1E 1F
    [4] 写入 MSG:00 01 02 03 04 05 06 07 089 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
    [5] 写入 MSG:00 01 02 03 04 05 06 07 08 09 0AB 0C 0D 0E 0F 10 11 12 13 14 15 17 18 19 1A 1B 1D 1E 1F [6] 写入 MSG: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18  
    [  写入 MSG:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 101 12 13 14 15 17 18 19 1A 1B 1C 1D 1E 1F
    [8] 写入 MSG:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 123 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
    [9] 写入 MSG:00 012 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 17 18 19 1A 1B 1C 1D 1E 1F
    [50462976] MSG RECV:00 01 03 04 05 06 07 08 09
     *[50462976]信息:AIO echo time:15855026393597.50us
    INFO:通知条件 var,时间= 50462976
    INFO:AIO COND 等待返回。
     *信息:总时间:14.25us、平均值:1.47us
    过程结束...

    根目录@J7-EVM:~# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0
    跟踪:MEM:初始化... !!!
    跟踪:MEM:创建的堆(2823100504、=0、标志=0xa84518a8)@@0000a851cd22、大小为0字节!!!
    跟踪:MEM:创建的堆(2823100608、id=0、flags=08451910)@@0000a851cd22、大小为1字节!!
    跟踪:MEM:已分配的堆(2823100712、id=0、标志=0xa8451978)@@0000a851cd22、大小为2字节!!!
    跟踪:MEM:创建的堆(28231816、id=0、标志=0xa84519e0)@@0000a851cd22、大小为3字节!!!
    跟踪:MEM:创建的堆(2823100920、id=0、标志= 0xa8451a48)@@0000a851cd22 (大小为4字节!!!
    跟踪:MEM:NIT... 完成了!!!
    跟踪:Linux VDEV 立即启动.....
    跟踪:LinuVDEV 现已就绪.....
    跟踪:c71x_rpmsg_recv_handle_init
    跟踪:c71x_rpmsg_send_handle_init
    跟踪:c71x_init do

     00、01、02、03、05、06、07

     08,09,0a、0b、ca、0d、0e、0f
     10、11、12、13、FD、15、16、17

     18、19、1a、1b、AC、1D、1e、1f
    /n recvmsg 0020
    跟踪:接收到 c71x_recv_msg

     002,03,04,05,06,07

     08,09,0a、0b、ca、0d、0e、0f

     10、11、123、FD、15、16、17

     18、19、1a、1b、AC、1D、1e、1f
    /n recvmsg 0020
    跟踪:接收到 c71x_recv_msg

     00、01、02、03、05、07

     08,09,0a、0b、ca、0d、0e、0f

     10、11、12、13、FD、15、16、1

     18、19、1a、1b、AC、1D、1e、1f
    /n recvmsg 0020
    跟踪:接收到 c71x_recv_msg

     00、01、02、03、05、06、07

     009,0a、0b、ca、0d、0e、0f

     10、11、12、13、FD、15、16、17

     18、19a、1b、AC、1D、1e、1f
    /n recvmsg 0020
    跟踪:接收到 c71x_recv_msg

     00、01、02、03、05、06、07

     08,09,0a、0b、ca、0e、0f

     10、11、12、13、FD、15、16、17

     18、19、1a、1b、AC、1D、11F
    /n recvmsg 0020
    跟踪:接收到 c71x_recv_msg

     00、01、02、03、05、06、07

     08,09,0a、0b、ca、0d、0e、0f
    10、11、12、13、FD、15、16、17

     18、19、1a、1b、AC、1D、1e、1f
    /n remsg 0020
    跟踪:接收到 c71x_recv_msg

     00、01、02、03、05、06、07

     08,09,0a、0b、ca、0d、0e、0f

     10、11、12、13、15、16、17

     18、19、1a、1b、AC、1D、1e、1f
    /n recvmsg 0020
    ACE:接收到 c71x_recv_msg

     00、01、02、03、05、06、07

     08,09,0a、0b、ca、0d、0e、0f

     10、11、12、13、FD、15、16、17
     18、19、1a、1b、AC、1D、1e、1f
    /n recvmsg 0020
    跟踪:接收到 c71x_re_msg

     00、01、02、03、05、06、07

     08,09,0a、0b、ca、0d、0e、0f

     10、11、12、13、FD、15、16、17

     18、19、1a、ac、1d、1e、1f
    /n recvmsg 0020
    跟踪:c71x_recv_msg 接收

     00、01、02、03、05、06、07

     08,09,0a、0b、ca、0d、0e、0f

     10、11、12、13、FD、15、16、17

     18、19、1a、1b、AC、1D、1e、1.
    /n recvmsg 0020
    跟踪:接收到 c71x_recv_msg

    此致、
    基尔西

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

    您好、Samuel、

    需要更改代码:
    文件:/src/common/ipc/src/c71x_ipc_init.c

    gbuf[i*8]、gbuf[i*8+1]、
    gbuf[i*8+2]、gbuf[i*8+3]、
    gbuf[i*8+4]、gbuf[i*8+5]、
    gbuf[i*8+6]、gbuf[i*8+7])
    更改为
    gbuf[i]、gbuf[i+1]、
    gbuf[i+2]、gbuf[i+3]、
    gbuf[i+4]、gbuf[i+5]、
    gbuf[i+6]、gbuf[i+7])

    理想情况下、我认为这应该会打印正确的值。

    谢谢、
    基尔西

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

    非常感谢您的所有帮助。 我只需比较我的测试代码和开发项目中的代码。 现在这个问题已经解决了!

    此致、

    塞缪尔·福