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.
My pipeline is capture(raw_data)->viss->csitx,Resolution:3840*2166,viss out uyvy422,csitx node,avg time over 33.3ms.if my pipeline add ldc node,Common viss data with csitx。The average time of csitx node will reach 36ms。
/* CSITX Start */ #define NUM_CHANNELS (1U) #define CSITX_INST_ID (0U) #define CSITX_LANE_BAND_SPEED (TIVX_CSITX_LANE_BAND_SPEED_950_TO_1000_MBPS) #define CSITX_LANE_SPEED_MBPS (1000) // uint32_t loopCnt; vx_user_data_object csitx_config; tivx_csitx_params_t local_csitx_config; /* CSITX Config initialization */ tivx_csitx_params_init(&local_csitx_config); local_csitx_config.numInst = 1U; local_csitx_config.numCh = NUM_CHANNELS; local_csitx_config.instId[0U] = CSITX_INST_ID; local_csitx_config.instCfg[0U].rxCompEnable = (uint32_t)vx_true_e; local_csitx_config.instCfg[0U].rxv1p3MapEnable = (uint32_t)vx_true_e; local_csitx_config.instCfg[0U].laneBandSpeed = CSITX_LANE_BAND_SPEED; local_csitx_config.instCfg[0U].laneSpeedMbps = CSITX_LANE_SPEED_MBPS; local_csitx_config.instCfg[0U].numDataLanes = 4U; for (loopCnt = 0U; loopCnt < local_csitx_config.instCfg[0U].numDataLanes; loopCnt++) { local_csitx_config.instCfg[0U].lanePolarityCtrl[loopCnt] = 0u; } for (loopCnt = 0U; loopCnt < NUM_CHANNELS; loopCnt++) { local_csitx_config.chVcNum[loopCnt] = loopCnt; local_csitx_config.chInstMap[loopCnt] = CSITX_INST_ID; } csitx_config = vxCreateUserDataObject(obj->context, "tivx_csitx_params_t", sizeof(tivx_csitx_params_t), &local_csitx_config); if (vx_false_e == yuv_cam_input) { vx_image tx_frame = vxCreateImage( obj->context, sensorParams.sensorInfo.raw_params.width, sensorParams.sensorInfo.raw_params.height, //VX_DF_IMAGE_YUYV VX_DF_IMAGE_UYVY ); obj->csitx_frames = vxCreateObjectArray(obj->context, (vx_reference)tx_frame, num_capture_frames); status = vxReleaseImage(&tx_frame); status = vxGetStatus((vx_reference)obj->csitx_frames); if (status != VX_SUCCESS) { APP_PRINTF("csitx vxCreateObjectArray error\n"); } else { APP_PRINTF("csitx vxCreateObjectArray success\n"); } obj->csitx_node = tivxCsitxNode(obj->graph, csitx_config, obj->csitx_frames); } else { obj->csitx_node = tivxCsitxNode(obj->graph, csitx_config, obj->cap_frames[0]); } if(status == VX_SUCCESS) { status = vxReleaseUserDataObject(&csitx_config); } if (status == VX_SUCCESS) { status = vxSetNodeTarget(obj->csitx_node, VX_TARGET_STRING, TIVX_TARGET_CSITX); } else { APP_PRINTF("capture node set error\n"); } if (status == VX_SUCCESS) { APP_PRINTF("csitx node set success\n"); } else { APP_PRINTF("csitx node set error\n"); }
感谢您对TI产品的关注!由于问题比较复杂,我需要询问更了解这款芯片的TI资深工程师,再为您解答,一旦得到回复会立即回复给您。您也可以查看下帖了解进展:
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 !!! 804.578661 s: GTC Frequency = 200 MHz APP: Init ... Done !!! 804.586876 s: VX_ZONE_INIT:Enabled 804.586895 s: VX_ZONE_ERROR:Enabled 804.586910 s: VX_ZONE_WARNING:Enabled 804.587729 s: VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!! 804.587955 s: VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!! Single Camera Demo - (c) Texas Instruments 2019 ======================================================== Usage, ./vx_app_single_cam_capture_csitx.out --cfg <config file> Defaulting to interactive mode IttCtrl_registerHandler: command echo registered at location 0 IttCtrl_registerHandler: command iss_read_2a_params registered at location 1 IttCtrl_registerHandler: command iss_write_2a_params registered at location 2 IttCtrl_registerHandler: command iss_raw_save registered at location 3 IttCtrl_registerHandler: command iss_yuv_save registered at location 4 IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5 IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6 IttCtrl_registerHandler: command dev_ctrl registered at location 7 IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8 NETWORK: Opened at IP Addr = 192.168.11.223, socket port=5000!!! tivxImagingLoadKernels done 804.591093 s: ISS: Enumerating sensors ... !!! 804.591576 s: ISS: Enumerating sensors ... found 0 : OX08B40_RAW_MAX96717 804.591592 s: ISS: Enumerating sensors ... found 1 : IMX390_MAX9296 804.591613 s: ISS: Enumerating sensors ... found 2 : IMX390_MAX9296_LOOPBACK 804.591641 s: ISS: Enumerating sensors ... found 3 : SENSOR_OX08BC_8M 4 sensor(s) found Supported sensor list: a : OX08B40_RAW_MAX96717 b : IMX390_MAX9296 c : IMX390_MAX9296_LOOPBACK d : SENSOR_OX08BC_8M Select a sensor [MCU2_0] 804.591330 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE a LDC Selection Yes(1)/No(0) LDC Selection Yes(1)/No(0) 1 Sensor selected : OX08B40_RAW_MAX96717 app_init done Querying OX08B40_RAW_MAX96717 805.778480 s: ISS: Querying sensor [OX08B40_RAW_MAX96717] ... !!! 805.779026 s: ISS: Querying sensor [OX08B40_RAW_MAX96717] ... Done !!! WDR mode is supported CMS Usecase is supported obj->aewb_cfg.ae_mode = 0 obj->aewb_cfg.awb_mode = 0 Sensor DCC is enabled Sensor width = 3840 Sensor height = 2166 Sensor DCC ID = 310 Sensor Supported Features = 0x340 Sensor Enabled Features = 0x340 805.779094 s: ISS: Initializing sensor [OX08B40_RAW_MAX96717], doing IM_SENSOR_CMD_PWRON ... !!! [MCU2_0] 805.778702 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY [MCU2_0] 805.778786 s: Received Query for OX08B40_RAW_MAX96717 [MCU2_0] 805.779287 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON [MCU2_0] 805.779352 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x1 805.817503 s: ISS: Initializing sensor [OX08B40_RAW_MAX96717], doing IM_SENSOR_CMD_CONFIG ... !!! [MCU2_0] 805.817706 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG [MCU2_0] 805.817788 s: Application requested features = 0x340 [MCU2_0] [MCU2_0] 805.817835 s: Configuring cameras OX08B40_RAW_MAX96717 [MCU2_0] 805.817885 s: Config deserializer... [MCU2_0] 806.242847 s: Config deserializer...done! [MCU2_0] 806.242926 s: Config serializer... [MCU2_0] 806.266657 s: Config deserializer...done! [MCU2_0] 806.266732 s: Config sensor... 807.168585 s: ISS: Initializing sensor [OX08B40_RAW_MAX96717] ... Done !!! Creating graph Initializing params for capture node Initializing params for capture node local_capture_config.numDataLanes = 4 local_capture_config.dataLanesMap[0] = 1 local_capture_config.dataLanesMap[1] = 2 local_capture_config.dataLanesMap[2] = 3 local_capture_config.dataLanesMap[3] = 4 capture_config laneBandSpeed = 14 capture_config = 0x0xe7cf10 Creating capture node obj->capture_node = 0x0xe2b810 csitx vxCreateObjectArray success csitx node set success [MCU2_0] 807.168282 s: Config sensor...done! [MCU2_0] 807.168354 s: IM_SENSOR_CMD_CONFIG returning status = 0 VISS Set Reference done AEWB Set Reference done Enabling LDC vxSetGraphScheduleConfig done Scaler is disabled app_create_graph exiting app_create_graph done ========================== Demo : Single Camera w/ 2A ========================== p: Print performance statistics s: Save Sensor RAW, VISS Output and H3A output images to File System e: Export performance statistics u: Update DCC from File System x: Exit Enter Choice: Unsupported command ========================== Demo : Single Camera w/ 2A ========================== p: Print performance statistics s: Save Sensor RAW, VISS Output and H3A output images to File System e: Export performance statistics u: Update DCC from File System x: Exit Enter Choice: 807.241166 s: ISS: Starting sensor [OX08B40_RAW_MAX96717] ... !!! [MCU2_0] 807.241498 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_ON [MCU2_0] 807.241583 s: IM_SENSOR_CMD_STREAM_ON: channel_mask = 0x1 [MCU2_0] 807.241626 s: Configuring cameras OX08B40_RAW_MAX96717 [MCU2_0] 807.241677 s: Start streaming 807.625388 s: ISS: Starting sensor [OX08B40_RAW_MAX96717] ... !!! [MCU2_0] 807.625917 s: VX_ZONE_WARNING:[tivxCaptureSetTimeout:774] CAPTURE: WARNING: Error frame not provided using tivxCaptureRegisterErrorFrame, defaulting to waiting forever !!! [MCU2_0] 807.692311 s: p_ae_exp_prg->target_brightness:44 [MCU2_0] 807.692395 s: 11111 p Summary of CPU load, ==================== CPU: mpu1_0: TOTAL LOAD = 0.48 % ( HWI = 0. 6 %, SWI = 0. 6 % ) CPU: mcu2_0: TOTAL LOAD = 22. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: mcu2_1: TOTAL LOAD = 4. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c6x_1: TOTAL LOAD = 0. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c6x_2: TOTAL LOAD = 0. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c7x_1: TOTAL LOAD = 0. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) HWA performance statistics, =========================== HWA: VISS: LOAD = 0.57 % ( 3 MP/s ) HWA: LDC : LOAD = 0.61 % ( 3 MP/s ) DDR performance statistics, =========================== DDR: READ BW: AVG = 477 MB/s, PEAK = 5011 MB/s DDR: WRITE BW: AVG = 35 MB/s, PEAK = 3237 MB/s DDR: TOTAL BW: AVG = 512 MB/s, PEAK = 8248 MB/s Detailed CPU performance/memory statistics, =========================================== CPU: mcu2_0: TASK: IPC_RX: 0. 0 % CPU: mcu2_0: TASK: REMOTE_SRV: 0. 7 % CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 % CPU: mcu2_0: TASK: TIVX_CPU_0: 0.33 % CPU: mcu2_0: TASK: TIVX_NF: 0. 0 % CPU: mcu2_0: TASK: TIVX_LDC1: 0. 1 % CPU: mcu2_0: TASK: TIVX_MSC1: 0. 0 % CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 % CPU: mcu2_0: TASK: TIVX_VISS1: 0. 5 % CPU: mcu2_0: TASK: TIVX_CAPT1: 0. 1 % CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP1: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 % CPU: mcu2_0: TASK: TIVX_CSITX: 0. 2 % CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT5: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT6: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT7: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT8: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 2 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16293120 B ( 97 % unused) CPU: mcu2_0: HEAP: L3_MEM: size = 262144 B, free = 261888 B ( 99 % unused) CPU: mcu2_1: TASK: IPC_RX: 0. 0 % CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 % CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 % CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 % CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 % CPU: mcu2_1: TASK: TIVX_CPU_1: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: mcu2_1: HEAP: L3_MEM: size = 262144 B, free = 262144 B (100 % unused) CPU: c6x_1: TASK: IPC_RX: 0. 0 % CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 % CPU: c6x_1: TASK: LOAD_TEST: 0. 0 % CPU: c6x_1: TASK: TIVX_CPU: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused) CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused) CPU: c6x_2: TASK: IPC_RX: 0. 0 % CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 % CPU: c6x_2: TASK: LOAD_TEST: 0. 0 % CPU: c6x_2: TASK: TIVX_CPU: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused) CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused) CPU: c7x_1: TASK: IPC_RX: 0. 0 % CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 % CPU: c7x_1: TASK: LOAD_TEST: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 268435456 B, free = 268435200 B ( 3 % unused) CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused) CPU: c7x_1: HEAP: L2_MEM: size = 458752 B, free = 458752 B (100 % unused) CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused) CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 134217728 B, free = 134217728 B ( 4 % unused) GRAPH: graph_84 (#nodes = 6, #executions = 103) NODE: CAPTURE1: node_97: avg = 13661 usecs, min/max = 140 / 49872 usecs, #executions = 103 NODE: VPAC_VISS1: VISS_Processing: avg = 13983 usecs, min/max = 13721 / 14092 usecs, #executions = 103 NODE: IPU1-0: 2A_AlgNode: avg = 27446 usecs, min/max = 24190 / 32801 usecs, #executions = 103 NODE: CSITX: node_99: avg = 38977 usecs, min/max = 38176 / 42754 usecs, #executions = 103 NODE: DSS_M2M3: node_127: avg = 14374 usecs, min/max = 14261 / 14647 usecs, #executions = 103 NODE: VPAC_LDC1: LDC_Processing: avg = 14594 usecs, min/max = 14290 / 15314 usecs, #executions = 103 PERF: TOTAL: avg = 39237 usecs, min/max = 32956 / 64635 usecs, #executions = 107 PERF: TOTAL: 25.48 FPS ========================== Demo : Single Camera w/ 2A ========================== p: Print performance statistics s: Save Sensor RAW, VISS Output and H3A output images to File System e: Export performance statistics u: Update DCC from File System x: Exit Enter Choice: Unsupported command ========================== Demo : Single Camera w/ 2A ========================== p: Print performance statistics s: Save Sensor RAW, VISS Output and H3A output images to File System e: Export performance statistics u: Update DCC from File System x: Exit Enter Choice: [MCU2_0] 811.860838 s: ========================================================== [MCU2_0] 811.860958 s: Capture Status: Instance|0 [MCU2_0] 811.860998 s: ========================================================== [MCU2_0] 811.861049 s: overflowCount: 0 [MCU2_0] 811.861086 s: spuriousUdmaIntrCount: 0 [MCU2_0] 811.861122 s: frontFIFOOvflCount: 0 [MCU2_0] 811.861157 s: crcCount: 0 [MCU2_0] 811.861190 s: eccCount: 0 [MCU2_0] 811.861225 s: correctedEccCount: 0 [MCU2_0] 811.861260 s: dataIdErrorCount: 0 [MCU2_0] 811.861296 s: invalidAccessCount: 0 [MCU2_0] 811.861332 s: invalidSpCount: 0 [MCU2_0] 811.861373 s: strmFIFOOvflCount[0]: 0 [MCU2_0] 811.861403 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count | [MCU2_0] 811.861480 s: 0 | 112 | 110 | 17 | 0 | [MCU2_0] 812.851971 s: CpswCpts_ioctl: Eth RX event not found (msgType=2, seqId=12083, dom=0, portNum=1) [MCU2_0] 812.852065 s: EnetPer_ioctl: cpsw9g: Failed to do IOCTL cmd 0x01000306: -14 [MCU2_0] 844.428886 s: CpswCpts_ioctl: Eth RX event not found (msgType=2, seqId=12083, dom=0, portNum=1) p Summary of CPU load, ==================== CPU: mpu1_0: TOTAL LOAD = 0.24 % ( HWI = 0. 4 %, SWI = 0. 0 % ) CPU: mcu2_0: TOTAL LOAD = 54. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: mcu2_1: TOTAL LOAD = 1. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c6x_1: TOTAL LOAD = 0. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c6x_2: TOTAL LOAD = 1. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) CPU: c7x_1: TOTAL LOAD = 1. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % ) HWA performance statistics, =========================== HWA: VISS: LOAD = 33.54 % ( 206 MP/s ) HWA: LDC : LOAD = 35.88 % ( 206 MP/s ) DDR performance statistics, =========================== DDR: READ BW: AVG = 2619 MB/s, PEAK = 7429 MB/s DDR: WRITE BW: AVG = 1851 MB/s, PEAK = 6000 MB/s DDR: TOTAL BW: AVG = 4470 MB/s, PEAK = 13429 MB/s Detailed CPU performance/memory statistics, =========================================== CPU: mcu2_0: TASK: IPC_RX: 0.25 % CPU: mcu2_0: TASK: REMOTE_SRV: 0. 0 % CPU: mcu2_0: TASK: LOAD_TEST: 0. 0 % CPU: mcu2_0: TASK: TIVX_CPU_0: 19.87 % CPU: mcu2_0: TASK: TIVX_NF: 0. 0 % CPU: mcu2_0: TASK: TIVX_LDC1: 1. 1 % CPU: mcu2_0: TASK: TIVX_MSC1: 0. 0 % CPU: mcu2_0: TASK: TIVX_MSC2: 0. 0 % CPU: mcu2_0: TASK: TIVX_VISS1: 3. 1 % CPU: mcu2_0: TASK: TIVX_CAPT1: 0.95 % CPU: mcu2_0: TASK: TIVX_CAPT2: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP1: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP2: 0. 0 % CPU: mcu2_0: TASK: TIVX_CSITX: 1.19 % CPU: mcu2_0: TASK: TIVX_CAPT3: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT4: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT5: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT6: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT7: 0. 0 % CPU: mcu2_0: TASK: TIVX_CAPT8: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: TASK: TIVX_DISP_M: 1.44 % CPU: mcu2_0: TASK: TIVX_DISP_M: 0. 0 % CPU: mcu2_0: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16293120 B ( 97 % unused) CPU: mcu2_0: HEAP: L3_MEM: size = 262144 B, free = 261888 B ( 99 % unused) CPU: mcu2_1: TASK: IPC_RX: 0. 0 % CPU: mcu2_1: TASK: REMOTE_SRV: 0. 0 % CPU: mcu2_1: TASK: LOAD_TEST: 0. 0 % CPU: mcu2_1: TASK: TIVX_SDE: 0. 0 % CPU: mcu2_1: TASK: TIVX_DOF: 0. 0 % CPU: mcu2_1: TASK: TIVX_CPU_1: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_RX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: TASK: IPC_TEST_TX: 0. 0 % CPU: mcu2_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: mcu2_1: HEAP: L3_MEM: size = 262144 B, free = 262144 B (100 % unused) CPU: c6x_1: TASK: IPC_RX: 0. 0 % CPU: c6x_1: TASK: REMOTE_SRV: 0. 0 % CPU: c6x_1: TASK: LOAD_TEST: 0. 0 % CPU: c6x_1: TASK: TIVX_CPU: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_RX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_1: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: c6x_1: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused) CPU: c6x_1: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused) CPU: c6x_2: TASK: IPC_RX: 0. 0 % CPU: c6x_2: TASK: REMOTE_SRV: 0. 0 % CPU: c6x_2: TASK: LOAD_TEST: 0. 0 % CPU: c6x_2: TASK: TIVX_CPU: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_RX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: TASK: IPC_TEST_TX: 0. 0 % CPU: c6x_2: HEAP: DDR_SHARED_MEM: size = 16777216 B, free = 16773376 B ( 99 % unused) CPU: c6x_2: HEAP: L2_MEM: size = 229376 B, free = 229376 B (100 % unused) CPU: c6x_2: HEAP: DDR_SCRATCH_MEM: size = 50331648 B, free = 50331648 B ( 14 % unused) CPU: c7x_1: TASK: IPC_RX: 0. 0 % CPU: c7x_1: TASK: REMOTE_SRV: 0. 0 % CPU: c7x_1: TASK: LOAD_TEST: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: TIVX_CPU_PR: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_RX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: TASK: IPC_TEST_TX: 0. 0 % CPU: c7x_1: HEAP: DDR_SHARED_MEM: size = 268435456 B, free = 268435200 B ( 3 % unused) CPU: c7x_1: HEAP: L3_MEM: size = 8159232 B, free = 8159232 B (100 % unused) CPU: c7x_1: HEAP: L2_MEM: size = 458752 B, free = 458752 B (100 % unused) CPU: c7x_1: HEAP: L1_MEM: size = 16384 B, free = 16384 B (100 % unused) CPU: c7x_1: HEAP: DDR_SCRATCH_MEM: size = 134217728 B, free = 134217728 B ( 4 % unused) GRAPH: graph_84 (#nodes = 6, #executions = 1027) NODE: CAPTURE1: node_97: avg = 6573 usecs, min/max = 135 / 49872 usecs, #executions = 1027 NODE: VPAC_VISS1: VISS_Processing: avg = 13988 usecs, min/max = 13721 / 14621 usecs, #executions = 1027 NODE: IPU1-0: 2A_AlgNode: avg = 27979 usecs, min/max = 24190 / 34718 usecs, #executions = 1027 NODE: CSITX: node_99: avg = 38705 usecs, min/max = 38044 / 42754 usecs, #executions = 1027 NODE: DSS_M2M3: node_127: avg = 14373 usecs, min/max = 14246 / 14903 usecs, #executions = 1027 NODE: VPAC_LDC1: LDC_Processing: avg = 14608 usecs, min/max = 14263 / 15314 usecs, #executions = 1027 PERF: TOTAL: avg = 40332 usecs, min/max = 38584 / 43513 usecs, #executions = 924 PERF: TOTAL: 24.79 FPS ========================== Demo : Single Camera w/ 2A ========================== p: Print performance statistics s: Save Sensor RAW, VISS Output and H3A output images to File System e: Export performance statistics u: Update DCC from File System x: Exit Enter Choice: Unsupported command ========================== Demo : Single Camera w/ 2A ========================== p: Print performance statistics s: Save Sensor RAW, VISS Output and H3A output images to File System e: Export performance statistics u: Update DCC from File System x: Exit Enter Choice: [MCU2_0] 849.128796 s: ========================================================== [MCU2_0] 849.128913 s: Capture Status: Instance|0 [MCU2_0] 849.128953 s: ========================================================== [MCU2_0] 849.129003 s: overflowCount: 0 [MCU2_0] 849.129037 s: spuriousUdmaIntrCount: 0 [MCU2_0] 849.129074 s: frontFIFOOvflCount: 0 [MCU2_0] 849.129110 s: crcCount: 0 [MCU2_0] 849.129142 s: eccCount: 0 [MCU2_0] 849.129175 s: correctedEccCount: 0 [MCU2_0] 849.129210 s: dataIdErrorCount: 0 [MCU2_0] 849.129244 s: invalidAccessCount: 0 [MCU2_0] 849.129280 s: invalidSpCount: 0 [MCU2_0] 849.129320 s: strmFIFOOvflCount[0]: 0 [MCU2_0] 849.129352 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count | [MCU2_0] 849.129431 s: 0 | 1036 | 1034 | 211 | 0 | x 850.650085 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... !!! [MCU2_0] 850.650336 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF [MCU2_0] 850.650425 s: IM_SENSOR_CMD_STREAM_OFF: channel_mask = 0x1 [MCU2_0] 850.650489 s: Stop streaming 850.803876 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... Done !!! 850.854857 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... !!! [MCU2_0] 850.855199 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_STREAM_OFF [MCU2_0] 850.855284 s: IM_SENSOR_CMD_STREAM_OFF: channel_mask = 0x1 [MCU2_0] 850.855341 s: Stop streaming 851.008934 s: ISS: Stopping sensor [OX08B40_RAW_MAX96717] ... Done !!! app_run_graph done releasing capture node releasing csitx node releasing node_viss releasing node_aewb releasing m2m_node releasing raw image done releasing cap_frame # 0 releasing cap_frame # 1 releasing cap_frame # 2 releasing cap_frame # 3 releasing cap_frame # 4 releasing csitx_frames releasing h3a_stats_arr releasing out_dss_rgb_arr releasing y12 releasing uv12_c1 releasing s8_b8_c4 releasing y8_r8_c2 releasing histogram releasing configuration releasing m2m_config releasing ae_awb_result done releasing h3a_aew_af releasing aewb_config releasing VISS DCC Data Object releasing 2A DCC Data Object releasing LDC Mesh Image releasing LDC Output Image releasing LDC Mesh Parameters Object releasing LDC Parameters Object releasing LDC Region Parameters Object releasing LDC Node releasing graph [MCU2_0] 851.151102 s: ========================================================== [MCU2_0] 851.151209 s: Capture Status: Instance|0 [MCU2_0] 851.151247 s: ========================================================== [MCU2_0] 851.151296 s: overflowCount: 0 [MCU2_0] 851.151331 s: spuriousUdmaIntrCount: 0 [MCU2_0] 851.151368 s: frontFIFOOvflCount: 0 [MCU2_0] 851.151402 s: crcCount: 0 [MCU2_0] 851.151433 s: eccCount: 0 [MCU2_0] 851.151466 s: correctedEccCount: 0 [MCU2_0] 851.151502 s: dataIdErrorCount: 0 [MCU2_0] 851.151537 s: invalidAccessCount: 0 [MCU2_0] 851.151573 s: invalidSpCount: 0 [MCU2_0] 851.151680 s: strmFIFOOvflCount[0]: 0 [MCU2_0] 851.151718 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count | [MCU2_0] 851.151826 s: 0 | 1068 | 1068 | 224 | 0 | [MCU2_0] 851.153372 s: ========================================================== [MCU2_0] 851.153479 s: Display M2M Status: Instance|0 [MCU2_0] 851.153517 s: ========================================================== [MCU2_0] 851.153567 s: Queue Count: 1066 [MCU2_0] 851.153603 s: De-queue Count: 1066 [MCU2_0] 851.153640 s: Write-back Frames Count: 1066 [MCU2_0] 851.153677 s: Underflow Count: 0 [MCU2_0] 851.154172 s: ========================================================== [MCU2_0] 851.154266 s: Csitx Status: Instance|0 [MCU2_0] 851.154301 s: ========================================================== [MCU2_0] 851.154350 s: FIFO Overflow Count: 0 [MCU2_0] 851.154382 s: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Repeat Count | [MCU2_0] 851.154446 s: 0| 1066| 1066| 0| releasing graph done app_delete_graph done tivxHwaUnLoadKernels done tivxImagingUnLoadKernels done 851.159843 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf172d8 of type 00000813 at external count 1, internal count 0, releasing it 851.159855 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_109) now as a part of garbage collection 851.159898 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf17478 of type 00000813 at external count 1, internal count 0, releasing it 851.159912 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_111) now as a part of garbage collection 851.159942 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf17618 of type 00000813 at external count 1, internal count 0, releasing it 851.159953 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_115) now as a part of garbage collection 851.159983 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xf177b8 of type 00000813 at external count 1, internal count 0, releasing it 851.159994 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=object_array_119) now as a part of garbage collection 851.160036 s: VX_ZONE_WARNING:[vxReleaseContext:1050] Found a reference 0xeb0318 of type 0000080f at external count 1, internal count 0, releasing it 851.160047 s: VX_ZONE_WARNING:[vxReleaseContext:1052] Releasing reference (name=image_126) now as a part of garbage collection vxReleaseContext done app_deinit done 851.160118 s: ISS: De-initializing sensor [OX08B40_RAW_MAX96717] ... !!! 851.160467 s: ISS: De-initializing sensor [OX08B40_RAW_MAX96717] ... Done !!! 851.160482 s: VX_ZONE_INIT:[tivxHostDeInitLocal:100] De-Initialization Done for HOST !!! 851.164853 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: 34 alloc's of 206247268 bytes MEM: Free's : 34 free's of 206247268 bytes MEM: Open's : 0 allocs of 0 bytes MEM: Deinit ... Done !!! APP: Deinit ... Done !!!
app_single_cam_capture_csitx.vcd.htmlapp_single_cam_capture_csitx.html
这是去掉ldc节点和m2m节点时,csitx稍微超过33.3ms,还是有点丢帧,更改CSITX_LANE_SPEED_MBPS为更大的值也不能提高csitx发送用时,但是减小CSITX_LANE_SPEED_MBPS的值得话,会增大csitx发送用时。
是的,fps 下降似乎是因为 CSITX 节点。
NODE: CSITX: node_99: avg = 38977 usecs, min/max = 38176 / 42754 usecs, #executions = 103
NODE: CSITX: node_99: avg = 38705 usecs, min/max = 38044 / 42754 usecs, #executions = 1027
计算所需的通道速度,我会在 4.5Gbps 左右,所以每个通道设置 1Gbps 是不够的,你可以尝试设置 1.5Gbps 的通道速度吗?
系统中运行的所有其他masters 是什么?如果 DDR BW 已经达到峰值,那么它将无法以更快的速度传输。您能否尝试仅运行 1.5Gbps 的 CSITX 并查看它是否有效?
app_only_csitx.7z.html系统中没有运行其它任何程序,只有这一个流水线在运行,这个流水线节点信息2楼我有提交。附件html是我测试只有csitx的情况下,band lane speed的值对csitx发送的影响,看起来速度上限被设置在了1000M一样,再提高并不能提高csitx的发送速度。其中500Mbps时每帧55ms左右,1000Mbps,1.5Gbps,2.4Gbps时,每帧大约29ms。基本相同
看来您使用 CSIRX + VISS + LDC + DSS M2M + CSITX 以获得高分辨率。此外,节点是复制的,这意味着正在运行多个通道,看起来像 4 个通道。您可以做一些 DDR BW 的计算吗?我怀疑您可能已达到支持的最大 BW 的边缘。