I have a custom board with a K70 processor connected to a TFT display (320*240*24bpp) using the LCDC controller. The LCDC reads pixel data from an 8MB DDR2 memory. I use PEG Lite and MQX 4.1. The processor is running in 120Mhz and the DDR2 memory in 150Mhz.
I have a problem with flicker on the display when I write to the DDR2 memory (I am not writing to the display buffer but a competely different area in the same memory). As soon as I stop writing the flicker stops.
It feels like the display controller is not able to read data from the DDR2 memory fast enough when other memory operations are performed to the same memory.
A very strange thing is that writing 32-bit data does not cause any flicker, only writing 16-bit or 8-bit data.
I have tried som ideas from this forum but nothing works:
* double buffer and frame-sync in PEG on/off
* configuring the crossbar switch priorities to give lcdc highest priority and also using round-robin scheduling
* flushing the caches in the display driver
* testing with different pixel clocks from 6 to 10Mhz for the display
* make sure data and instruction cache are activated
* activating burst-mode for lcdc transfers
Do you have any idea what could cause a problem like this?