工具与软件:
您好!
我尝试使用包括的 EdgeAI 组件构建自定义 Linux 映像来运行 TIOVX 应用。 创建 IPC 通道的远程内核存在问题、之前在相关主题中讨论过、但现在似乎可以:
root@am69-b55:/opt/edgeai-tiovx-apps/bin# dmesg | grep rpmsg [ 8.287923] virtio_rpmsg_bus virtio0: rpmsg host is online [ 8.291665] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xd [ 8.495336] virtio_rpmsg_bus virtio1: rpmsg host is online [ 8.514919] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd [ 8.527418] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe [ 8.541320] virtio_rpmsg_bus virtio2: rpmsg host is online [ 8.545300] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xd [ 8.618502] virtio_rpmsg_bus virtio3: rpmsg host is online [ 8.625787] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0xd [ 8.690892] virtio_rpmsg_bus virtio4: rpmsg host is online [ 8.696156] virtio_rpmsg_bus virtio5: rpmsg host is online [ 8.697897] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0xd [ 8.699898] virtio_rpmsg_bus virtio5: creating channel rpmsg_chrdev addr 0xd [ 8.810164] virtio_rpmsg_bus virtio6: rpmsg host is online [ 8.812145] virtio_rpmsg_bus virtio7: rpmsg host is online [ 8.814948] virtio_rpmsg_bus virtio8: rpmsg host is online [ 8.816430] virtio_rpmsg_bus virtio9: rpmsg host is online [ 8.816887] virtio_rpmsg_bus virtio6: creating channel rpmsg_chrdev addr 0xd [ 8.818829] virtio_rpmsg_bus virtio7: creating channel rpmsg_chrdev addr 0xd [ 8.819630] virtio_rpmsg_bus virtio10: rpmsg host is online [ 8.821419] virtio_rpmsg_bus virtio8: creating channel rpmsg_chrdev addr 0xd [ 8.822608] virtio_rpmsg_bus virtio10: creating channel rpmsg_chrdev addr 0xd [ 8.822813] virtio_rpmsg_bus virtio9: creating channel rpmsg_chrdev addr 0xd [ 8.823040] virtio_rpmsg_bus virtio10: creating channel rpmsg_chrdev addr 0x15 [ 8.823096] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0x15 [ 8.823159] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0x15 [ 8.823207] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0x15 [ 8.823302] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0x15 [ 8.823378] virtio_rpmsg_bus virtio6: creating channel rpmsg_chrdev addr 0x15 [ 8.823495] virtio_rpmsg_bus virtio7: creating channel rpmsg_chrdev addr 0x15 [ 8.823537] virtio_rpmsg_bus virtio8: creating channel rpmsg_chrdev addr 0x15 [ 8.823560] virtio_rpmsg_bus virtio9: creating channel rpmsg_chrdev addr 0x15 [ 8.823999] virtio_rpmsg_bus virtio5: creating channel rpmsg_chrdev addr 0x15 [ 8.825103] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xe [ 8.825221] virtio_rpmsg_bus virtio7: creating channel ti.ipc4.ping-pong addr 0xe [ 8.825321] virtio_rpmsg_bus virtio9: creating channel ti.ipc4.ping-pong addr 0xe [ 8.825511] virtio_rpmsg_bus virtio6: creating channel ti.ipc4.ping-pong addr 0xe [ 8.838825] virtio_rpmsg_bus virtio5: creating channel ti.ipc4.ping-pong addr 0xe [ 8.914138] virtio_rpmsg_bus virtio10: creating channel ti.ipc4.ping-pong addr 0xe [ 9.182701] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xe [ 9.195030] virtio_rpmsg_bus virtio3: creating channel ti.ipc4.ping-pong addr 0xe [ 9.268574] virtio_rpmsg_bus virtio4: creating channel ti.ipc4.ping-pong addr 0xe [ 9.382806] virtio_rpmsg_bus virtio8: creating channel ti.ipc4.ping-pong addr 0xe
问题在于 edgeai-tiovx-apps-test 默认应用程序在 tiovx_modules_wait_graph 函数上挂起。 我添加了一些 printf 行以了解问题在哪里:
root@am69-b55:/opt/edgeai-tiovx-apps/bin# ./edgeai-tiovx-apps-test
APP: Init ... !!!
38.035141 s: MEM: Init ... !!!
38.035215 s: MEM: Initialized DMA HEAP (fd=5) !!!
38.035344 s: MEM: Init ... Done !!!
38.035357 s: IPC: Init ... !!!
38.067007 s: IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
38.077319 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
38.078990 s: VX_ZONE_INIT:Enabled
38.079002 s: VX_ZONE_ERROR:Enabled
38.079009 s: VX_ZONE_WARNING:Enabled
38.080877 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:134] Added target MPU-0
38.080986 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:134] Added target MPU-1
38.081058 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:134] Added target MPU-2
38.081130 s: VX_ZONE_INIT:[tivxPlatformCreateTargetId:134] Added target MPU-3
38.081140 s: VX_ZONE_INIT:[tivxInitLocal:127] Initialization Done !!!
38.083469 s: VX_ZONE_INIT:[tivxHostInitLocal:106] Initialization Done for HOST !!!
Running Multi Scaler module test
tiovx_multi_scaler_init_cfg
tiovx_multi_scaler_module_crop_params_init
tiovx_modules_initialize_graph
tiovx_modules_add_node
tiovx_modules_verify_graph
tiovx_modules_acquire_buf
input_filename: /opt/edgeai-test-data/raw_images/modules_test/baboon_640x480_nv12.yuv
readImage status: 0
tiovx_modules_enqueue_buf: 0
tiovx_modules_enqueue_buf: 0
tiovx_modules_enqueue_buf: 0
tiovx_modules_schedule_graph: 0
tiovx_modules_wait_graph start
vxWaitGraph //hangs here for about 2 minutes
tiovx_modules_wait_graph: 0
tiovx_modules_dequeue_buf //hangs on vxGraphParameterDequeueDoneRef forever
我想 这个问题可能在 edgeai 的一些组件中,有些东西没有初始化,它应该是,你能帮助解决这个问题吗?