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.
Dear experts,
We are work on the TDA4VM , and the SDK version is '0703".
Our graph is as below:
Video Graph (60fps) : capture Node -> display Node1-> display Node2
The video graph was running in the separate thread(task).
We gave the flag to the video graph task in another task per 50 ms(touch handle task).
The App will block in the tivxNodeSendCommand sometimes.But the other tasks were running well.
So , could you give me some advices or selutions?
Thanks !
Dear experts,
We are work on the TDA4VM , and the SDK version is '0703".
Our graph is as below:
Video Graph (60fps) : capture Node -> display Node1-> display Node2
The video graph was running in the separate thread(task).
We gave the flag to the video graph task in another task per 50 ms(touch handle task).
The video graph task will execute the “tivxNodeSendCommand” to send crop paramaters to the two display nodes.
The App will block in the tivxNodeSendCommand sometimes durning working . But the other tasks were running well.
So , could you give me some advices or selutions?
Thanks !
Hi Wang,
Does it get stalled/blocked permanently?
Since display node and this API to change parameters are running in the same task, when display task is running, this command processing might get delayed. But it will not blocked, depending on your frame time period, it might be blocked for 1 or 2 frame time period.
Regards,
Brijesh
Hi Brijesh,
It will got stalled and the video graph got stopped.
I was wondering that is the IPC stopped working.(How to check it or some other methods?)
Regards
Hi Wang,
But does it get unblocked, lets say, after few ms?
Since this is a blocking call, so if due to some reason, display node crashed, then graph would stop. Are you seeing some crash on mcu2_0?
Regards,
Brijesh
Hi Brijesh,
But does it get unblocked, lets say, after few ms?
No,it will got stalled all the time utill A72 reboot.
I've checked the MCU2_0 logs , these is no information about the crash on mcu2_0.
Regards
Hi Wang,
But is mcu2_0 still running? Lets say is your other display still running fine, when this issue comes? I mean is it still updating frames, or the other graph is stuck to one frame?
Can you please tell what all parameters are you changing with this ioctl? Also what's value that you are changing?
Regards,
Brijesh
Hi Brijesh,
All the cores were working well .
Also , we use the Draw2D to display some icons in another separate thread(task).
When the video graph got stalled , the Draw2D was working well.(The icons could be changed)
The paramaters about crop are as below:
params->cropPrms.width = zoom->targetWidth; params->cropPrms.height = zoom->targetHeight; params->cropPrms.startX = zoom->targetPosX; params->cropPrms.startY = zoom->targetPosY; vx_user_data_object crop_obj = vxCreateUserDataObject(context, "tivx_display_crop_params_t", sizeof(tivx_display_crop_params_t), ¶ms->cropPrms); vxCopyUserDataObject(crop_obj, 0, sizeof(tivx_display_crop_params_t), ¶ms->cropPrms, VX_WRITE_ONLY, VX_MEMORY_TYPE_HOST); refs[0] = (vx_reference)crop_obj; status = VX_FAILURE; printf("tivxNodeSendCommand begin\r\n"); status = tivxNodeSendCommand(node, 0, TIVX_DISPLAY_SET_CROP_PARAMS, refs, 1u); printf("tivxNodeSendCommand end\r\n"); vxReleaseUserDataObject(&crop_obj);
And the crop paramaters will be modified per 50ms.(Zoom In and Zoom out)
Best !
Hi Brijesh,
I did some test early in the morning.
1、I created another separate task to send the display crop paramaters per 50ms(if the send command flag is active).
The video graph task still got stalled at the function "tivxNodeSendCommand".
Here is the MCU2_0 logs:
[MCU2_0] 1.849994 s: CIO: Init ... Done !!! [MCU2_0] 1.850064 s: ### CPU Frequency <ORG = 1000000000 Hz>, <NEW = 1000000000 Hz> [MCU2_0] 1.850108 s: APP: Init ... !!! [MCU2_0] 1.850124 s: MCU2_0 version is V7.02.006... !!! [MCU2_0] 1.850144 s: SCICLIENT: Init ... !!! [MCU2_0] 1.850347 s: SCICLIENT: DMSC FW version [21.1.1--v2021.01a (Terrific Lla] [MCU2_0] 1.850382 s: SCICLIENT: DMSC FW revision 0x15 [MCU2_0] 1.850406 s: SCICLIENT: DMSC FW ABI revision 3.1 [MCU2_0] 1.850428 s: SCICLIENT: Init ... Done !!! [MCU2_0] 1.850447 s: UDMA: Init ... !!! [MCU2_0] 1.851655 s: UDMA: Init ... Done !!! [MCU2_0] 1.851700 s: MEM: Init ... !!! [MCU2_0] 1.851733 s: MEM: Created heap (DDR_SHARED_MEM, id=0, flags=0x00000004) @ e1000000 of size 16777216 bytes !!! [MCU2_0] 1.851785 s: MEM: Created heap (L3_MEM, id=1, flags=0x00000000) @ 3600000 of size 131072 bytes !!! [MCU2_0] 1.851827 s: MEM: Created heap (DDR_NON_CACHE_ME, id=5, flags=0x00000000) @ d8000000 of size 16777216 bytes !!! [MCU2_0] 1.851869 s: MEM: Init ... Done !!! [MCU2_0] 1.851887 s: IPC: Init ... !!! [MCU2_0] 1.851914 s: IPC: 9 CPUs participating in IPC !!! [MCU2_0] 1.851949 s: IPC: Waiting for HLOS to be ready ... !!! [MCU2_0] 1.851972 s: cpu_id=0 check 0 [MCU2_0] 16.025942 s: cpu_id=1 check 1 [MCU2_0] 16.025976 s: cpu_id=2 check 4 [MCU2_0] 16.026000 s: cpu_id=3 check 5 [MCU2_0] 16.026019 s: cpu_id=4 check 6 [MCU2_0] 16.026038 s: cpu_id=5 check 7 [MCU2_0] 16.026055 s: cpu_id=6 check 8 [MCU2_0] 16.026071 s: cpu_id=7 check 9 [MCU2_0] 16.026088 s: IPC: HLOS is ready !!! [MCU2_0] 16.034449 s: IPC: Init ... Done !!! [MCU2_0] 16.034546 s: APP: Syncing with 7 CPUs ... !!! [MCU2_0] 18.925681 s: APP: Skip Syncing with 7 CPUs ... Done !!! [MCU2_0] 18.925861 s: REMOTE_SERVICE: Init ... !!! [MCU2_0] 18.928287 s: REMOTE_SERVICE: Init ... Done !!! [MCU2_0] 18.928342 s: ETHFW: Init ... !!! [MCU2_0] 18.942001 s: CPSW_9G Test on MAIN NAVSS [MCU2_0] 18.950332 s: Cpsw_openPortLinkWithPhy: Cpsw_openPortLinkWithPhy build portid=1 with phy=5 [MCU2_0] 18.950545 s: Cpsw_openPortLinkWithPhy: Cpsw_openPortLinkWithPhy build portid=2 with phy=6 [MCU2_0] 18.950767 s: Cpsw_openPortLinkWithPhy: Cpsw_openPortLinkWithPhy build portid=4 with phy=4 [MCU2_0] 18.950888 s: Cpsw_openPortLinkWithPhy: Cpsw_openPortLinkWithPhy build portid=5 with phy=3 [MCU2_0] 18.950996 s: EnetPhy_bindDriver: bindDriver phy2 [MCU2_0] 18.951505 s: EnetPhy_bindDriver: 9G PHY->addr2k [MCU2_0] 18.956611 s: EnetPhy_bindDriver: PHY 2: OUI:000ac2 Model:18 Ver:03 <-> 'Q212X' : OK [MCU2_0] 18.956666 s: Cpsw_openPortLinkWithPhy: Cpsw_openPortLinkWithPhy build portid=6 with phy=2 [MCU2_0] 18.956796 s: EnetPhy_bindDriver: bindDriver phy1 [MCU2_0] 18.957291 s: EnetPhy_bindDriver: 9G PHY->addr1k [MCU2_0] 18.958038 s: EnetPhy_bindDriver: PHY 1: OUI:000ac2 Model:18 Ver:03 <-> 'Q212X' : OK [MCU2_0] 18.958082 s: Cpsw_openPortLinkWithPhy: Cpsw_openPortLinkWithPhy build portid=8 with phy=1 [MCU2_0] 18.958137 s: PHY 1 is alive [MCU2_0] 18.958164 s: PHY 2 is alive [MCU2_0] 18.958190 s: PHY 8 is alive [MCU2_0] 18.959888 s: ETHFW: Version : 0.01.01 [MCU2_0] 18.959941 s: ETHFW: Build Date: Dec 14, 2022 [MCU2_0] 18.959968 s: ETHFW: Build Time: 10:52:22 [MCU2_0] 18.959989 s: ETHFW: Commit SHA: f99130b2 [MCU2_0] 18.964603 s: Dias enable mulitcast [MCU2_0] 18.964651 s: Add multicast address 01:00:5e:7f:03:01 [MCU2_0] 18.966114 s: Add multicast OK! [MCU2_0] 18.966140 s: ETHFW: Init ... DONE !!! [MCU2_0] 18.966346 s: DIAS TASK: Init ... OK !!! [MCU2_0] 18.966392 s: ETHFW: Remove server Init ... !!! [MCU2_0] 18.967792 s: Remote demo device (core : mcu2_0) ..... [MCU2_0] 18.967855 s: ETHFW: Remove server Init ... DONE !!! [MCU2_0] 18.967919 s: recv cmd 17 [MCU2_0] 18.967952 s: EnetCfgServerSetMacPortRole: port[0], role[0] [MCU2_0] 18.968227 s: mq212x_read_phy_c45: PHY 5: Failed to Read Data : 1 [MCU2_0] 18.969202 s: CpswStats_ioctl: ENET_STATS_IOCTL_SET_MACPORT_ROLE port:0, portRole:0 ret:0 [MCU2_0] 18.969244 s: Set MacPort Role [MCU2_0] 18.969263 s: EnetCfgServerSetMacPortRole run finished [MCU2_0] 18.969291 s: Switch_SetPortRole: port[0], role[0], return[0] [MCU2_0] 18.969351 s: recv cmd 17 [MCU2_0] 18.969379 s: EnetCfgServerSetMacPortRole: port[1], role[0] [MCU2_0] 18.969646 s: mq212x_read_phy_c45: PHY 6: Failed to Read Data : 1 [MCU2_0] 18.970614 s: CpswStats_ioctl: ENET_STATS_IOCTL_SET_MACPORT_ROLE port:1, portRole:0 ret:0 [MCU2_0] 18.970658 s: Set MacPort Role [MCU2_0] 18.970681 s: EnetCfgServerSetMacPortRole run finished [MCU2_0] 18.970709 s: Switch_SetPortRole: port[1], role[0], return[0] [MCU2_0] 18.970770 s: recv cmd 17 [MCU2_0] 18.970801 s: EnetCfgServerSetMacPortRole: port[3], role[0] [MCU2_0] 18.971084 s: mq212x_read_phy_c45: PHY 4: Failed to Read Data : 1 [MCU2_0] 18.972095 s: CpswStats_ioctl: ENET_STATS_IOCTL_SET_MACPORT_ROLE port:3, portRole:0 ret:0 [MCU2_0] 18.972146 s: Set MacPort Role [MCU2_0] 18.972171 s: EnetCfgServerSetMacPortRole run finished [MCU2_0] 18.972200 s: Switch_SetPortRole: port[3], role[0], return[0] [MCU2_0] 18.972261 s: recv cmd 17 [MCU2_0] 18.972292 s: EnetCfgServerSetMacPortRole: port[4], role[0] [MCU2_0] 18.972567 s: mq212x_read_phy_c45: PHY 3: Failed to Read Data : 1 [MCU2_0] 18.973540 s: CpswStats_ioctl: ENET_STATS_IOCTL_SET_MACPORT_ROLE port:4, portRole:0 ret:0 [MCU2_0] 18.973587 s: Set MacPort Role [MCU2_0] 18.973609 s: EnetCfgServerSetMacPortRole run finished [MCU2_0] 18.973636 s: Switch_SetPortRole: port[4], role[0], return[0] [MCU2_0] 18.973693 s: recv cmd 17 [MCU2_0] 18.973721 s: EnetCfgServerSetMacPortRole: port[5], role[0] [MCU2_0] 18.974931 s: CpswStats_ioctl: ENET_STATS_IOCTL_SET_MACPORT_ROLE port:5, portRole:0 ret:0 [MCU2_0] 18.974978 s: Set MacPort Role [MCU2_0] 18.975004 s: EnetCfgServerSetMacPortRole run finished [MCU2_0] 18.975031 s: Switch_SetPortRole: port[5], role[0], return[0] [MCU2_0] 18.975093 s: recv cmd 17 [MCU2_0] 18.975121 s: EnetCfgServerSetMacPortRole: port[7], role[0] [MCU2_0] 18.976351 s: CpswStats_ioctl: ENET_STATS_IOCTL_SET_MACPORT_ROLE port:7, portRole:0 ret:0 [MCU2_0] 18.976400 s: Set MacPort Role [MCU2_0] 18.976423 s: EnetCfgServerSetMacPortRole run finished [MCU2_0] 18.976450 s: Switch_SetPortRole: port[7], role[0], return[0] [MCU2_0] 18.976525 s: CpswAppInterVlan_setMirror() succeed CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG: 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [MCU2_0] 18.982668 s: Host MAC address: 70:ff:76:1d:92:c2 [MCU2_0] 18.983866 s: [MCU2_0] CPSW NIMU application, IP address I/F 1: 172.16.200.2 [MCU2_0] 18.997043 s: EthFw: TimeSync PTP enabled [MCU2_0] 18.997138 s: &INF@ETH:CddEnet_Init[83] Entry. [MCU2_0] 18.997194 s: &INF@ETH:CddEnet_SoCon_InitSelInfo[1188] Entry. [MCU2_0] 18.997241 s: &INF@ETH:CddEnet_SoCon_InitSelInfo[1198] Exit. [MCU2_0] 18.997285 s: &INF@ETH:CddEnet_InitTxFifo[1411] Entry. [MCU2_0] 18.997327 s: &INF@ETH:CddEnet_Semaphore_Init[1387] Entry. [MCU2_0] 18.997392 s: &INF@ETH:CddEnet_Semaphore_Init[1397] Exit. [MCU2_0] 18.997694 s: &INF@ETH:CddEnet_InitTxFifo[1421] Exit. [MCU2_0] 18.997754 s: &INF@ETH:CddEnet_SoCon_InitTask[702] Entry. [MCU2_0] 18.998022 s: Task Success(TASK_TYPE_ENET_RX)(5,10240): [MCU2_0] 18.998102 s: &INF@ETH:CddEnet_SoCon_InitTask[714] Create ReceiveTask success. [MCU2_0] 18.998288 s: Task Success(TASK_TYPE_ENET_TX)(5,10240): [MCU2_0] 18.998356 s: &INF@ETH:CddEnet_SoCon_InitTask[727] Create SendTask success. [MCU2_0] 18.998574 s: lxg 555 Detect_Switch_Task entry --- [MCU2_0] 18.998654 s: Task Success(TASK_TYPE_SWITCH_DETECT)(6,10240): [MCU2_0] 18.998720 s: &INF@ETH:CddEnet_SoCon_InitTask[739] Create switchTask success. [MCU2_0] 18.998772 s: &INF@ETH:CddEnet_SoCon_InitTask[742] Exit. [MCU2_0] 18.998812 s: &INF@ETH:CddEnet_Init[95] Exit. [MCU2_0] 18.998924 s: &INF@ETH:CddEnet_SoCon_Open[112] Entry. [MCU2_0] 18.999042 s: &INF@ETH:CddEnet_SoCon_OpenUdp[392] create udp socket success. [MCU2_0] 18.999130 s: &INF@ETH:CddEnet_SoCon_OpenUdp[401] Setsockopt SO_BROADCAST success. [MCU2_0] 18.999192 s: &INF@ETH:CddEnet_SoCon_OpenUdp[414] skip Setsockopt SO_SNDBUF. [MCU2_0] 18.999268 s: &INF@ETH:CddEnet_SoCon_OpenUdp[424] Setsockopt SO_RCVBUF success. [MCU2_0] 18.999354 s: &INF@ETH:CddEnet_SoCon_OpenUdp[436] sockopt bind success,blind ip (ac10c802) port(8600). [MCU2_0] 18.999419 s: &INF@ETH:CddEnet_SoCon_OpenUdp[446] Exit. [MCU2_0] 18.999535 s: &INF@ETH:CddEnet_SoCon_SetTxUdpFd[468] Entry. [MCU2_0] 18.999602 s: &INF@ETH:CddEnet_SoCon_SetTxUdpFd[479] Exit. [MCU2_0] 18.999648 s: &INF@ETH:CddEnet_SoCon_Open[160] Exit. [MCU2_0] 18.999686 s: &INF@SYS:[SrvComm] Socket Open success [MCU2_0] 18.999729 s: &INF@ETH:CddEnet_SoCon_RecvCbkReg[178] Entry. [MCU2_0] 18.999773 s: &INF@ETH:CddEnet_SoCon_RecvCbkReg[207] Exit. [MCU2_0] 19.000228 s: &INF@ETH:CddEnet_SoCon_ReceiveTask[903] Entry. [MCU2_0] 19.000381 s: &INF@ETH:CddEnet_SoCon_SendTask[761] Entry. [MCU2_0] 19.026478 s: FVID2: Init ... !!! [MCU2_0] 19.026581 s: FVID2: Init ... Done !!! [MCU2_0] 19.026620 s: APP: SUPER DISPLAY is enable!!! [MCU2_0] 19.026644 s: APP: ex io init !!! [MCU2_0] 19.026827 s: exp_io: status=1 [MCU2_0] 19.027150 s: exp_io: status=1 [MCU2_0] 19.027307 s: exp_io: status=1 [MCU2_0] 19.027672 s: exp_io: status=1 [MCU2_0] 19.027998 s: exp_io: status=1 [MCU2_0] 19.028312 s: exp_io: status=1 [MCU2_0] 19.028632 s: exp_io: status=1 [MCU2_0] 19.028668 s: exp_io: I2C close handle [MCU2_0] 19.028692 s: DSS: Init ... !!! [MCU2_0] 19.028710 s: DSS: Display type is DSI !!! [MCU2_0] 19.028730 s: DSS: M2M Path is enabled !!! [MCU2_0] 19.028751 s: DSS: SoC init ... !!! [MCU2_0] 19.028768 s: SCICLIENT: Sciclient_pmSetModuleState module=152 state=2 [MCU2_0] 19.028934 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.028963 s: SCICLIENT: Sciclient_pmSetModuleState module=150 state=2 [MCU2_0] 19.029056 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.029081 s: SCICLIENT: Sciclient_pmSetModuleState module=296 state=2 [MCU2_0] 19.029154 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.029180 s: SCICLIENT: Sciclient_pmSetModuleClkParent module=152 clk=9 parent=11 [MCU2_0] 19.029252 s: SCICLIENT: Sciclient_pmSetModuleClkParent success [MCU2_0] 19.029281 s: SCICLIENT: Sciclient_pmSetModuleClkFreq module=152 clk=9 freq=148500000 [MCU2_0] 19.030020 s: SCICLIENT: Sciclient_pmSetModuleClkFreq success [MCU2_0] 19.030056 s: SCICLIENT: Sciclient_pmModuleClkRequest module=152 clk=9 state=2 flag=0 [MCU2_0] 19.030150 s: SCICLIENT: Sciclient_pmModuleClkRequest success [MCU2_0] 19.030178 s: DSS: SoC init ... Done !!! [MCU2_0] 19.030197 s: DSS: Configuring SERDES ... !!! [MCU2_0] 19.030219 s: DSS: Ub941 addr is 0x1a ! [MCU2_0] 19.030264 s: 941 gI2cHandle is a31c1ef4! [MCU2_0] 19.061734 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 19.199495 s: DSS: SERDES Configuration... Done !!! [MCU2_0] 19.199555 s: DSS: print all Ub941 registers time:0208 [MCU2_0] [MCU2_0] 19.213658 s: DSS: dsi num_lanes 4!!! [MCU2_0] 19.214264 s: DSS: Init ... Done !!! [MCU2_0] 19.214315 s: VHWA: VPAC Init ... !!! [MCU2_0] 19.214336 s: SCICLIENT: Sciclient_pmSetModuleState module=290 state=2 [MCU2_0] 19.214514 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.214550 s: VHWA: LDC Init ... !!! [MCU2_0] 19.217551 s: VHWA: LDC Init ... Done !!! [MCU2_0] 19.217608 s: VHWA: MSC Init ... !!! [MCU2_0] 19.226326 s: VHWA: MSC Init ... Done !!! [MCU2_0] 19.226375 s: VHWA: NF Init ... !!! [MCU2_0] 19.227908 s: VHWA: NF Init ... Done !!! [MCU2_0] 19.227956 s: VHWA: VISS Init ... !!! [MCU2_0] 19.234033 s: VHWA: VISS Init ... Done !!! [MCU2_0] 19.234084 s: VHWA: VPAC Init ... Done !!! [MCU2_0] 19.234119 s: VX_ZONE_INIT:Enabled [MCU2_0] 19.234142 s: VX_ZONE_ERROR:Enabled [MCU2_0] 19.234161 s: VX_ZONE_WARNING:Enabled [MCU2_0] 19.235200 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target IPU1-0 [MCU2_0] 19.235546 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target VPAC_NF [MCU2_0] 19.235847 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target VPAC_LDC1 [MCU2_0] 19.236108 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target VPAC_MSC1 [MCU2_0] 19.236372 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target VPAC_MSC2 [MCU2_0] 19.236732 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target VPAC_VISS1 [MCU2_0] 19.237059 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE1 [MCU2_0] 19.237365 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE2 [MCU2_0] 19.237760 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target DISPLAY1 [MCU2_0] 19.238089 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target DISPLAY2 [MCU2_0] 19.238401 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CSITX [MCU2_0] 19.238802 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE3 [MCU2_0] 19.239105 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE4 [MCU2_0] 19.239412 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE5 [MCU2_0] 19.239838 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE6 [MCU2_0] 19.240137 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE7 [MCU2_0] 19.240416 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:55] Added target CAPTURE8 [MCU2_0] 19.240508 s: VX_ZONE_INIT:[tivxInit:71] Initialization Done !!! [MCU2_0] 19.240539 s: APP: OpenVX Target kernel init ... !!! [MCU2_0] 19.252089 s: APP: OpenVX Target kernel init ... Done !!! [MCU2_0] 19.252140 s: CSI2RX: Init ... !!! [MCU2_0] 19.252161 s: SCICLIENT: Sciclient_pmSetModuleState module=25 state=2 [MCU2_0] 19.252256 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.252285 s: SCICLIENT: Sciclient_pmSetModuleState module=26 state=2 [MCU2_0] 19.252371 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.252396 s: SCICLIENT: Sciclient_pmSetModuleState module=27 state=2 [MCU2_0] 19.252501 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.252535 s: SCICLIENT: Sciclient_pmSetModuleState module=147 state=2 [MCU2_0] 19.252596 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.252621 s: SCICLIENT: Sciclient_pmSetModuleState module=148 state=2 [MCU2_0] 19.252723 s: SCICLIENT: Sciclient_pmSetModuleState success [MCU2_0] 19.253393 s: CSI2RX: Init ... Done !!! [MCU2_0] 19.253437 s: ISS: Init ... !!! [MCU2_0] 19.253542 s: IssSensor_Init ... Done !!! [MCU2_0] 19.253641 s: vissRemoteServer_Init ... Done !!! [MCU2_0] 19.253695 s: IttRemoteServer_Init ... Done !!! [MCU2_0] 19.253720 s: APP: appCmsCtrlInit !!! [MCU2_0] 19.253739 s: appCmsCtrlInit start!!! [MCU2_0] 19.253757 s: APP: appCmsCtrlInit done!!! [MCU2_0] 19.253776 s: UDMA Copy: Init ... !!! [MCU2_0] 19.255216 s: UDMA Copy: Init ... Done !!! [MCU2_0] 19.255264 s: APP: Init ... Done !!! [MCU2_0] 19.255288 s: APP: Run ... !!! [MCU2_0] 19.255305 s: APP: Run ... Done !!! [MCU2_0] 19.255680 s: exp_io: status=1 [MCU2_0] 19.256011 s: exp_io: status=1 [MCU2_0] 19.256170 s: exp_io: status=1 [MCU2_0] 19.256490 s: exp_io: status=1 [MCU2_0] 19.256805 s: exp_io: status=1 [MCU2_0] 19.257116 s: exp_io: status=1 [MCU2_0] 19.257422 s: exp_io: status=1 [MCU2_0] 19.257448 s: exp_io: I2C close handle [MCU2_0] 19.257515 s: -----------init rpmsg handler [MCU2_0] 19.257546 s: -----------appLogPrintf DEBUG code [MCU2_0] 19.257592 s: -----------printf DEBUG code [MCU2_0] 19.257656 s: IPC: RPMessage_create() ok myEndPt = 16 [MCU2_0] 19.257694 s: IPC: RPMessage_create() myEndPt = 16 [MCU2_0] 19.257737 s: CommService_Init entry [MCU2_0] 19.257847 s: regeist Commservice_McalReg:a326af78 [MCU2_0] 19.257885 s: MultiCoreService_Init entry [MCU2_0] 19.257913 s: CommService_ChnReg entry [MCU2_0] 19.257943 s: MultiCoreService_Init exit [MCU2_0] 19.258159 s: Task Success(iCGMBle_1ms_3)(5,10240): [MCU2_0] 19.259219 s: Task_1ms_3 entry [MCU2_0] 24.461640 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 29.861635 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 35.261656 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 40.661650 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 46.061642 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 51.461636 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 56.861659 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 62.261653 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 67.661644 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 73.061638 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 78.461664 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 83.861656 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 89.261647 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 94.661641 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 100.061633 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 105.461657 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 110.861680 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 116.261642 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 121.661665 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 127.061658 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 132.461651 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 137.861645 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 143.261637 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 148.661664 s: Q212x_reset: Q212x_reset phy2112 at hPhy1 [MCU2_0] 154.061655 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
2、Also I tried to run the "/opt/vision_apps/vx_app_arm_ipc.out", and enter '1' , the log is ad below:
root@j7-evm:/opt/vision_apps# ./vx_app_arm_ipc.out APP: Init ... !!! MEM: Init ... !!! MEM: Initialized DMA HEAP (fd=4) !!! MEM: Init ... Done !!! IPC: Init ... !!! IPC: Init ... Done !!! REMOTE_SERVICE: Init ... !!! REMOTE_SERVICE: Init ... Done !!! 0.000000 s: GTC Frequency = 0 MHz APP: Init ... Done !!! 0.000000 s: VX_ZONE_INIT:Enabled 0.000000 s: VX_ZONE_ERROR:Enabled 0.000000 s: VX_ZONE_WARNING:Enabled 0.000000 s: VX_ZONE_INIT:[tivxInit:71] Initialization Done !!! 0.000000 s: VX_ZONE_INIT:[tivxHostInit:48] Initialization Done for HOST !!! input formate: 1:MPU 2:MCU2_0 3:MCU2_1 4:MCU3_0 5:MCU4_0 6:C66_1_0 7:C66_2_0 8:SetSWInterVlan 9:SetHWInterVlan a:Switch_GetPortStatus b:Switch_SetPortRole c:Switch_GetPortRole d:Switch_SetPortTestMode e:Switch_GetPortTestMode f:Switch_GetPortSqi g:Switch_EnCableTestDiag h:Switch_DisableCableTestDiag i:Switch_GetCableTestDiag j:Switch_PortEnable k:Switch_PortDisable n:Switch_AddLutStaticEntry m:Switch_AddLutEntry l:Switch_Overheat o:Switch_VolThreshold x:exit 1 test MPU<-->anthor CORE IPC Test 0.000000 s: maxTime 3.068000ms miniTime 0.060000ms averTime 0.085768ms 0.000000 s: maxTime 5.234000ms miniTime 0.058000ms averTime 0.081524ms 0.000000 s: maxTime 0.433000ms miniTime 0.054000ms averTime 0.065413ms 0.000000 s: maxTime 1.449000ms miniTime 0.057000ms averTime 0.068166ms 0.000000 s: maxTime 1.207000ms miniTime 0.036000ms averTime 0.045722ms 0.000000 s: maxTime 0.404000ms miniTime 0.037000ms averTime 0.041597ms 0.000000 s: maxTime 2.338000ms miniTime 0.033000ms averTime 0.043536ms input formate: 1:MPU 2:MCU2_0 3:MCU2_1 4:MCU3_0 5:MCU4_0 6:C66_1_0 7:C66_2_0 8:SetSWInterVlan 9:SetHWInterVlan a:Switch_GetPortStatus b:Switch_SetPortRole c:Switch_GetPortRole d:Switch_SetPortTestMode e:Switch_GetPortTestMode f:Switch_GetPortSqi g:Switch_EnCableTestDiag h:Switch_DisableCableTestDiag i:Switch_GetCableTestDiag j:Switch_PortEnable k:Switch_PortDisable n:Switch_AddLutStaticEntry m:Switch_AddLutEntry l:Switch_Overheat o:Switch_VolThreshold x:exit invailed input input formate: 1:MPU 2:MCU2_0 3:MCU2_1 4:MCU3_0 5:MCU4_0 6:C66_1_0 7:C66_2_0 8:SetSWInterVlan 9:SetHWInterVlan a:Switch_GetPortStatus b:Switch_SetPortRole c:Switch_GetPortRole d:Switch_SetPortTestMode e:Switch_GetPortTestMode f:Switch_GetPortSqi g:Switch_EnCableTestDiag h:Switch_DisableCableTestDiag i:Switch_GetCableTestDiag j:Switch_PortEnable k:Switch_PortDisable n:Switch_AddLutStaticEntry m:Switch_AddLutEntry l:Switch_Overheat o:Switch_VolThreshold x:exit 2 test MCU2_0<-->anthor CORE IPC Test 0.000000 s: REMOTE_SERVICE_TEST: ERROR: Timer test !!! input formate: 1:MPU 2:MCU2_0 3:MCU2_1 4:MCU3_0 5:MCU4_0 6:C66_1_0 7:C66_2_0 8:SetSWInterVlan 9:SetHWInterVlan a:Switch_GetPortStatus b:Switch_SetPortRole c:Switch_GetPortRole d:Switch_SetPortTestMode e:Switch_GetPortTestMode f:Switch_GetPortSqi g:Switch_EnCableTestDiag h:Switch_DisableCableTestDiag i:Switch_GetCableTestDiag j:Switch_PortEnable k:Switch_PortDisable n:Switch_AddLutStaticEntry m:Switch_AddLutEntry l:Switch_Overheat o:Switch_VolThreshold x:exit
Please help us to solve this problem , thanks!
Best !
Hi Wang,
1、I created another separate task to send the display crop paramaters per 50ms(if the send command flag is active).
In this test, are you also changing crop parameters? Can you please keep the crop parameters same for every iterations?
Regards,
Brijesh
Hi Brijesh,
1、In this test, are you also changing crop parameters?
Yes , I changed the paramaters per 50ms.
2、Can you please keep the crop parameters same for every iterations?
I tried to keep the paramaters same for every iteration , it still got stalled.
Best !
Hi Wang,
Strange. Btw, cropping was not supported on SDK7.3, have you added it?
Also do you have CCS + JTAG to connect mcu2_0 and see where it is stuck?
If not, can you please add some debug prints in the debug control command in display node implementation and see where it is stuck?
Regards,
Brijesh
Hello Brijesh,
Strange. Btw, cropping was not supported on SDK7.3, have you added it?
Yes , We asked that question in an earlier post here.
I added some logs to the A72 core and mcu2_0 today.
Finally , I found that it got stalled at "./ti/tiovx/source/framework/vx_context.c" -> ownContextSendControlCmd -> line 655(status = tivxEventWait(cmd_ack_event, timeout);)
And on mcu2_0 , it could get the corp paramaters in the function "tivxDisplayControl " . Also , the mcu2_0 core was working well.
The codes and logs are as below:
A72 codes:
obj_desc_cmd->cmd_id = (vx_enum)TIVX_CMD_NODE_CONTROL; obj_desc_cmd->dst_target_id = target_id; obj_desc_cmd->src_target_id = (uint32_t)tivxPlatformGetTargetId(TIVX_TARGET_HOST); obj_desc_cmd->num_obj_desc = 1u; obj_desc_cmd->obj_desc_id[0u] = node_obj_desc; obj_desc_cmd->flags = TIVX_CMD_FLAG_SEND_ACK; obj_desc_cmd->ack_event_handle = (uint64_t)(uintptr_t)cmd_ack_event; obj_desc_cmd->replicated_node_idx = (int32_t)replicated_node_idx; obj_desc_cmd->node_cmd_id = node_cmd_id; obj_desc_cmd->num_cmd_params = num_obj_desc; for (i = 0; i < num_obj_desc; i ++) { obj_desc_cmd->cmd_params_desc_id[i] = obj_desc_id[i]; } status = tivxObjDescSend(target_id, obj_desc_cmd->base.obj_desc_id); if (status == (vx_status)VX_SUCCESS) { printf("tivxEventWait begin ^^^^^^^^^^^^^^^^^^\r\n"); status = tivxEventWait(cmd_ack_event, timeout); printf("tivxEventWait end ^^^^^^^^^^^^^^^^^^\r\n"); if (status == (vx_status)VX_SUCCESS) { if ((vx_status)VX_SUCCESS != (vx_status)obj_desc_cmd->cmd_status) { VX_PRINT(VX_ZONE_ERROR, "Command ack message returned failure cmd_status: %d\n", obj_desc_cmd->cmd_status); status = (vx_status)VX_FAILURE; }
A72 logs:
[Graph info -> app_display_modify]cropPrms.startX = 0 [Graph info -> app_display_modify]cropPrms.startY = 0 [Graph info -> app_display_modify]cropPrms.width = 1280 [Graph info -> app_display_modify]cropPrms.height = 720 tivxNodeSendCommand begin ownContextSendControlCmd begin^^^^^^^^^^^^^^^^^ tivxEventWait begin ^^^^^^^^^^^^^^^^^^ tivxEventWait end ^^^^^^^^^^^^^^^^^^ ownContextSendControlCmd end^^^^^^^^^^^^^^^^^ tivxNodeSendCommand end app_display_sight_modify left^^^^^^^^^^^^^^^^^^^^^ [Graph info -> app_display_modify]cropPrms.startX = 0 [Graph info -> app_display_modify]cropPrms.startY = 0 [Graph info -> app_display_modify]cropPrms.width = 1280 [Graph info -> app_display_modify]cropPrms.height = 720 tivxNodeSendCommand begin ownContextSendControlCmd begin^^^^^^^^^^^^^^^^^ tivxEventWait begin ^^^^^^^^^^^^^^^^^^ tivxEventWait end ^^^^^^^^^^^^^^^^^^ ownContextSendControlCmd end^^^^^^^^^^^^^^^^^ tivxNodeSendCommand end app_display_sight_modify right^^^^^^^^^^^^^^^^^^^^^ [Graph info -> app_display_modify]cropPrms.startX = 0 [Graph info -> app_display_modify]cropPrms.startY = 0 [Graph info -> app_display_modify]cropPrms.width = 1280 [Graph info -> app_display_modify]cropPrms.height = 720 tivxNodeSendCommand begin ownContextSendControlCmd begin^^^^^^^^^^^^^^^^^ tivxEventWait begin ^^^^^^^^^^^^^^^^^^ tivxEventWait end ^^^^^^^^^^^^^^^^^^ ownContextSendControlCmd end^^^^^^^^^^^^^^^^^ tivxNodeSendCommand end app_display_sight_modify left^^^^^^^^^^^^^^^^^^^^^ [Graph info -> app_display_modify]cropPrms.startX = 0 [Graph info -> app_display_modify]cropPrms.startY = 0 [Graph info -> app_display_modify]cropPrms.width = 1280 [Graph info -> app_display_modify]cropPrms.height = 720 tivxNodeSendCommand begin ownContextSendControlCmd begin^^^^^^^^^^^^^^^^^ tivxEventWait begin ^^^^^^^^^^^^^^^^^^
MCU2_0 Codes :
static vx_status VX_CALLBACK tivxDisplayControl( tivx_target_kernel_instance kernel, uint32_t node_cmd_id, tivx_obj_desc_t *obj_desc[], uint16_t num_params, void *priv_arg) { vx_status status = (vx_status)VX_SUCCESS; uint32_t size; tivxDisplayParams *dispPrms = NULL; status = tivxGetTargetKernelInstanceContext(kernel, (void **)&dispPrms, &size); if ((vx_status)VX_SUCCESS != status) { VX_PRINT(VX_ZONE_ERROR, "Failed to Get Target Kernel Instance Context\n"); } else if ((NULL == dispPrms) || (sizeof(tivxDisplayParams) != size)) { VX_PRINT(VX_ZONE_ERROR, "Invalid Object Size\n"); status = (vx_status)VX_FAILURE; } else { /* do nothing */ } if ((vx_status)VX_SUCCESS == status) { switch (node_cmd_id) { case TIVX_DISPLAY_SELECT_CHANNEL: { status = tivxDisplaySwitchChannel(dispPrms, (tivx_obj_desc_user_data_object_t *)obj_desc[0U]); break; } case TIVX_DISPLAY_SET_CROP_PARAMS: { VX_PRINT(VX_ZONE_ERROR, "Setting crop paramaters begin !!!!\n"); status = tivxDisplaySetCropParams(dispPrms, (tivx_obj_desc_user_data_object_t *)obj_desc[0U]); VX_PRINT(VX_ZONE_ERROR, "Setting crop paramaters end !!!!\n"); break; } default: { VX_PRINT(VX_ZONE_ERROR, "Invalid Command Id\n"); status = (vx_status)VX_FAILURE; break; } } } return (status); }
MCU2_0 Logs
[MCU2_0] 124.088268 s: VX_ZONE_ERROR:[tivxDisplayProcess:1056] SemaphoreP_pen d begin^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.088793 s: VX_ZONE_ERROR:[tivxDisplayProcess:1058] SemaphoreP_pen d end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.088869 s: VX_ZONE_ERROR:[tivxDisplayProcess:1063] Fvid2_dequeue end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.089020 s: VX_ZONE_ERROR:[tivxDisplayProcess:1058] SemaphoreP_pen d end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.089084 s: VX_ZONE_ERROR:[tivxDisplayProcess:1063] Fvid2_dequeue end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.103802 s: VX_ZONE_ERROR:[tivxDisplayProcess:949] tivxGetTargetKe rnelInstanceContext Begin ^^^^^^^^^^^^^ [MCU2_0] 124.103866 s: VX_ZONE_ERROR:[tivxDisplayProcess:953] tivxGetTargetKe rnelInstanceContext End ^^^^^^^^^^^^^ [MCU2_0] 124.103914 s: VX_ZONE_ERROR:[tivxDisplayProcess:969] tivxGetObjDescE lement Begin ^^^^^^^^^^^^^ [MCU2_0] 124.103961 s: VX_ZONE_ERROR:[tivxDisplayProcess:973] tivxGetObjDescE lement End ^^^^^^^^^^^^^ [MCU2_0] 124.104003 s: VX_ZONE_ERROR:[tivxDisplayProcess:992] tivxQueueGet Be gin ^^^^^^^^^^^^^ [MCU2_0] 124.104076 s: VX_ZONE_ERROR:[tivxDisplayProcess:994] tivxQueueGet Be gin ^^^^^^^^^^^^^ [MCU2_0] 124.104121 s: VX_ZONE_ERROR:[tivxDisplayProcess:997] tivxDisplayUpda teRtParams Begin ^^^^^^^^^^^^^ [MCU2_0] 124.104219 s: VX_ZONE_ERROR:[tivxDisplayProcess:999] tivxDisplayUpda teRtParams End ^^^^^^^^^^^^^ [MCU2_0] 124.104268 s: VX_ZONE_ERROR:[tivxDisplayProcess:1022] Fvid2_queue1 B egin ^^^^^^^^^^^^^ [MCU2_0] 124.104348 s: VX_ZONE_ERROR:[tivxDisplayProcess:1024] Fvid2_queue1 E nd ^^^^^^^^^^^^^ [MCU2_0] 124.104398 s: VX_ZONE_ERROR:[tivxDisplayProcess:1056] SemaphoreP_pen d begin^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.104524 s: VX_ZONE_ERROR:[tivxDisplayProcess:949] tivxGetTargetKe rnelInstanceContext Begin ^^^^^^^^^^^^^ [MCU2_0] 124.104628 s: VX_ZONE_ERROR:[tivxDisplayProcess:953] tivxGetTargetKe rnelInstanceContext End ^^^^^^^^^^^^^ [MCU2_0] 124.104690 s: VX_ZONE_ERROR:[tivxDisplayProcess:969] tivxGetObjDescE lement Begin ^^^^^^^^^^^^^ [MCU2_0] 124.104741 s: VX_ZONE_ERROR:[tivxDisplayProcess:973] tivxGetObjDescE lement End ^^^^^^^^^^^^^ [MCU2_0] 124.104865 s: VX_ZONE_ERROR:[tivxDisplayProcess:992] tivxQueueGet Be gin ^^^^^^^^^^^^^ [MCU2_0] 124.104919 s: VX_ZONE_ERROR:[tivxDisplayProcess:994] tivxQueueGet Be gin ^^^^^^^^^^^^^ [MCU2_0] 124.104961 s: VX_ZONE_ERROR:[tivxDisplayProcess:997] tivxDisplayUpda teRtParams Begin ^^^^^^^^^^^^^ [MCU2_0] 124.105002 s: VX_ZONE_ERROR:[tivxDisplayProcess:999] tivxDisplayUpda teRtParams End ^^^^^^^^^^^^^ [MCU2_0] 124.105045 s: VX_ZONE_ERROR:[tivxDisplayProcess:1022] Fvid2_queue1 B egin ^^^^^^^^^^^^^ [MCU2_0] 124.105106 s: VX_ZONE_ERROR:[tivxDisplayProcess:1024] Fvid2_queue1 E nd ^^^^^^^^^^^^^ [MCU2_0] 124.105151 s: VX_ZONE_ERROR:[tivxDisplayProcess:1056] SemaphoreP_pen d begin^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.105239 s: VX_ZONE_ERROR:[tivxDisplayProcess:1058] SemaphoreP_pen d end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.105295 s: VX_ZONE_ERROR:[tivxDisplayProcess:1063] Fvid2_dequeue end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.105339 s: VX_ZONE_ERROR:[tivxDisplayProcess:1056] SemaphoreP_pen d begin^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.105400 s: VX_ZONE_ERROR:[tivxDisplayProcess:1058] SemaphoreP_pen d end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.105455 s: VX_ZONE_ERROR:[tivxDisplayProcess:1063] Fvid2_dequeue end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.106031 s: VX_ZONE_ERROR:[tivxDisplayControl:847] Setting crop pa ramaters begin !!!! [MCU2_0] 124.106106 s: VX_ZONE_ERROR:[tivxDisplayControl:850] Setting crop pa ramaters end !!!! [MCU2_0] 124.120936 s: VX_ZONE_ERROR:[tivxDisplayProcess:1058] SemaphoreP_pen d end^^^^^^^^^^^^^^^^^^^^^ [MCU2_0] 124.121011 s: VX_ZONE_ERROR:[tivxDisplayProcess:1063] Fvid2_dequeue end^^^^^^^^^^^^^^^^^^^^^
Thanks !
Hi,
Is it possible to recreate this in single camera or multi camera example on EVM? It would be easier to debug. I suspect some IPC issue.. But need to reproduce it with existing example on EVM.
or if you have this example available on EVM, can you please share it?
Regards,
Brijesh
Hi Brijesh,
I've solved this problem.
It was because of the setting paramaters of the LVGL V6.0.
We use the LVGL and Draw2D function to draw pixels for HMI.
We set the lv_tick_inc tick(the heart beat for LVGL) to 1 before , the video graph got stalled sometimes.(All the time utill A72 reboot.)
But 48 hours ago, we set the lv_tick_inc tick to 10 , all the problems gone.
And the system keeps running stably for last 48 hours.
But we are still confused.
Best !