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.

[参考译文] Linux/TDA2PXEVM:"更新当前 DCC"在 DCC 工具中不起作用

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/800354/linux-tda2pxevm-update-current-dcc-is-not-working-in-dcc-tool

器件型号:TDA2PXEVM

工具/软件:Linux

您好!

DCC 中的图像捕获和内存转储正常、程序映像中包含的 DCC 文件也正常。
DCC 中的传感器 ID 设置正确。  但 "更新当前 DCC"不起作用。
请找到以下错误日志。


更新目标中活动 DCC 数据的请求:10.159.171.31
已加载通信 DLL:itCommun.dll
更新当前 DCC bin 数据时出错



[host][host ] 1262.919203 s:network_CTRL:received command [iss_send_dCC_file]、带有173字节参数
[host][host ] 1262.919538 s:network_CTRL:network_read()无法读取参数(port=5000)!!!
[host][host ] 1262.919538 s:network_CTRL:ISS_SEND_DCC_FILE:
[host][host ] 1262.919843 s:network_CTRL:已发送命令[iss_send_dCC_file]的响应,参数为0字节

此致、
HJ Kim

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

    您能否检查此主题中针对类似问题的建议答案是否可以为您提供一些指导:
    e2e.ti.com/.../586821

    您也是遵循了 VisionSDK_UserGuide_TDA3xx.pdf 中的"3.9 DCC"一章。

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

    Yordan、您好!

    我在你的指导下尝试了一些方法、但结果是一样的。

    传感器 ID 正确、并且在 vision_sdk/apps/configs/tda2px.evm_linux_all/cfg.mk 中、如果 NDK_PROC_TO_USE=none 更改为=a15_0、则没有区别
    当 network_ctrl 用于与 iss 通信时、"mem_rd"和"iss_read_2a_params"正常、但"iss_send _dCC_file"失败、其输出日志与 DCC 工具相同。

    ca15 Linux 平台是否不支持"更新当前 DCC"?  它仅在 IPU RTOS 平台中受支持?
    将 DCC bin 文件发送到目标板是否需要特殊的数据格式?

    此致、
    HJ Kim

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

    我认为从 A15 Linux 访问物理地址存在问题。
    在按照以下方式修改"network_Ctrl_handle_iss_raW_save.c"后、它运行良好。

    /*读取参数*/
    #ifdef __linux__

    uint8 * buf;
    buf =(uint8 *) osa_memPhys2Virt ((unsigned int) dccCtrlPrms.dccBuf、osa_MEM_REGAL_TYPE_AUTO);
    NetworkCtrl_readParams (buf、prmSize);

    其他
    NetworkCtrl_readParams (dccCtrlPrms.dccBuf、prmSize);
    #endif
    vps_printf (" network_CTRL:%s:"、cmd);

    此致、
    HJ Kim
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设在 A15和 IPU 之间同步需要高速缓存操作。

    /*读取参数*/
    #ifdef __linux__

    uint8 * buf;
    buf =(uint8 *) osa_memPhys2Virt ((unsigned int) dccCtrlPrms.dccBuf、osa_MEM_REGAL_TYPE_AUTO);
    NetworkCtrl_readParams (buf、prmSize);
    osa_memCacheWb (((uint32) buf、(uint32) buf + prmSize - 1);

    其他
    NetworkCtrl_readParams (dccCtrlPrms.dccBuf、prmSize);
    #endif
    vps_printf (" network_CTRL:%s:"、cmd);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Kim:

    如何在 A15上分配此 DCC 缓冲器?

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

    您好 、Brijesh、

    DCC 缓冲器由系统链路分配。
    它位于 vision_sdk\apps\src\rtos\modules\network_ctrl\network_handle_iss_raW_save.c

    dccCtrlPrms.dccBuf =空;
    
    LinkID = NetworkCtrl_getAewbLinkId();
    
    if (system_link_ID_invalid!= LinkID)
    {
    /*获取结果*/
    状态= System_linkControl(
    LinkID、
    算法链接 CMD_CONFIG、
    dccCtrlPrms (&D)、
    sizeof (dccCtrlPrms)、
    true);
    utils_assert (0 = status);
    }
    
    if (NULL =dccCtrlPrms.dccBuf)
    {
    VPS_printf (" network_CTRL:DCC 缓冲器为 NULL ");
    
    /*发送响应*/
    NetworkCtrl_writeParams (NULL、0、0);
    
    返回;
    }
    


    此致、
    HJ Kim

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

    尊敬的 Kim:

    这不会分配 DCC 缓冲区、此控制命令会将缓冲区发送到链路...

    Rgds、

    Brijesh

x 出现错误。请重试或与管理员联系。