Hi TI Experts,
Customer is working on TDA4VM SDK8.6.
When they are running C7x applications, if they exit the first run and rerun the application, it will have the below error.
Processing config file #0 : infer_config.txt 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 !!! 2429.291504 s: GTC Frequency = 200 MHz APP: Init ... Done !!! 2429.292035 s: VX_ZONE_INIT:Enabled 2429.292102 s: VX_ZONE_ERROR:Enabled 2429.292154 s: VX_ZONE_WARNING:Enabled 2429.293350 s: VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!! 2429.293728 s: VX_ZONE_INIT:[tivxHostInitLocal:93] Initialization Done for HOST !!! 2429.339047 s: VX_ZONE_ERROR:[ownContextSendCmd:799] Command ack message returned failure cmd_status: -1 2429.339074 s: VX_ZONE_ERROR:[ownContextSendCmd:835] tivxEventWait() failed. 2429.339086 s: VX_ZONE_ERROR:[ownNodeKernelInit:527] Target kernel, TIVX_CMD_NODE_CREATE failed for node TIDLNode 2429.339094 s: VX_ZONE_ERROR:[ownNodeKernelInit:528] Please be sure the target callbacks have been registered for this core 2429.339100 s: VX_ZONE_ERROR:[ownNodeKernelInit:529] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel 2429.339109 s: VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 0, kernel com.ti.tidl:1:1 ... failed !!! 2429.339127 s: VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed 2429.339136 s: VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed TIDL_RT_OVX: ERROR: Verifying TIDL graph ... Failed !!! TIDL_RT_OVX: ERROR: Verify OpenVX graph failed Error at line: 506 : in file /home/yuming/Projects/TDA4VM/ti-processor-sdk-rtos-j721e-evm-08_06_00_12/tidl_j721e_08_06_00_10/arm-tidl/rt/test/armv8/../src/tidl_tb.c, of function : tidlMultiInstanceTest Invalid Error Type!
We have followed the below FAQ to find out the root cause for the problem, and the log is provided below.
[C7x_1 ] 676768.300111 s: PREEMPTION: Requesting memory of size 128 for targetPriority = 512 [C7x_1 ] 676768.300256 s: min(FM): 0, max(FM): 18300686, min(WT): 18300800, max(WT): 32063360 [C7x_1 ] 676768.300277 s: [C7x_1 ] 676768.300295 s: -------------------------------------------- [C7x_1 ] 676768.300319 s: TIDL Memory size requiement (record wise): [C7x_1 ] 676768.300349 s: MemRecNum , Space , Attribute , Size(KBytes) [C7x_1 ] 676768.300946 s: [C7x_1 ] 689761.121186 s: VX_ZONE_ERROR:[tivxAlgiVisionAllocMem:194] Failed to Allocate memory record 5 @ space = 17 and size = 5743728 !!! [C7x_1 ] 689761.121214 s: VX_ZONE_ERROR:[tivxAlgiVisionCreate:358] tivxAlgiVisionAllocMem Failed [C7x_1 ] 689761.121238 s: VX_ZONE_ERROR:[tivxKernelTIDLCreate:720] tivxAlgiVisionCreate returned NULL
Based on the above log, it shows that the problem is about the memory allocation.
We found out that if we restart the board and give it a fresh run, then there will be no problem.
The problem only happens when we exit the current run, and rerun the application.
Hence this may due to the previous allocated memory is not clean, and the next rerun does not have the sufficient memory.
Although restarting the board could solve this problem, but it is not very convenient.
May I know if there are any other suggested methods that could clean the memory without restarting the board?
Thanks a lot!
Kevin