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: The camera couldn't be turned on when I was connecting the SONY IMX623 on the Fusion1 expansion board

Part Number: TDA4VM

Hi Team,

Hardware:

Development board: TDA4VM
Expansion board: Fusion1 Board
Sensor: IMX623-UB953_SONY
System: Linux + RTOS

Situation: The same software detected 'J7X-BASE-CPB rev E2', 'J7X-INFOTAN-EXP rev E3', and 'J7X-VSC8514-ETH rev E2' in U-Boot SPL 2019.01-g350f3927b8 (Feb 17 2020 - 09:48:06 +0000). It was trying to boot from MMC2.
SoC: J721E PG 1.0
Model: Texas Instruments' K3 J721E SoC
Board: It could run smoothly on the hardware of the J721EX-PM1-SOM rev E2 version

On U-Boot SPL 2019.01-g350f3927b8 (Feb 17 2020 - 09:48:06 +0000), it detected 'J7X-BASE-CPB rev A' and 'J7X-VSC8514-ETH rev E2'. It was trying to boot from MMC2.
SoC: J721E PG 2.0
Model: Texas Instruments' K3 J721E SoC
Board: It did not run smoothly on the hardware of the J721EX-PM2-SOM rev A version.

The whole log is in the attached document.
Question: What are the specific differences between the hardware of the two versions, and do I need to make any modifications in the configurations of the software?

