I recently trying to develop on LCD screens, and I saw the TFT LCD interfacing with the high-density STM32F10xxx FSMC (AN2790 Application note)
and I was going along the way with the Application note just changed everything for my ili9488 and H7 board. In short, it didn't work, and I hoped for a bit of help with analyzing if there is any problem with the timing configuration or address.
Pin A20 for RS. Pin NE1 for CS. FMC clock is 160Mhz.
#define LCD_DATA (volatile uint32_t *)(0x60000000 | 0x0200000) // Base address of FMC data memory region
#define LCD_COMMAND (volatile uint32_t *)(0x60000000) // Base address of FMC command memory region
and timing configuration:
Timing.AddressSetupTime = 1;
Timing.AddressHoldTime = 1;
Timing.DataSetupTime = 32;
Timing.BusTurnAroundDuration = 0;
Timing.CLKDivision = 16;
Timing.DataLatency = 17;
Timing.AccessMode = FMC_ACCESS_MODE_B;
/* ExtTiming */
ExtTiming.AddressSetupTime = 1;
ExtTiming.AddressHoldTime = 1;
ExtTiming.DataSetupTime = 5;
ExtTiming.BusTurnAroundDuration = 0;
ExtTiming.CLKDivision = 16;
ExtTiming.DataLatency = 17;
ExtTiming.AccessMode = FMC_ACCESS_MODE_B;
am I wrong?