emWin problem with RA8835 controller on LPC1788

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

emWin problem with RA8835 controller on LPC1788

650 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by navman on Mon Oct 08 09:06:39 MST 2012
Hi,
We are trying to port the emWin precompiled library to a board which uses LPC1788 + monochrome graphics LCD 320x240 with the RA8835 LCD controller. We have run into few problems.

We realized that the emWin has support for S1D13700 (under GUIDRV_SLin) LCD controller whose commands and data organization are compatible with the RA8835 controller.

So we used the GUIDRV_Slin driver and the S1D13700 driver in the Slin group. The initialization is ok. We know this is working because we put some custom code after all the initialization is done to draw some vertical stripes which shows up. But the code hangs after the initialization is done and the emWin takes over after sometime.

We have analyzed what is going on by logging the data & commands passed to the LCD routines and understood that
1) emWin issues the LCD write data to fill the entire LCD memory with 0s.
2) It them calls our initialization routine which is initializing the LCD and displaying vertical stripes to prove that LCD is working.
3) emWin is then clearing the LCD line by line by issuing the set address command then writing zeros to the memory to the extent needed to clear that line. It then sets a new address for the next line, clear it and so on. We see that the screen clears (the vertical stripes introduced in initialization disappear).
4) After clearing the screen, it simply hangs & fails to display simple text that is prepared using the emWin library.

There is an alternate method that works. That is to use the GUIDRV_Lin which is just a frame buffer which emWin prepares. We then copy the frame buffer to LCD periodically. But it takes up awful lot of time (about 40ms) to do each transfer and also there is snow on the display because we might be copying the frame buffer to LCD when it is being modified.

Any help on who to get the S1D13700 driver working would be much appreciated. Also any help on improving the transfer speed of the frame buffer method and ways to avoid snowing would also be welcome.
Labels (1)
0 Kudos
1 Reply

524 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by mc on Fri Nov 09 09:57:18 MST 2012
Hi Navman,
Could you please post your code here? You can use double buffering/triple buffering and copy buffers at end of frame interrupt(LPC1788 has this feature.
0 Kudos