工具与软件:
嗨、团队:
我正在使用 SDK 08_02_00_05 (Linux+RTOS)。
在测试应用程序时、我将看到以下错误日志。
root@j7-evm:/opt/vision_apps# ./btc_tpa_dl.out --cfg btc_tpa_dl.cfg
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 !!!
61.952107 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
61.958635 s: VX_ZONE_INIT:Enabled
61.958652 s: VX_ZONE_ERROR:Enabled
61.958666 s: VX_ZONE_WARNING:Enabled
61.962714 s: VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
61.962886 s: VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
Default param set!
Parsed user params!
Updated user params!
end app_init_res_resize, vx_status:0
inside mesh img creation
resolution resize init Done!
app_init_color_conv_RGB_NV12() : ENTERING
app_init_color_conv_RGB_NV12() : EXITING
color_conv_RGB_NV12 Done!
[LDC-MODULE] configure_dcc_params() : ENTERING
[LDC-MODULE] configure_dcc_params() : Setting DCC config object to NULL!
[LDC-MODULE] configure_dcc_params() : EXITING
LDC init done!
Scaler Init Done!
Computing checksum at 0x0000FFFFA1DB2F00, size = 785072
TIDL Init Done!
Pre Proc Update Done!
Pre Proc Init Done!
APP_INIT Number of Input Tensors in draw detections 1
rci postproc Update Done!
rci postproc Init Done!
App Init Done!
I am inside app_create_graph_reso_res
Before tivxResoResizeNode !
tivxResoResizeNode after!
Tensor releasing Start Done!
Tensor releasing Done!
app_create_graph_res_resize graph done!
app_create_graph_color_conv_RGB_NV12() : ENTERING
Color convert RGB_NV12 node create started
Color convert node RGB_NV12 create done
app_create_graph_color_conv_RGB_NV12() : EXITING
app_create_graph_color_conv_RGB_NV12 graph done!
[LDC-MODULE] app_create_graph_ldc() : ENTERING
[LDC-MODULE] app_create_graph_ldc() : DCC config object is NULL
output image is NULL in ldc
62.038711 s: VX_ZONE_ERROR:[vxSetParameterByIndex:228] Supplied value was not actually a reference
62.038721 s: VX_ZONE_ERROR:[vxSetParameterByIndex:305] Specified: parameter[7] type:00000000 => (nil)
62.038728 s: VX_ZONE_ERROR:[vxSetParameterByIndex:307] Required: parameter[7] dir:1 type:0000080f
62.038739 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:307] Invalid reference
62.038746 s: VX_ZONE_ERROR:[vxGetStatus:713] Reference is NULL
status:-7
[LDC-MODULE] Unable to create LDC node without DCC config!
[LDC-MODULE] app_create_graph_ldc() : EXITING
LDC graph done!
App Create Graph Done!
App Run Graph Done!
res resize delete done!
Color_conv_RGB_NV12 delete done!
LDC delete done!
App Delete Graph Done!
Input image release Done!
62.038841 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:307] Invalid reference
res resize deinit done!
rgb to nv12 done!
LDC deinit done!
Scaler deinit Done!
Pre-Proc deinit Done!
TIDL deinit Done!
Post_proc deinit Done!
TIDL unload Done!
ImgProc unload Done!
RCIPostProc unload Done!
Resolution Resize unload Done!
HWA unload Done!
62.039379 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xffffad795c28 of type 00000813 at external count 1, internal count 0, releasing it
62.039387 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_104) now as a part of garbage collection
62.039397 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xffffad72e9a8 of type 0000080f at external count 1, internal count 0, releasing it
62.039403 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=image_105) now as a part of garbage collection
62.039428 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xffffad6fc080 of type 00000816 at external count 1, internal count 0, releasing it
62.039436 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=user_data_object_106) now as a part of garbage collection
62.039457 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xffffad72ec60 of type 0000080f at external count 1, internal count 0, releasing it
62.039464 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=image_108) now as a part of garbage collection
62.039485 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xffffad790740 of type 0000080d at external count 1, internal count 0, releasing it
62.039493 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=scalar_132) now as a part of garbage collection
Context released!
App De-init Done!
62.039525 s: VX_ZONE_INIT:[tivxHostDeInitLocal:100] De-Initialization Done for HOST !!!
62.043893 s: VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
IPC: Deinit ... !!!
IPC: DeInit ... Done !!!
MEM: Deinit ... !!!
MEM: Alloc's: 18 alloc's of 2513008 bytes
MEM: Free's : 18 free's of 2513008 bytes
MEM: Open's : 0 allocs of 0 bytes
MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!
root@j7-evm:/opt/vision_apps#
附加我的 app_create_graph 函数。
static vx_status app_create_graph(AppObj *obj)
{
vx_status status = VX_SUCCESS;
vx_char output_file_name[APP_MAX_FILE_PATH];
//vx_graph_parameter_queue_params_t graph_parameters_queue_params_list[2];
//vx_int32 graph_parameter_index;
obj->graph = vxCreateGraph(obj->context);
status = vxGetStatus((vx_reference)obj->graph);
if(status == VX_SUCCESS)
{
status = vxSetReferenceName((vx_reference)obj->graph, "OpenVxGraph");
}
if(status == VX_SUCCESS)
{
status = app_create_graph_res_resize(obj->graph, &obj->resResizeObj, obj->input.arr[0]);
APP_PRINTF(" app_create_graph_res_resize graph done!\n");
}
if(status == VX_SUCCESS)
{
status = app_create_graph_color_conv_RGB_NV12(obj->graph, &obj->colorConvRGBNV12Obj, obj->resResizeObj.output_image_arr);
APP_PRINTF(" app_create_graph_color_conv_RGB_NV12 graph done!\n");
}
vx_image src_image1 = (vx_image)vxGetObjectArrayItem(obj->colorConvRGBNV12Obj.dst_image_arr, 0);
snprintf(output_file_name, APP_MAX_FILE_PATH, "%s/cc_output.bmp", obj->output_file_path);
tivx_utils_save_vximage_to_bmpfile(output_file_name, src_image1);
if(status == VX_SUCCESS)
{
status = app_create_graph_ldc(obj->graph, &obj->ldcObj, obj->colorConvRGBNV12Obj.dst_image_arr);
APP_PRINTF("LDC graph done!\n");
}
if(status == VX_SUCCESS)
{
status = app_create_graph_scaler(obj->context, obj->graph, &obj->scalerObj, obj->ldcObj.output_arr);
}
if(status == VX_SUCCESS)
{
status = app_create_graph_pre_proc(obj->graph, &obj->preProcObj, obj->scalerObj.output[0].arr);
}
if(status == VX_SUCCESS)
{
status = app_create_graph_tidl(obj->context, obj->graph, &obj->tidlObj, obj->preProcObj.output_tensor_arr);
APP_PRINTF("TIDL Create Done! \n");
}
if(status == VX_SUCCESS)
{
status = app_rci_create_graph_postproc(obj->graph, &obj->rcipostprocObj, obj->tidlObj.output_tensor_arr);
APP_PRINTF("RCI Create Postproc Done!\n");
}
return status;
}
当我转储 obj->colorconvRGBNV12Obj.dst_image_arr 时 、输出不是预期的、但并非 NULL。 将转储装置连接在下方。

但是、将相同的信息传递给 下一个节点的 APP_CREATE_GRAPH_LDC 函数时、我将面临错误。
LDC 中的输出图像为 NULL
62.038711 s:vx_zone_error:[vxSetParameterByIndex:228]提供的值实际上不是参考
62.038721 s:vx_zone_error:[vxSetParameterByIndex:305]指定:parameter[7] type:00000000 =>(nil)
62.038728 s:vx_zone_error:[vxSetParameterByIndex:307]必需:parameter[7] dir:1 type:0000080f
62.038739 s:vx_zone_error:[ownReleaseReferenceInt:307]引用无效
62.038746 s:vx_zone_error:[vxGetStatus:713]参考为 NULL
这种行为的原因可能是什么? 如何解决此问题?
此致、
Chaitanya Prakash Uppala