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.

[参考译文] TDA4VM:摄像头 (v4l2) 会显示 Linux 到 CSITX 的输出

Guru**** 2419530 points
Other Parts Discussed in Thread: SK-TDA4VM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1519961/tda4vm-the-camera-v4l2-displays-the-output-on-linux-to-csitx

器件型号:TDA4VM


工具/软件:

您好、

该计划需要得到执行。

相机 (v4l2-1920x1080 /dev/video2 @ UYVY) --> tiovx -> csiTX --> max96717f;

请提供相关文档和代码示例。

此致、

Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    我认为这应该是可能的。 OpenVX 使用 DMA_buf 框架进行缓冲区管理、因此 V4L2 也使用该框架来获取缓冲区。  缓冲器可以分配到 TIOVX 中、该缓冲器的 DMA buf ID 可以传递到 V4L2、一旦捕获帧、就可以将其提交到 CSITX 以进行发送。  

    但 SDK 中没有任何现有的示例。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    我认为这应该是可能的。 OpenVX 使用 DMA_buf 框架进行缓冲区管理、因此 V4L2 也使用该框架来获取缓冲区。  缓冲器可以分配到 TIOVX 中、该缓冲器的 DMA buf ID 可以传递到 V4L2、一旦捕获帧、就可以将其提交到 CSITX 以进行发送。  

    但 SDK 中没有任何现有的示例。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    csitx 节点: tivxCsitxNode;

    但我不知道如何使用;

    请根据 edgeai-tiovx-apps 框架提供相应的示例。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    edgeai-tiovx-apps/tests/app_tiovx_v4l2_capture_module_test.c

    请将 csitx 添加到此处的示例中。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    您能否请参阅下面的常见问题解答并将 CSITX 添加到此示例中?  

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1306674/faq-tda4vm-enable-csi-tx-output-instead-of-dss-output-in-the-capture-demos-of-vision_apps

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    这种方式是不同的。 请根据我的要求将其提交给开发人员。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    我们没有这样的例子。 因此、建议参考现有的示例并对示例进行更改。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    1.我计划将蓝屏数据输出到 CSITX 进行测试,相应的代码如下:

    2.但 执行  此' vxVerifyGraph '函数时出错  

    3.请帮助确认代码编写是否有任何问题。

    #include <stdio.h>
    #include <stdlib.h>
    #include <signal.h>
    #include <tiovx_modules.h>
    #include <tiovx_utils.h>
    #include <v4l2_capture_module.h>
    #include <TI/video_io_csitx.h>
    
    
    #define NUM_CHANNELS        (4U)
    #define CSITX_INST_ID       (0U)
    #define CSITX_LANE_BAND_SPEED       (TIVX_CSITX_LANE_BAND_SPEED_770_TO_870_MBPS)
    #define CSITX_LANE_SPEED_MBPS       (800U)
    
    static void signal_handler(int signum, vx_bool* running_flag)
    {
        if (signum == SIGINT || signum == SIGTERM) {
            printf("\nReceived termination signal, stopping...\n");
            *running_flag = vx_false_e;
        }
    }
    
    void setup_signal_handler(void)
    {
        signal(SIGINT, (void(*)(int))signal_handler);
        signal(SIGTERM, (void(*)(int))signal_handler);
    }
    
    static void add_graph_parameter_by_node_index(vx_graph graph, vx_node node, vx_uint32 node_parameter_index)
    {
        vx_parameter parameter = vxGetParameterByIndex(node, node_parameter_index);
    
        vxAddParameterToGraph(graph, parameter);
        vxReleaseParameter(&parameter);
    }
    
    vx_image create_uyvy_blue_screen_exemplar(vx_context context)
    {
        vx_image exemplar = NULL;
        vx_status status = VX_SUCCESS;
        
        exemplar = vxCreateImage(context, 1920, 1080, VX_DF_IMAGE_UYVY);
        if (!exemplar) {
            printf("Failed to create image exemplar\n");
            return NULL;
        }
        
        vx_map_id map_id;
        void* ptr;
        vx_imagepatch_addressing_t addr;
        vx_rectangle_t rect;
        
        rect.start_x = 0;
        rect.start_y = 0;
        rect.end_x = 1920;
        rect.end_y = 1080;
        
        status = vxMapImagePatch(exemplar, &rect, 0, &map_id, &addr, &ptr, VX_WRITE_ONLY, VX_MEMORY_TYPE_HOST, 0);
        if (status != VX_SUCCESS) {
            printf("Failed to map image patch: %d\n", status);
            vxReleaseImage(&exemplar);
            return NULL;
        }
        
        uint8_t* pixel_data = (uint8_t*)ptr;
        uint32_t width = 1920;
        uint32_t height = 1080;
        
        for (uint32_t y = 0; y < height; y++) {
            for (uint32_t x = 0; x < width; x += 2) {
                uint32_t offset = y * addr.stride_y + x * 2;
                
                pixel_data[offset + 0] = 128;  /* U */
                pixel_data[offset + 1] = 16;   /* Y */
                pixel_data[offset + 2] = 128;  /* V */
                pixel_data[offset + 3] = 16;   /* Y */
            }
        }
        
        status = vxUnmapImagePatch(exemplar, map_id);
        if (status != VX_SUCCESS) {
            printf("Failed to unmap image patch: %d\n", status);
            vxReleaseImage(&exemplar);
            return NULL;
        }
        
        return exemplar;
    }
    
    vx_status app_modules_v4l2_capture_test(vx_int32 argc, vx_char* argv[])
    {
        vx_status status = VX_FAILURE;
        GraphObj graph;
        vx_node csitx_node = 0;
        vx_object_array tx_frame = 0;
    	vx_image csitx_image_exemplar;
        vx_user_data_object csitx_config;
        tivx_csitx_params_t local_csitx_config;
        uint32_t loop_id;
        vx_graph_parameter_queue_params_t csitx_graph_parameters_queue_params_list[1];
        vx_bool keep_running = vx_true_e;
    
        status = tiovx_modules_initialize_graph(&graph);
        if (status != VX_SUCCESS) {
            printf("Failed to initialize graph: %d\n", status);
            goto exit;
        }
    
        vx_graph csitx_graph = graph.tiovx_graph;
    
        csitx_image_exemplar = create_uyvy_blue_screen_exemplar(graph.tiovx_context);
        if (!csitx_image_exemplar) {
            status = VX_ERROR_INVALID_PARAMETERS;
            printf("Failed to create image exemplar\n");
            goto exit;
        }
    	
        tx_frame = vxCreateObjectArray(graph.tiovx_context, (vx_reference)csitx_image_exemplar, 1);
        if (tx_frame == NULL) {
            status = VX_ERROR_INVALID_PARAMETERS;
            printf("Failed to create object array: %d\n", status);
            goto exit;
        }
    
        /* CSITX Config initialization */
        tivx_csitx_params_init(&local_csitx_config);
        local_csitx_config.numInst                          = 1U;
        local_csitx_config.numCh                            = 1;
        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 (loop_id = 0U ; loop_id < local_csitx_config.instCfg[0U].numDataLanes ; loop_id++)
        {
            local_csitx_config.instCfg[0U].lanePolarityCtrl[loop_id] = 0u;
        }
        for (loop_id = 0U; loop_id < NUM_CHANNELS; loop_id++)
        {
            local_csitx_config.chVcNum[loop_id]   = loop_id;
            local_csitx_config.chInstMap[loop_id] = CSITX_INST_ID;
        }
    
        csitx_config = vxCreateUserDataObject(graph.tiovx_context, "tivx_csitx_params_t", sizeof(tivx_csitx_params_t), &local_csitx_config);
        if (csitx_config == NULL) {
            status = VX_ERROR_INVALID_PARAMETERS;
            printf("Failed to create user data object: %d\n", status);
            goto exit;
        }
    
        csitx_node = tivxCsitxNode(csitx_graph, csitx_config, tx_frame);
        if (csitx_node == NULL) {
            status = VX_ERROR_INVALID_PARAMETERS;
            printf("Failed to create CSITX node: %d\n", status);
            goto exit;
        }
    
        status = vxSetNodeTarget(csitx_node, VX_TARGET_STRING, TIVX_TARGET_CSITX);
        if (status != VX_SUCCESS) {
            printf("Failed to set node target: %d\n", status);
            goto exit;
        }
    
        /* input @ node index 0, becomes csitx_graph parameter 1 */
        add_graph_parameter_by_node_index(csitx_graph, csitx_node, 1);
    
        /* set csitx_graph schedule config such that csitx_graph parameter @ index 0 and 1 are enqueuable */
        csitx_graph_parameters_queue_params_list[0].graph_parameter_index = 0;
        csitx_graph_parameters_queue_params_list[0].refs_list_size = 1;
        csitx_graph_parameters_queue_params_list[0].refs_list = (vx_reference*)&tx_frame;
    
        /* Schedule mode auto is used, here we dont need to call vxScheduleGraph
        * Graph gets scheduled automatically as refs are enqueued to it
        */
        status = vxSetGraphScheduleConfig(csitx_graph,
                VX_GRAPH_SCHEDULE_MODE_QUEUE_AUTO,
                1,
                csitx_graph_parameters_queue_params_list
                );
        if (status != VX_SUCCESS) {
            printf("Failed to set graph schedule config: %d\n", status);
            goto exit;
        }
    
    	printf("start_______________vxVerifyGraph_______________________\n");
        status = vxVerifyGraph(csitx_graph);
        if (status != VX_SUCCESS) {
            printf("Failed to verify graph: %d\n", status);
            goto exit;
        }
    	printf("end_______________vxVerifyGraph_______________________\n");
    
        /* Now enqueue a buffer to trigger csitx_graph scheduling */
        status = vxGraphParameterEnqueueReadyRef(csitx_graph, 0, (vx_reference*)&tx_frame, 1);
        if (status != VX_SUCCESS) {
            printf("Failed to enqueue ready reference: %d\n", status);
            goto exit;
        }
    
        printf("CSITX node started, press Ctrl+C to stop...\n");
        
        setup_signal_handler();
    
        loop_id = 0;
        while (keep_running)
        {
            uint32_t num_refs;
            vx_object_array transmitted_frames = NULL;
    
            /* Get transmitted frame reference, waits until a reference is available */
            vxGraphParameterDequeueDoneRef(csitx_graph, 0, (vx_reference*)&transmitted_frames, 1, &num_refs);
    	/*
            if (loop_id % 100 == 0) {
                printf("Processed %u frames...\n", loop_id);
            }
            loop_id++;
    	*/
            vxGraphParameterEnqueueReadyRef(csitx_graph, 0, (vx_reference*)&transmitted_frames, 1);
        }
        
        printf("Stopping CSITX node...\n");
        
        vxWaitGraph(csitx_graph);
    exit:
        if (csitx_node != 0) {
            vxReleaseNode(&csitx_node);
        }
        
        if (tx_frame != 0) {
            vxReleaseObjectArray(&tx_frame);
        }
        
        if (csitx_config != 0) {
            vxReleaseUserDataObject(&csitx_config);
        }
        
        tiovx_modules_clean_graph(&graph);
    
        return status;
    }
    
    
    

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    我很抱歉,但我在上面的屏幕截图中看不到错误,所以不确定是什么错误。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    错误日志:

    [MCU2_0]   57.265720 s: vx_zone_error:[ownTargetCmdDescHandler:1145]对象描述符类型无效

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    更新   libtivision_apps.so & vx_app_rtos_linux_mcu2_0.out

    错误日志:

    root@j721e-evm:/opt/edgeai-tiovx-apps/build/tests# ../../bin/Release/edgeai-tiovx-apps-test
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
        97.679472 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
        97.685556 s:  VX_ZONE_INIT:Enabled
        97.685603 s:  VX_ZONE_ERROR:Enabled
        97.685610 s:  VX_ZONE_WARNING:Enabled
        97.689006 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
        97.693460 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    Running v4l2 capture module test
    start_______________vxVerifyGraph_______________________
        97.730597 s:  VX_ZONE_ERROR:[ownContextSendCmd:822] Command ack message returned failure cmd_status: -7
        97.730609 s:  VX_ZONE_ERROR:[ownContextSendCmd:862] tivxEventWait() failed.
        97.730616 s:  VX_ZONE_ERROR:[ownNodeKernelInit:527] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_91
        97.730622 s:  VX_ZONE_ERROR:[ownNodeKernelInit:528] Please be sure the target callbacks have been registered for this core
        97.730628 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
        97.730636 s:  VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 0, kernel com.ti.csitx ... failed !!!
        97.730646 s:  VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed
        97.730652 s:  VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed
    Failed to verify graph: -1
        97.731669 s:  VX_ZONE_WARNING:[vxReleaseContext:1088] Found a reference 0xffffa3e744d0 of type 0000080f at external count 1, internal count 0, releasing it
        97.731680 s:  VX_ZONE_WARNING:[vxReleaseContext:1090] Releasing reference (name=image_87) now as a part of garbage collection
    All tests complete!
        97.732394 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:110] De-Initialization Done for HOST !!!
        97.736759 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 ... !!!
    DDR_SHARED_MEM: Alloc's: 3 alloc's of 8294496 bytes
    DDR_SHARED_MEM: Free's : 3 free's  of 8294496 bytes
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    root@j721e-evm:/opt/edgeai-tiovx-apps/build/tests#
    

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    您使用的是什么 EVM? SK-TDA4VM(蓝色)或 J721E EVM(绿色)?

    此致、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    板:J721E EVM

    rootfs: tisdk-edgeai-image-j721e-evm.tar.xz

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Cesar、

    如果使用此电路板:

    https://www.ti.com/tool/J721EXSOMXEVM

    您应该无法使用 Linux 驱动程序访问摄像头。  

    您应使用 RTOS SDK https://www.ti.com/tool/PROCESSOR-SDK-J721E#downloads 并参考以下摄像头应用指南:

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/11_00_00_06/exports/docs/vision_apps/docs/user_guide/group_apps_basic_demos_app_single_cam.html 

    此致、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     尊敬的 Adam:

    使用自己的产品、而不使用 EVM 板。

    当前的问题是、我们希望直接测试 csitx 节点而不包括任何其他节点。

    请根据我的示例代码问题提供答案。

     

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    我不确定边缘 AI 应用、但 CSITX 独立示例 基于 OpenVX、位于 video_IO\kernels\video_IO\test\test_csitx_csirx.c 中。 您是否可以尝试先使用它来检查 CSITX 输出?  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    边缘 AI 应用与此无关。 我没有此应用的相关知识点。

    我的示例是从本文档复制的“test_csitx_csirx.c"文件“文件、特别是与 csitx 相关的器件。

    你能测试我的例子吗?

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    切换到另一个目标节点 ( tivxDisplayM2MNode ) 仍会导致相同的错误。

    以下是伪代码。

    obj->graph = vxCreateGraph(obj->context);
    
    capt_yuv_image = vxCreateImage(1920, 1080, VX_DF_IMAGE_UYVY);
    
    /* DSS M2M initialization */
    tivx_display_m2m_params_init(&obj->display_m2m_params);
    obj->display_m2m_params.instId 	= 0;
    obj->display_m2m_params.numPipe	= 1;
    obj->display_m2m_params.pipeId[0U] = 3;
    obj->display_m2m_params.overlayId	= 3;
    
    
    printf ("Enabling DSS_M2M \n");
    obj->display_m2m_output_image = vxCreateImage(obj->context, 1920, 1080, VX_DF_IMAGE_UYVY);
    obj->display_m2m_param_obj = vxCreateUserDataObject(obj->context, "tivx_display_m2m_params_t", sizeof(tivx_display_m2m_params_t), &obj->display_m2m_params);
    obj->displaym2mNode = tivxDisplayM2MNode(obj->graph, obj->display_m2m_param_obj, obj->capt_yuv_image, obj->display_m2m_output_image);
    if(status == VX_SUCCESS)
    {
     status = vxSetNodeTarget(obj->displaym2mNode, VX_TARGET_STRING, TIVX_TARGET_DISPLAY_M2M1);
    }
    
    if(status == VX_SUCCESS)
    {
     status = tivxSetNodeParameterNumBufByIndex(obj->displaym2mNode, 2u, obj->num_cap_buf);
    }
    obj->csitx_image_arr = vxCreateObjectArray(obj->context, (vx_reference)obj->display_m2m_output_image, num_capture_frames);
    printf ("tivxCsitxNode!!!! \n");
    
    
    APP_PRINTF("________1_______vxVerifyGraph______________\n");
    
    if(status == VX_SUCCESS)
    {
    	status = vxVerifyGraph(obj->graph);
    }
    APP_PRINTF("________2_______vxVerifyGraph______________\n");

    错误日志:

    tivxImagingLoadKernels done
    app_init done
    Creating graph
    _______________vxCreateImage______________
    Enabling DSS_M2M
    tivxCsitxNode!!!!
    ________1_______vxVerifyGraph______________
     NETWORK: Opened at IP Addr = 192.168.0.71, socket port=5000!!!
      4841.775455 s:  VX_ZONE_ERROR:[ownContextSendCmd:822] Command ack message returned failure cmd_status: -7
      4841.775474 s:  VX_ZONE_ERROR:[ownContextSendCmd:862] tivxEventWait() failed.
      4841.775482 s:  VX_ZONE_ERROR:[ownNodeKernelInit:527] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_97
      4841.775488 s:  VX_ZONE_ERROR:[ownNodeKernelInit:528] Please be sure the target callbacks have been registered for this core
      4841.775494 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
      4841.775502 s:  VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 0, kernel com.ti.displaym2m ... failed !!!
      4841.775516 s:  VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed
      4841.775522 s:  VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed
    ________2_______vxVerifyGraph______________
    

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    但此处 create 本身对于显示 M2M 节点失败、您能否检查  您是否在代码中调用以下 API?    

    tivxVideoIOLoadKernels(上下文);

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Cesar、

    请查看使用 test_csitx_csirx.c 的符合性测试:

    root@j721e-evm:/opt/vision_apps# ./vx_app_conformance_video_io.out --filter=tivxVideoIOCsitxCsirx*
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
       114.154845 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
       114.154917 s:  VX_ZONE_INIT:Enabled
       114.154924 s:  VX_ZONE_ERROR:Enabled
       114.154930 s:  VX_ZONE_WARNING:Enabled
       114.155690 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
       114.156135 s:  VX_ZONE_INIT:[tivxHostInitLocal:101] Initialization Done for HOST !!!
    VxTests version: unknown
    VCS version: unknown
    Build config: Release
    
    [ ======== ] Total 28 tests from 5 test cases
    Use test filter: tivxVideoIOCsitxCsirx*
    
    Use global OpenVX context: FALSE
    
    
    [ -------- ] tests from tivxVideoIOCsitxCsirx
    [ RUN 0001 ] tivxVideoIOCsitxCsirx.CsitxCsirxloopback/0/CsitxCsirx/Width=1920/Height=1080/loopCount=1000/csitx_inst=0 ...
    Initializing Transmit Buffers...
    Initializing Transmit Buffers Done.
    [     DONE ] tivxVideoIOCsitxCsirx.CsitxCsirxloopback/0/CsitxCsirx/Width=1920/Height=1080/loopCount=1000/csitx_inst=0
    [ RUN 0002 ] tivxVideoIOCsitxCsirx.CsitxCsirxloopback/1/CsitxCsirx/Width=1920/Height=1080/loopCount=1000/csitx_inst=0 ...
    [MCU2_0]    167.084387 s: ==========================================================
    [MCU2_0]    167.084486 s:  Csitx Status: Instance|0
    [MCU2_0]    167.084520 s: ==========================================================
    [MCU2_0]    167.084562 s:  FIFO Overflow Count: 0
    [MCU2_0]    167.084712 s:   Channel Num | Frame Queue Count | Frame De-queue Count | Frame Repeat Count |
    [MCU2_0]    167.084789 s:               0|              1002|           1002|           0|
    [MCU2_0]    167.084826 s:               1|              1002|           1002|           0|
    [MCU2_0]    167.084856 s:               2|              1002|           1002|           0|
    [MCU2_0]    167.084885 s:               3|              1002|           1002|           0|
    Initializing Transmit Buffers...
    Initializing Transmit Buffers Done.
    [MCU2_0]    220.013097 s: ==========================================================
    [MCU2_0]    220.013196 s:  Csitx Status: Instance|0
    [MCU2_0]    220.013232 s: ==========================================================
    [MCU2_0]    220.013275 s:  FIFO Overflow Count: 0
    [MCU2_0]    220.013302 s:   Channel Num | Frame Queue Count | Frame De-queue Count | Frame Repeat Count |
    [MCU2_0]    220.013350 s:               0|              2004|           2004|           0|
    [MCU2_0]    220.013380 s:               1|              2004|           2004|           0|
    [MCU2_0]    220.013409 s:               2|              2004|           2004|           0|
    [MCU2_0]    220.013437 s:               3|              2004|           2004|           0|
    [     DONE ] tivxVideoIOCsitxCsirx.CsitxCsirxloopback/1/CsitxCsirx/Width=1920/Height=1080/loopCount=1000/csitx_inst=0
    [ -------- ] 2 tests from test case tivxVideoIOCsitxCsirx
    
    [ ======== ]
    [ ALL DONE ] 2 test(s) from 1 test case(s) ran
    [ PASSED   ] 2 test(s)
    [ FAILED   ] 0 test(s)
    [ DISABLED ] 0 test(s)
    
    =================================
    OpenVX Conformance report summary
    =================================
    
    To be conformant to the OpenVX baseline, 2 required test(s) must pass. 2 tests passed, 0 tests failed. PASSED.
    To be conformant to the User Data Object extension, 0 required test(s) must pass. 0 tests passed, 0 tests failed. PASSED.
    Note: The 0 disabled tests are optional and are not considered for conformance.
    
    #REPORT: YYYYMMDDHHMMSS FILTERED 28 0 2 2 2 0 (version unknown)
       220.018167 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:115] De-Initialization Done for HOST !!!
       220.022578 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 ... !!!
    DDR_SHARED_MEM: Alloc's: 16 alloc's of 33179328 bytes 
    DDR_SHARED_MEM: Free's : 16 free's  of 33179328 bytes 
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    

    您可以参考以下代码来启用 csitx。

    此致、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    我的测试结果如下:

    root@j721e-evm:/opt/vision_apps# ./vx_app_conformance_video_io.out --filter=tivxVideoIOCsitxCsirx*
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
     18562.682024 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
     18562.682103 s:  VX_ZONE_INIT:Enabled
     18562.682111 s:  VX_ZONE_ERROR:Enabled
     18562.682116 s:  VX_ZONE_WARNING:Enabled
     18562.682852 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
     18562.683942 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    VxTests version: unknown
    VCS version: unknown
    Build config: Release
    
    [ ======== ] Total 26 tests from 4 test cases
    Use test filter: tivxVideoIOCsitxCsirx*
    
    Use global OpenVX context: FALSE
    
    
    [ ======== ]
    [ ALL DONE ] 0 test(s) from 0 test case(s) ran
    [ PASSED   ] 0 test(s)
    [ FAILED   ] 0 test(s)
    [ DISABLED ] 0 test(s)
    
    =================================
    OpenVX Conformance report summary
    =================================
    
    To be conformant to the OpenVX baseline, 0 required test(s) must pass. 0 tests passed, 0 tests failed. PASSED.
    To be conformant to the User Data Object extension, 0 required test(s) must pass. 0 tests passed, 0 tests failed. PASSED.
    Note: The 0 disabled tests are optional and are not considered for conformance.
    
    #REPORT: YYYYMMDDHHMMSS FILTERED 26 0 0 0 0 0 (version unknown)
     18562.684178 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:110] De-Initialization Done for HOST !!!
     18562.688754 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 ... !!!
    DDR_SHARED_MEM: Alloc's: 0 alloc's of 0 bytes
    DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    我还测试了 displayM2M。

    root@j721e-evm:/opt/vision_apps# ./vx_app_conformance_video_io.out --filter=tivxVideoIODisplayM2M*
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
     19894.371286 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
     19894.371368 s:  VX_ZONE_INIT:Enabled
     19894.371376 s:  VX_ZONE_ERROR:Enabled
     19894.371381 s:  VX_ZONE_WARNING:Enabled
     19894.372124 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
     19894.373034 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    VxTests version: unknown
    VCS version: unknown
    Build config: Release
    
    [ ======== ] Total 26 tests from 4 test cases
    Use test filter: tivxVideoIODisplayM2M*
    
    Use global OpenVX context: FALSE
    
    
    [ -------- ] tests from tivxVideoIODisplayM2M
    [ RUN 0001 ] tivxVideoIODisplayM2M.tivxVideoIODisplayM2Mtest/0/DisplayM2M/Width=1920/Height=1080/loopCount=1000 ...
    Starting Display M2M  Conformance Test...
     19894.374319 s:  VX_ZONE_ERROR:[tivxVideoIOLoadKernels:116] __________________tivxVideoIOLoadKernels_____________________
    Creating Task 0...
    Creating Task 1...
    Waiting for graphs to finish execution...
    Graph 1: created...
    Graph 1: input and output images created...
    Graph 0: created...
    Graph 0: input and output images created...
    Added 'DSS_M2M1' node in graph 0
    Graph 0: verifying...
     19894.391758 s:  VX_ZONE_ERROR:[ownNodeKernelInit:495] _________2____status = 0_______
     19894.396385 s:  VX_ZONE_ERROR:[ownContextSendCmd:822] Command ack message returned failure cmd_status: -7
     19894.396424 s:  VX_ZONE_ERROR:[ownContextSendCmd:862] tivxEventWait() failed.
     19894.396434 s:  VX_ZONE_ERROR:[ownNodeKernelInit:521] _________3____status = -1_______
     19894.396440 s:  VX_ZONE_ERROR:[ownNodeKernelInit:530] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_81
     19894.396448 s:  VX_ZONE_ERROR:[ownNodeKernelInit:531] Please be sure the target callbacks have been registered for this core
     19894.396454 s:  VX_ZONE_ERROR:[ownNodeKernelInit:532] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
     19894.396463 s:  VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 0, kernel com.ti.displaym2m ... failed !!!
     19894.396477 s:  VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed
     19894.396484 s:  VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed
    
    FAILED at /home/cesar/sdb/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/video_io/kernels/video_io/test/test_display_m2m.c:289
      Expected: VX_SUCCESS == vxVerifyGraph(m2m_graph)
      Actual: VX_SUCCESS != VX_FAILURE
    
    Added 'DSS_M2M2' node in graph 1
    Graph 1: verifying...
     19894.398577 s:  VX_ZONE_ERROR:[ownNodeKernelInit:495] _________2____status = 0_______
     19894.399269 s:  VX_ZONE_ERROR:[ownContextSendCmd:822] Command ack message returned failure cmd_status: -7
     19894.399304 s:  VX_ZONE_ERROR:[ownContextSendCmd:862] tivxEventWait() failed.
     19894.399312 s:  VX_ZONE_ERROR:[ownNodeKernelInit:521] _________3____status = -1_______
     19894.399318 s:  VX_ZONE_ERROR:[ownNodeKernelInit:530] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_83
     19894.399324 s:  VX_ZONE_ERROR:[ownNodeKernelInit:531] Please be sure the target callbacks have been registered for this core
     19894.399330 s:  VX_ZONE_ERROR:[ownNodeKernelInit:532] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
     19894.399338 s:  VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 0, kernel com.ti.displaym2m ... failed !!!
     19894.399348 s:  VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed
     19894.399354 s:  VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed
    
    FAILED at /home/cesar/sdb/ti-processor-sdk-rtos-j721e-evm-09_00_00_02/video_io/kernels/video_io/test/test_display_m2m.c:289
      Expected: VX_SUCCESS == vxVerifyGraph(m2m_graph)
      Actual: VX_SUCCESS != VX_FAILURE
    
    

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    执行初始化时是否启用了 DISPLAY M2M 路径? 您能否分享 您的 vision_apps_init.sh 脚本日志?  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    但我在 MCU2_0 上看不到任何 DSS 初始化、是否确定在 MCU2_0 上启用了 DSS? 从 Linux 中禁用?  

    通常、如果 DSS 已启用、它应该打印输出为 eDP、并且 DSS M2M 在 MCU2_0 日志中已启用、我看不到此类打印。

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    DSS 在 Linux 上启用;

    但是、CSITX 不用于 Linux;为什么也不能在 MCU2_0 上使用

    root@j721e-evm:/opt/vision_apps# ./vx_app_conformance_video_io.out --filter=tivxVideoIOCsitxCsirx*
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
     18562.682024 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
     18562.682103 s:  VX_ZONE_INIT:Enabled
     18562.682111 s:  VX_ZONE_ERROR:Enabled
     18562.682116 s:  VX_ZONE_WARNING:Enabled
     18562.682852 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
     18562.683942 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    VxTests version: unknown
    VCS version: unknown
    Build config: Release
    
    [ ======== ] Total 26 tests from 4 test cases
    Use test filter: tivxVideoIOCsitxCsirx*
    
    Use global OpenVX context: FALSE
    
    
    [ ======== ]
    [ ALL DONE ] 0 test(s) from 0 test case(s) ran
    [ PASSED   ] 0 test(s)
    [ FAILED   ] 0 test(s)
    [ DISABLED ] 0 test(s)
    
    =================================
    OpenVX Conformance report summary
    =================================
    
    To be conformant to the OpenVX baseline, 0 required test(s) must pass. 0 tests passed, 0 tests failed. PASSED.
    To be conformant to the User Data Object extension, 0 required test(s) must pass. 0 tests passed, 0 tests failed. PASSED.
    Note: The 0 disabled tests are optional and are not considered for conformance.
    
    #REPORT: YYYYMMDDHHMMSS FILTERED 26 0 0 0 0 0 (version unknown)
     18562.684178 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:110] De-Initialization Done for HOST !!!
     18562.688754 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 ... !!!
    DDR_SHARED_MEM: Alloc's: 0 alloc's of 0 bytes
    DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    如果在 Linux 上启用 DSS、则无法在 RTOS 上启用 DSS M2M。 如果您需要 DSS M2M 节点、请从 Linux 禁用 DSS 并在 RTOS 上启用它。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    请注意以上 CSITX 相关问题,主要是为了解决这个问题

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    但您是否在 MCU2_0 上启用了 CSITX? 我在 vision apps init scritp 中看不到。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    vision_apps_init.sh

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     尊敬的 Adam:

    请提供具体的使能操作。 不知是否遗漏了。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    它在默认 SDK 中默认启用。 我不知道你是怎么禁用的。 您可以比较 TI 默认 SDK 和您的代码。 这部分代码应该位于 MCU 代码中、而不是应用代码中。

    此致、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    我还没有对 RTOS SDK 进行任何更改。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    您是否可以尝试在此处添加一些日志以查看是否执行了此代码:

    此致、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    现在至少在 MCU2_0 上启用了 DSS。   

    [MCU2_0] 15.189794 s:dss:init ...!!
    [MCU2_0] 15.189820 s:DSS:显示类型为 eDP!!!
    [MCU2_0] 15.189844 s:DSS:M2M Path 已启用!!
    [MCU2_0] 15.189865 s:dss:soc init ...!!

    您是否有构建 MCU2_0 固件的机制? 那么、您现在可以在 MCU2_0 固件中启用 CSITX 并试用吗?  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh、

     默认情况下已启用该配置、但没有相关的打印信息。

    请注意、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    MCU2_0 上是否发生崩溃? 我在下面的打印后看不到任何打印内容。 您使用 EVM 吗? 它们是否具有用于配置 DP 引脚的外部 IO 扩展器? 如果没有、您能否尝试删除此代码并查看它是否有帮助?  

    [MCU2_0]   15.194636 s:DSS:为 eDP 适配器打开 DP_PWR 引脚...!!

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    好的、现在包含了 CSITX 节点、现在让我们来看看为什么没有包含 CSITX 测试。  

    CSITX 测试取决于两个标志、  

    - BUILD_CT_TIOVX 视频 IO

    - build_CSITX

    您能否检查是否同时包含了这两个构建宏? 这两个 命令都位于 build_flags.mak 文件中。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh、

    制作 video_io;制作 SDK;制作 vision_apps;制作 linux_fs_install_sd

    root@j721e-evm:~# /opt/vision_apps/vx_app_conformance_video_io.out --filter=tivxVideoIOCsitxCsirx*
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
       258.827612 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
       258.827691 s:  VX_ZONE_INIT:Enabled
       258.827698 s:  VX_ZONE_ERROR:Enabled
       258.827704 s:  VX_ZONE_WARNING:Enabled
       258.828488 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
       258.828972 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    VxTests version: unknown
    VCS version: unknown
    Build config: Release
    
    [ ======== ] Total 26 tests from 4 test cases
    Use test filter: tivxVideoIOCsitxCsirx*
    
    Use global OpenVX context: FALSE
    
    
    [ ======== ]
    [ ALL DONE ] 0 test(s) from 0 test case(s) ran
    [ PASSED   ] 0 test(s)
    [ FAILED   ] 0 test(s)
    [ DISABLED ] 0 test(s)
    
    =================================
    OpenVX Conformance report summary
    =================================
    
    To be conformant to the OpenVX baseline, 0 required test(s) must pass. 0 tests passed, 0 tests failed. PASSED.
    To be conformant to the User Data Object extension, 0 required test(s) must pass. 0 tests passed, 0 tests failed. PASSED.
    Note: The 0 disabled tests are optional and are not considered for conformance.
    
    #REPORT: YYYYMMDDHHMMSS FILTERED 26 0 0 0 0 0 (version unknown)
       258.829194 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:110] De-Initialization Done for HOST !!!
       258.833833 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 ... !!!
    DDR_SHARED_MEM: Alloc's: 0 alloc's of 0 bytes
    DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    root@j721e-evm:~#
    

    重新编译现象是相同的。

    请注意、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    这很奇怪。 为了检查是否包含 BUILD_CSITX、您能否在此宏下引入一些错误并查看编译是否失败?

    如果已定义则为#(BUILD_CSITX)

    #error “build_CSITX 已定义“
    TESTASE (tivxVideoIOCsitxCsirx)
    #endif

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh、

    测试结果:定义了 BUILD_CSITX。

    请注意、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    您是否 还可以在 video_io\test\test_csitx_csirx.c 文件中执行类似的检查? 不知何故 CSITX 测试不包括在符合性测试中、即使定义了 BUILD_CSITX 也是如此。 所以我们 试着找出原因。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh、

    上述测试位于“test csitx csirx.c“文件中

    请注意、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    是否确定这是您在电路板上使用的相同固件? 因为如果包括 CSITX ,我看不到为什么它不能执行。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh、

    找到根本原因:在 Linux 上禁用它;

    为什么?

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    不了解为什么需要在 Linux 上禁用 SERDES 以在 RTOS 上启用 CSITX。 存在相互 独立的关系。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    TI-PROCESSOR-SDK-RTOS-j721e-evm-09_01_00_06/pdk_jacinto_09_01_00_22/packages/ti/drv/csitx/examples/csitx_transmit_test/

     如何编译此示例以及如何运行它。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    请注意、这是一个基于 PDK 驱动程序的独立示例、因此无法使用 uboot 加载、或无法使用 uboot 运行 Vision 应用。  

    要构建此示例、请使用  ti-processor-sdk-rtos-j721e-evm-09_01_00_06/pdk_jacinto_09_01_00_22/packages/ti/build 中的以下命令

    make -s csitx_transmit_testapp_freertosear board=j721e_evm core=MCU2_0 build_profile=release

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    如何在电路板上运行和调试。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Brijesh、

    如何在电路板上运行和调试。

    此致、

    Cesar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Cesar:

    您需要使用 CCS 加载和运行此示例、尤其是下面链接中的步骤 8.3。

    J784S4 的 CCS 设置—Processor SDK RTOS J784S4

    此致、

    Brijesh