Hello,
Currently I a close to finishing a device we have been working on for quite awhile. I just cant get past this final problem, the problem being whenever we change screens it takes a noticeably long time for the screen to transition. We are using an external parallel SRAM flash with our 8-bit data being stored on the flash. there is an old DMA transfer function that was changed to take the 8-bit data off of the flash, convert it to 24 bit data, then write that 24 bit data to the SRAM which is acting as our LCD buffer.
Now there area few other issues I would like to highlight. In addition to this being our bottleneck ( I think) I could not configure the parallel SRAM flash to have the SRAM sit at 0x6000000 and the Flash sit at 0x8000000 and instead had to have our Flash be mapped to EPI_ADDR_RAM_BASE_8 and the SRAM to be sitting at EPI_ADDR_PER_BASE_A. Meaning I DO NOT HAVE our LCD buffer sitting at 0x60000000. I would like to know if this could be causing my issue as well, I have also tried moving it to 0x10000000 with no luck. Now besides those two issues I would just like to get an opinion on how to move forward. I have began configuring uDMA with my plan being to use the uDMA to copy blocks of the pixel data from the flash into internal memory, do the conversion, then use uDMA to move those to the SRAM. I presume this will be much faster than what it is currently doing. Which is copy each individual pixel off of the flash, converting it, then writing it to two different locations on the SRAM. Under normal operation the entire screen is working at about 10hz, when we change screens it takes nearly half a second to complete the screen transition.
Any advice would be greatly appreciated. If anyone has experience in dealing with type of problem or can point me to another post it would greatly help. I can post more code if asked. Thank you in advanced.