hello,
My project is using a 800*600 's TFT screen, and intend to use 8pp pallet mode ,and output 565 16bit in lcd pin.
My setting is as following:
static void SetUpLCD(void) { /* Enable clock for LCD Module */ LCDModuleClkConfig();
LCDPinMuxSetup();
/* **Clock for DMA,LIDD and for Core(which encompasses ** Raster Active Matrix and Passive Matrix logic) ** enabled. */
RasterClocksEnable(SOC_LCDC_0_REGS);
/* Disable raster */
RasterDisable(SOC_LCDC_0_REGS);
/* Configure the pclk */
RasterClkConfig(SOC_LCDC_0_REGS, 33000000, 192000000);
/* Configuring DMA of LCD controller */
RasterDMAConfig(SOC_LCDC_0_REGS, RASTER_SINGLE_FRAME_BUFFER, RASTER_BURST_SIZE_16,
RASTER_FIFO_THRESHOLD_512,
RASTER_BIG_ENDIAN_DISABLE);
/* Configuring modes(ex:tft or stn,color or monochrome etc) for raster controller */
RasterModeConfig(SOC_LCDC_0_REGS, RASTER_DISPLAY_MODE_TFT, RASTER_PALETTE_DATA, RASTER_COLOR, RASTER_EXTRAPOLATE);
/* Configuring the polarity of timing parameters of raster controller */
RasterTiming2Configure(SOC_LCDC_0_REGS, RASTER_FRAME_CLOCK_HIGH | RASTER_LINE_CLOCK_HIGH | RASTER_PIXEL_CLOCK_HIGH | RASTER_SYNC_EDGE_FALLING | RASTER_SYNC_CTRL_INACTIVE | RASTER_AC_BIAS_HIGH , 0, 255);
/* Configuring horizontal timing parameter */
RasterHparamConfig(SOC_LCDC_0_REGS, 800, 20, 210, 46);
/* Configuring vertical timing parameters */
RasterVparamConfig(SOC_LCDC_0_REGS, 600, 10, 50, 23);
RasterFIFODMADelayConfig(SOC_LCDC_0_REGS, 12);
}
#define PALETTE_SIZE 512 // 8PP mode
#define PALETTE_OFFSET 4
unsigned char GraphWaveBuf[PALETTE_OFFSET+PALETTE_SIZE+800*600];
void LCDRasterInit(void) {
unsigned short int *palettebuf=(U16 *)&GraphWaveBuf[0];
unsigned int i;
palettebuf = (unsigned short int *)&GraphWaveBuf[0];
for ( i=0; i<(PALETTE_SIZE)/sizeof(unsigned short int); i++ )
{ palettebuf[i+2] = Palette256[i]; }
for ( i=0; i<(LCD_XSIZE*LCD_YSIZE); i++ )
{ GraphWaveBuf[i+PALETTE_OFFSET+PALETTE_SIZE] = 128; }
LCDAINTCConfigure();
LCDBackLightEnable();
// UPDNPinControl();
SetUpLCD();
/* Configuring the base ceiling */ RasterDMAFBConfig(SOC_LCDC_0_REGS, (U32)&GraphLcdBuf[0]+PALETTE_OFFSET , (U32)&GraphLcdBuf[0]+PALETTE_OFFSET+800*600-1, FRAME_BUFFER_0);
#if 0 RasterDMAFBConfig(SOC_LCDC_0_REGS, (U32)&GraphLcdBuf[0] + PALETTE_OFFSET, (U32)&GraphLcdBuf[0] + PALETTE_OFFSET + LCD_SIZE, 0); #endif
#if 0 /* Enable End of frame0/frame1 interrupt */ RasterIntEnable(SOC_LCDC_0_REGS, RASTER_END_OF_FRAME0_INT | RASTER_END_OF_FRAME1_INT); #endif
/* Enable raster */ RasterEnable(SOC_LCDC_0_REGS);
}
------------------------------------------------------
With this setting, the screen showing only steady white color.
please help me .