vxWaitGraph
function and saved extra runtime log information in the tiovx framework. After the timeout occurs, we print the relevant information collected on the A72 side.-
A 5-second timeout is added to
vxWaitGraph
. This duration far exceeds the execution time of TIDLNode within C71. -
After the aforementioned 5-second timeout occurs, we print the information previously recorded within the tiovx framework. This information represents the last execution information received for the specified graph.The steps are as follows:2.1 After each call to
tivxObjDescGet
intivxTargetTaskMain
, the graph name is obtained usingvxQueryReference(VX_REFERENCE_NAME)
.2.2 In functions such astivxTargetDequeueObjDesc
,tivxTargetCmdDescHandleUserCallback
, andownCheckGraphCompleted
, information about the code execution process is saved totemp_info
.2.3 In the final portion oftivxTargetCmdDescHandleUserCallback
, it is determined whether the current graph name matches the graph name of interest. If they match, the information fromtemp_info
is saved tolast_info
. Subsequently,temp_info
is cleared, whilelast_info
is used for final printing.2.4 After the 5-second graph timeout occurs, the information fromlast_info
is printed within the thread that callsvxWaitGraph
.
last_info
, it is observed that tivxEventPost(graph->all_graph_completed_event)
in ownCheckGraphCompleted
is not called. This implies that the last execution information received is not "all graph execution completed notification -- all_graph_completed_event". This indicates that there is still processing for the current graph running on C71, and it has not been fully completed.cmd_obj_desc->timestamp_h
and cmd_obj_desc->timestamp_l
) of the CMD sent from C71 in the printed last_info
has a time difference of at least 3.6 seconds from the end of the 5-second timeout. This means that there should have been sufficient time (3.6 seconds) to receive subsequent CMDs from C71 again and update last_info
. However, up until the timeout occurred, last_info
was not updated.app_c7x_kernel
in vision_apps
. This test graph is executed following the timeout of the aforementioned graph to verify whether C71 can operate normally after the timeout. During this process, the following observations were made:ownNodeKernelInit
was executed successfully, indicating that the IPC communication for initialization between A72 and C71 was successful.
vxWaitGraph
for this test graph on A72 remained frozen, and A72 side did not receive any "execution failure notification".