Having trouble creating dual frame buffer on LCP32xx

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

Having trouble creating dual frame buffer on LCP32xx

1,265 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by brothwell on Tue Mar 26 11:21:26 MST 2013
I am trying to modify my app to use dual frame buffers on the LPC32XX system.   Using a single frame buffer works fine ( TFT / VGA / 24 bit).  When I attempt to switch frame buffers using the LCD_UPBASE register while "hot", the screen appears to freeze.

I suspect I need to do some other steps prior to swapping the register, but the User Manual has no guidance.

Any suggestions would be helpful.

Labels (1)
0 Kudos
Reply
2 Replies

1,234 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by brothwell on Wed Mar 27 20:59:52 MST 2013
Thanks for the fast response.   

I am a bit embarrased to admit, but I set up two pages and toggled the UPBASE register between them with no delays.   So I think all that was wrong was that all the changes to UPBASE occurred in a single refresh cycle with the original frame remaining displayed (which I mistook for freezing).

Once I put some delays in following the UPBASE register changes, the screen chages became apparent.

I am quire (pleasantly) surprised by the difference in screen painting time.  The errata for the chip mentioned that use of an SDRAM frame buffer with concurrent updates could result in delays due to contention, but I had no idea that the performance degradation was so drastic.

Thanks again,
Brian
0 Kudos
Reply

1,234 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by wellsk on Tue Mar 26 15:23:00 MST 2013
The UPBASE register is latched into the UPCURR register at (about) the start of a frame refresh cycle, so you can update this value live without problems. The LCD is refreshed for the current frame from the pointer in UPCURR.

If you update the UPBASE register more than once in the same refresh cycle before it's latched into UPCURR in the next cycle, only the last value (latched at UPCURR) will be used.

What do you mean by freezing - the display just stops and maintains the same image when the contents in the 2 frame buffers are distinctly different regardless of UPBASE?
Can you post some of your code for flipping and your memory locations for the FB?
0 Kudos
Reply