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-TDA4VM: 关于vision_apps

Other Parts Discussed in Thread: SK-TDA4VM

我在ti-processor-sdk-rtos-j721e-evm-08_06_00_12/vision_apps/utils/udma/src

看到了udma相关的代码,vision_app有相关的示例可以测试udma吗,我该怎么使用它

我想通过vision_app已有的代码,实现在r5核的dma搬移,我该怎么做

  • 您好,我看vision_apps/utils/udma/src/app_udma_test.c 里面有关于dru的内容

    我该怎么开启测试dru

  • 可以参考\packages\ti\drv\udma\examples\udma_dru_test例程。

  • 您好,我该怎么运行测试这个例程packages\ti\drv\udma\examples\udma_dru_test在SK-TDA4VM上

  • 这个例程在mcu2_0, c66xdsp_1, c66xdsp_2, c7x_1上都可以运行。

  • 您好,我现在的做法是这样的,我找到了utils/ipc/src/app_ipc_rtos_echo_test.c 的测试程序,我通过

    static void rpmsg_responderFxn(void *arg0, void *arg1)这个函数触发,
    然后参照packages\ti\drv\udma\examples\udma_dru_test的例程,
    修改了 rpmsg_responderFxn
    ------------------------------------------------------------------------------------------------------------------------------------------
    while (1)
    {
    // //pci_ipc_msg *pMsg = (pci_ipc_msg *)str;
    status = RPMessage_recv(handle, (void *)str, &len, &remoteEndPt, &remoteProcId,
    IPC_RPMESSAGE_TIMEOUT_FOREVER);
    if (status != IPC_SOK)
    {
    appLogPrintf("IPC: RecvTask: failed with code %d\n", status);
    }
    else
    {
    count++;
    /* NULL terminated string */
    str[len] = '\0';
    #ifdef APP_IPC_ECHO_TEST_DEBUG
    appLogPrintf("IPC: RecvTask: Revcvd msg #%d \"0x%lu\" len %d bytes from %s\n", count, str, len, Ipc_mpGetName(remoteProcId));
    #endif
    }

    druRet = Udma_druTest();
    ....
    ---------------------------------------------------------------------------------------------------------------------------------------
    上面是部分代码,关于Udma_druTest()函数其实久是把packages\ti\drv\udma\examples\udma_dru_test的例程里的内容全部拷贝到这里
    然后我在 vision_apps目录下make all
    编译生成了vx_app_rtos_linux_mcu2_1.out 文件。
    然后通过串口登陆到SK-TD4AVM的板子上,
    替换 原有的文件cp vx_app_rtos_linux_mcu2_1.out /lib/firmware/vision_apps_eaik/ (这里因为我只需要有一个核心帮我做操作,所以我只替换了一个核心的.out)
    然后我重启了板子,重启完成后使用./vx_app_arm_remote_log.out 查看其他核心的打印(这里我已经使用ipc的例程触发了rpmsg_responderFxn)
    但是这样操作Udma_druTest(),它失败了,App_init(drvHandle);就直接报错了,我的做法有什么问题吗?或者我通过vision_apps该怎么达到操作dru的目的。
    您能提供一点思路吗?
    谢谢!
  • 请问具体怎么失败了?请跟踪一下代码执行到哪里出错了。