The software we used for testing is the single camera demo provided by TI vision app, and modifications have been made on this basis.
Kind regards,
Katherine
  • Hi Katherine,

    Not sure if this is board related, but i see some targets are not getting registered on mcu2_1 core. As per below error, some target is failing to register. Do you see same error on the other board also? 

    [MCU2_1] 13.408525 s: VX_ZONE_ERROR:[tivxTargetCreate:1260] tivxTargetCreate: target is NULL
    [MCU2_1] 13.408619 s: VX_ZONE_ERROR:[tivxPlatformCreateTargetId:55] Could not Add Target

    Also i see you have all VHWA node and CSIRX are running on mcu2_1 core. By default in the SDK, they are running on mcu2_0. As such, it is not an issue, but any specific reason for moving them to mcu2_1?

    Even IPC Echo test is not running on all cores correctly, like in below C7x is not able to find mcu2_0 and mcu2_1 cores.. Can you please connect to all cores using CCS + JTAG and confirm that they are all running fine and not stuck/crashed? 

    [C7x_1 ] 13.054302 s: IPC: Echo status: mpu1_0[x] mcu2_0[x] mcu2_1[x] C66X_1[P] C66X_2[x] C7X_1[s]
    [C7x_1 ] 13.054639 s: IPC: Echo status: mpu1_0[x] mcu2_0[x] mcu2_1[x] C66X_1[P] C66X_2[P] C7X_1[s]

    Regards,

    Brijesh

  • Hi Brijesh,

    Not sure if this is board related, but i see some targets are not getting registered on mcu2_1 core. As per below error, some target is failing to register. Do you see same error on the other board also? 

    [MCU2_1] 13.408525 s: VX_ZONE_ERROR:[tivxTargetCreate:1260] tivxTargetCreate: target is NULL
    [MCU2_1] 13.408619 s: VX_ZONE_ERROR:[tivxPlatformCreateTargetId:55] Could not Add Target

    Yes, on another board that works fine these targets are not registered either.

    Also i see you have all VHWA node and CSIRX are running on mcu2_1 core. By default in the SDK, they are running on mcu2_0. As such, it is not an issue, but any specific reason for moving them to mcu2_1?

    This should not affect the software as the board that works well is configured in the same way.

    Even IPC Echo test is not running on all cores correctly, like in below C7x is not able to find mcu2_0 and mcu2_1 cores.. Can you please connect to all cores using CCS + JTAG and confirm that they are all running fine and not stuck/crashed? 

    [C7x_1 ] 13.054302 s: IPC: Echo status: mpu1_0[x] mcu2_0[x] mcu2_1[x] C66X_1[P] C66X_2[x] C7X_1[s]
    [C7x_1 ] 13.054639 s: IPC: Echo status: mpu1_0[x] mcu2_0[x] mcu2_1[x] C66X_1[P] C66X_2[P] C7X_1[s]

    The IPC Echo test results of the two boards are the same. In addition, we have also tried to run the software on mcu2_1, but one board works well, and the other one does not.

    Question: What are the specific differences between the hardware of the two versions, and do I need to make any modifications in the configurations of the software?

    P.S. Could you please specify the differences in the configurations of the hardware switches of the Alpha board and the beta board?

    Regards,

    Katherine

  • Hi Brijesh,

    When I debugged, I found that the current problem laid in

    app_create_graph->vxVerifyGraph->ownGraphNodeKernelInit->ownNodeKernelInit-

    ->ownContextSendCmd->tivxEventWait

    The parameter called by tivxEventWait here is TIVX_EVENT_TIMEOUT_WAIT_FOREVER. However, it has been stuck here as the Event didn't work. I wonder what may be the reason why the Context cannot get the event's response after sending the command?

    Kind regards,

    Katherine

  • Hi Katherine Wang,

    Do you happen to have JTAG + CCS available on this board? If yes, can you please connect to mcu2_0 and see where it is? 

    If due to some reason, mcu2_0 has crashed, then create will not complete and graph verify will get stuck here. 

    Regards,

    Brijesh

  • Hi Brijesh,

        I do not have JTAG + CCS available on the board now.
        I add a test log on mcu2_0, seems it has not crashed at that time.

    19.809439 s: VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 1
    19.809445 s: VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 3
    19.809449 s: VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 2
    19.809453 s: VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 0
    19.809456 s: VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 6
    [MCU2_1] 105.918789 s: VX_ZONE_INFO:[tivxTargetKernelInstanceAlloc:101] tivxTargetKernelInstanceAlloc: attempting to call kernel com.ti.capture on this CPU
    [MCU2_0] 112.278525 s: MCU2_0 Test !!!!
    [MCU2_0] 115.278525 s: MCU2_0 Test !!!!

  • Hi,

    Can you please add some prints on the create API of the capture node and see if it is getting called? 

    From the above log, it looks like capture node is registered to the framework, but may be somehow it is not getting called.

    Also are you sure that the verifygraph is stuck while creating capture node? Can you please check for which create it is getting stuck?

    Regards,

    Brijesh 

  • Hi Brijesh,

    The log of the board that worked well


        17.335575 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 1
        17.335581 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 3
        17.335585 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 2
        17.335589 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 0
        17.335592 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 6
    [MCU2_1]     48.415648 s:  VX_ZONE_INFO:[tivxTargetKernelInstanceAlloc:101] tivxTargetKernelInstanceAlloc: attempting to call kernel com.ti.capture on this CPU
        17.343757 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:578] kernel init for node 0, kernel com.ti.capture ...
        17.343763 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:589] kernel init for node 0, kernel com.ti.capture ... done !!!
        17.346831 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:578] kernel init for node 1, kernel com.ti.hwa.vpac_viss ...
        17.346836 s:  VX_ZONE_INFO:[ownGraphNodeKernelInit:589] kernel init for node 1, kernel com.ti.hwa.vpac_viss ... done !!!

    The log of the board that didn't work well


    17.335575 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 1
        17.335581 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 3
        17.335585 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 2
        17.335589 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 0
        17.335592 s:  VX_ZONE_INFO:[ownGraphRegisterParameterConsumedEvent:897] Enabling parameter ref consumed event at graph [graph_85], param 6
    [MCU2_1]     48.415648 s:  VX_ZONE_INFO:[tivxTargetKernelInstanceAlloc:101] tivxTargetKernelInstanceAlloc: attempting to call kernel com.ti.capture on this CPU

    In comparison with the log of the boards that could work well, I can confirm that the function ownNodeKernelInit() was called, and when com.ti.capture was initialized, it was stuck in tivxEventWait() when it cannot wait for event->is_set==1U to appear.

     while(!done)
    
     {
    
     if(event->is_set==1U)
    
     {
    
     /* clear event */
    
     event->is_set = 0;
    
     status = (vx_status)VX_SUCCESS;
    
     done = (vx_bool)vx_true_e;
    
     }
    
     else

    Regards,

    Katherine

  • Hi Katherine,

    This is blocking because there is no response from the node. This is why can you please add some prints in the capture node create API to see if it has received create message. 

    Regards,

    Brijesh