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: TIDL Graph init fail

Part Number: TDA4VM


Two applications exist for image collect and image processing in one TDA4

1 、app_1  image collect app  used nodes (3 senor nodes ; 3 capture nodes ; 3 (viss +aewb) nodes ; 2  ldc nodes ; 1 miscoa node ; 1 display node ) in one graph ,The application captures the image and sends the address to the Tidl processing application.

2 、app_2 Tidl processing app ,Take the image, process the image 。

(app_1)image collect app Can run normally. The error is TIDL Graph initialization error by the tdil processing process(app_2)

error  log 

========== [GraphOD]No Check outbuf size!!! ==========
26.897582 s: VX_ZONE_ERROR:[ownGraphCreateNodeCallbackCommands:983] Node create user callback command at index 0 failed
26.897602 s: VX_ZONE_ERROR:[vxVerifyGraph:2024] Create node callback commands failed
26.897616 s: VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed
26.897738 s: VX_ZONE_ERROR:[Create:166] [GraphDL]Graph verify failed
[ProcUnitMgr]RegisterProcUnit create failed
[RunMgr_Front]m_pu_front_od_center RegisterProcUnit failed
[RunMgr]Camera front Init failed
[HWAC_IF]RunMgr Init Failed
[tidl_task_Pyrd()] threadid:26
[tidl_task()] threadid:27
[tidl_task_optflow()] threadid:28
[DOF Task] Over.

Our memory partition is configured as follows 

Marked in red is the modified configuration used

We tried to make adjustments and couldn't fix the bug;

TIOVX_OBJ_DESC_MEM 0xB2040000 0xB5FDFFFF 63.62 MB   Memory for TI OpenVX shared memory. MUST be non-cached or cache-coherent
  0xB2040000 0xB9FDFFFF 127.62 MB    
PCIE_QUEUE_SHARED_MEM 0xB5FE0000 0xB5FEFFFF 64.00 KB   Memory for IPC over PCIe using shared memory. MUST be non-cached or cache-coherent
  0xB9FE0000 0xB9FEFFFF 64.00 KB    
PCIE_QUEUE_MIRROR_REMOTE_SHARED_MEM 0xB5FF0000 0xB5FFFFFF 64.00 KB   Reserved Memory for RAT mapping of remote PCIe IPC shared memory. MUST be non-cached or cache-coherent
  0xB9FF0000 0xB9FFFFFF 64.00 KB    
TIOVX_LOG_RT_MEM 0xB6000000 0xB7FFFFFF 32.00 MB   Memory for TI OpenVX shared memory for Run-time logging. MUST be non-cached or cache-coherent
  0xBA000000 0xBBFFFFFF 32.00 MB    
DDR_SHARED_MEM 0xB8000000 0xD7FFFFFF 512.00 MB   Memory for shared memory buffers in DDR
  0xBC000000 0xD7FFFFFF 448.00 MB    

 

  • 请看下面工程师的回复。

    > Could you please share the full application logs (along with the logs of "source ./vision_apps_init.sh")?

    > Are you making the memory changes with the help of the tool gen_linker_mem_map.py available in the vision_apps of the SDK?

    If not, I would suggest you use this tool to do the memory related changes so that it would create all the relevant dependencies.

    > Have you made the relevant changes on the linux side (i.e., in the .dts file) and generated .dtb file and replaced the same in the SD card? 

  • 工程师有最新的回复,请查看。

    Thank you for sharing the logs.

    26.897582 s: VX_ZONE_ERROR:[ownGraphCreateNodeCallbackCommands:983] Node create user callback command at index 0 failed

    I wasn't able to find this error in the logs in the app_2.log file. Is it not seen anymore?

    I see there are many errors, such as regarding graph parameters and related to create of GraphScalar? Are these known issues? 
    Could you clarify where the issue is currently?

  • 请看下面我们工程师最新的回复。

    Just to summarize your issue.

    You have 2 Apps. I believe it is 2 graphs in the same context, right?

    CASE 1: If yes, First App (i.e., First Graph) is running "1 senor nodes; 1 capture nodes; 1 (viss +aewb) nodes; 1  ldc nodes; 1 miscoa node; 1 display node"
    and the second App (i.e., Second Graph) is running "TIDL node".

    In the above scenario, everything is working fine, right?

    CASE 2: The issue occurs when you changed the First App (i.e., First Graph) to 3 senor nodes; 3 capture nodes; 3 (viss +aewb) nodes; 2  ldc nodes; 1 miscoa node; 1 display node 
    In this case, you are seeing the below error in Second Graph i.e. in the TIDL node

    VX_ZONE_ERROR:[ownGraphCreateNodeCallbackCommands:983] Node create user callback command at index 0 failed
    62.959650 s: VX_ZONE_ERROR:[vxVerifyGraph:2024] Create node callback commands failed
    62.959663 s: VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed

    Please let me know if I have understood your issue correctly?


    If yes, few queries from my end are follows

    1. Are both graphs in the same context?

    2. What are the graph parameters you are using here?

    3. The change which you have done, i.e., 3 capture nodes, 3 viss etc. May I know what is the usecase? We could control multiple sensors with 1 capture node and 1 viss node (As done in the multi-cam demo in the SDK) 

    4. In CASE 1, where everything is working, are the memory changes present there?

    or are the memory related changes mentioned in the description a part of changes made during CASE 2?

  • 请看我们工程师的最新回复。

    Could you please tell me which SDK version is this issue seen?

    So, regarding the memory changes you mentioned in the description, I see that you have increased "TIOVX_OBJ_DESC_MEM" and reduced the same amount of memory from "DDR_SHARED_MEM" right?

    In this case, could you confirm that you have made the extended region of TIOVX_OBJ_DESC_MEM as non-cachable? 

    If you are using SDK 8.2 or lower, you would have to make this change in vision_apps/platform/j721e/rtos/mcu2_0/r5_mpu.xs
    If you are using SDK 8.4, you would have to make this change in vision_apps/platform/j721e/rtos/mcu2_0/j721e_mpu_cfg.c

    Could you make this change and confirm if you are seeing the issue?