Hi,
I have created three tasks using Free RTOS, out of which one of the tasks is using images to be displayed from the sd-card to the display. For this, I have modified SD_JPEG example. Additionally, I want other tasks to use PXP driver code which uses a manual input buffer. I am facing an issue in adding SD_JPEG example with PXP driver code.
Could you please help me with it? [I am using IMXRT 1176]
My issues are:
1) If I run PXP task and then if I run SD_JPEG task, there's display fluctuation. So, If I disable PS and AS at the end of PXP code, before running other tasks, will this work?
2) Another reason I think this can be because I am giving different buffers in both codes (g_frameBuffer and s_BufferLcd). If this is an issue how can I solve it?
3) Is it compulsory to use decoding format as same, as in SD_JPEG example its using RGB888 format and in PXP example its using RGB565 format?
Thanks,
Devaharsha
Hi @Devaharsha ,
You can try to put buffer into noncacheable area.
PXP can support RGB888 and RGB565 input.
Regards,
Jing
Hi @jingpan,
I tried putting buffer in NonCacheble region -
Modified "SDK_ALIGN(static uint8_t g_frameBuffer[APP_FB_NUM][APP_FB_SIZE_BYTE], APP_FB_ALIGN);" to "AT_NONCACHEABLE_SECTION_ALIGN(static uint8_t g_frameBuffer[APP_FB_NUM][APP_FB_SIZE_BYTE], APP_FB_ALIGN));"
While compiling, it says "Cache is overflowed". I tried modifying value of RAM2 in properties option. But I am getting Bus Fault error.
Is the above method correct or I am doing something wrong? Can you help me with this.
Hi @Devaharsha ,
Obviously, OCRAM has not enough size for the buffer. You should split part of SDRAM to NCACHE_REGION.
Regards,
Jing
Can you give an exact value of how much can be provided and exactly how to split RAM sizes in MCU IDE?
I have tried modifying RAM addresses as you have shown. There's no error in compiling.
1) First I am running sd_jpeg task, and it's working fine.
2) Then, I am running PXP driver, and it's working fine.
3) Again if the sd_jpeg task is getting run, I am getting PXP image and image from SD Card getting overlapped on the display. There's display fluctuation.
Hi,
It seems the current display buffer is invaded when eLCDIF is reading it.
Regards,
Jing
Is there any other way to run both PXP and JPEG SD code?