GUI Guider "CameraPreview" example on MIMXRT1170-EVK + OV5640 + RK055HDMIPI4MA0 display

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

GUI Guider "CameraPreview" example on MIMXRT1170-EVK + OV5640 + RK055HDMIPI4MA0 display

1,044 次查看
guilhermes
Contributor II

Hello NXP team!

  • I have been attempting to run the "CameraPreview" example from GUI Guider 1.7.1-GA (using LVGL 8.3.10) on a MIMXRT1170-EVK board with the OV5640 camera (that comes with the board) + a RK055HDMIPI4MA0 Display module. SDK used is version 2.15.000.

  • I have succesfully compiled & flashed the example to the board using GUI Guider. However, I cannot see the camera output nor the generated GUI in the display.
    GUI Guider "CameraPreview" widget demo projectGUI Guider "CameraPreview" widget demo project
    Hardware setupHardware setup

  • I imported this generated project as "evkmimxrt1170_lvgl_guider_cm7_v8" into MCUXpresso, and a Debug session showed that cameraTask Task gets stuck waiting for a PXP status flag:

 

        PXP_Start(DEMO_PXP);

        /* Wait for PXP process complete. */
        while (!(kPXP_CompleteFlag & PXP_GetStatusFlags(DEMO_PXP)))
        {
        }
        PXP_ClearStatusFlags(DEMO_PXP, kPXP_CompleteFlag);

 

  • I have also confirmed that the OV5640 camera and display modules are both functional by running the SDK examples "evkmimxrt1170_csi_mipi_rgb_cm7" and "evkmimxrt1170_csi_mipi_yuv_cm7" correctly.

  • Could you please point me in the right direction? Is this example actually compatible with this EVK?

  • Also - is there any specific documentation on the default GUI Guider widget template projects?
标签 (1)
0 项奖励
回复
5 回复数

977 次查看
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @guilhermes ,

Thanks for your interest in NXP MIMXRT series!

I've reproduced the same issue as you locally, so I suspect there may be a problem with this demo. For now I've submitted the issue for internal troubleshooting and it may take some time to locate the issue. I will keep you updated in this thread.

Thank you in advance for your patience!

Best regards,
Gavin

913 次查看
guilhermes
Contributor II

Hello @Gavin_Jia , thanks for your support!

I attempted the suggested task priority change, and now the demo image seems to load correctly in the display.

However, I still get no camera feed, and the demo seems to crash after pressing the "Start" button. The code now seems to execute past the first call to "PXP_GetStatusFlag", and onwards to update the image data, but it seems to trigger this section only once.

        while (!(kPXP_CompleteFlag & PXP_GetStatusFlags(DEMO_PXP)))
        {
        }
        PXP_ClearStatusFlags(DEMO_PXP, kPXP_CompleteFlag);

        /* Return the camera buffer to camera receiver handle. */
        CAMERA_RECEIVER_SubmitEmptyBuffer(&cameraReceiver, (uint32_t)cameraReceivedFrameAddr);

        /* Update the Image data. */
        frameImage.data = (const uint8_t *)lcdFrameAddr;
        vTaskDelay(5);
        s_lcdActiveFbIdx ^= 1;



cameraPreview-002.jpg

0 项奖励
回复

857 次查看
Gavin_Jia
NXP TechSupport
NXP TechSupport

Thanks @guilhermes for your feedback.

I just reproduced your situation today due to waiting for the internal test board to be repurchased. I have reported the fault about this demo and still need some time to troubleshoot the issue. I'll sync it here as soon as there are new developments. Thanks in advance!

Best regards,
Gavin

0 项奖励
回复

776 次查看
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @guilhermes ,

Thanks for your patience. After our issue localization, we found that pxp was initialized twice inside the code, and eventually we managed to fix the fault.

Step1:

// lvgl_guider.c

stat = xTaskCreate(CameraTask, "camera", configMINIMAL_STACK_SIZE + 100, NULL, tskIDLE_PRIORITY + 8, NULL);

 

Step2:

// lv_conf.h

/*Use NXP's PXP GPU iMX RTxxx platforms*/
#define LV_USE_GPU_NXP_PXP 0

 

Then, the project will work properly.

Gavin_Jia_0-1714021718054.png

 

 

Best regards,
Gavin

 

0 项奖励
回复

926 次查看
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @guilhermes ,

Thanks for your patience!

We are finally getting progress on this issue. Currently able to confirm that there is indeed a problem with this demo, you can fix it by doing the following:

// Lower the priority of camera tasks.

xTaskCreate(CameraTask, "camera", configMINIMAL_STACK_SIZE + 100, NULL, tskIDLE_PRIORITY + 6, NULL);  //+10 

 

Best regards,
Gavin