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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

356 Views
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?
Labels (1)
0 Kudos
5 Replies

289 Views
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

225 Views
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 Kudos

169 Views
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 Kudos

88 Views
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 Kudos

238 Views
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