Customer has dev kit DK-TM4C129X-DK (TM4C129XNCZAD) and attached 480x272 raster display and external SRAM for testing.
They are trying to get the double buffering working on the Tiva C with graphics. They are using the grlib_raster_driver_16bpp library. They have looked at the example, but it only covers the single buffered option. They have tried to make the changes below, but do not think it is working as the screen flashes every time they update it.
MAP_LCDDMAConfigSet(LCD0_BASE, LCD_DMA_BURST_16 | LCD_DMA_FIFORDY_128_WORDS | LCD_DMA_PING_PONG);
//
// Set up the frame buffer. Note that we allow this buffer to extend
// outside the available SRAM. This allows us to easily test modes where
// we can't fit the whole frame in memory, realizing, of course, that
// part of the display will contain crud.
//
MAP_LCDRasterFrameBufferSet(LCD0_BASE, 0, g_pui32DisplayBuffer,
SIZE_PALETTE + SIZE_BUFFER);
//second
MAP_LCDRasterFrameBufferSet(LCD0_BASE, 1, g_pui32DisplayBuffer2,
SIZE_PALETTE + SIZE_BUFFER);
//
// Write the palette to the frame buffer.
//
MAP_LCDRasterPaletteSet(LCD0_BASE,
LCD_PALETTE_SRC_24BIT| LCD_PALETTE_TYPE_DIRECT,
(uint32_t *)g_pui16Palette, g_pulSrcPalette, 0,
(SIZE_PALETTE / 2));
//second pallet buffer
//
// Write the palette to the frame buffer.
//
MAP_LCDRasterPaletteSet(LCD0_BASE,
LCD_PALETTE_SRC_24BIT| LCD_PALETTE_TYPE_DIRECT,
(uint32_t *)g_pui16Palette2, g_pulSrcPalette, 0,
(SIZE_PALETTE / 2));
//
// Enable the LCD interrupts.
//
MAP_LCDIntEnable(LCD0_BASE, (LCD_INT_DMA_DONE | LCD_INT_SYNC_LOST |
LCD_INT_UNDERFLOW | LCD_INT_EOF0));
Please advise if there is an issue with the code above or if there is a working example.
Thanks,
Brian