HI there,
I'm trying to add an LCD (ST7789H2) to my project and I configured my SEMC dbi config as follows:
dbi_config.csxPinMux = kSEMC_MUXA8;
dbi_config.address = DBI_START;
dbi_config.memsize_kbytes = 32U*1024;
dbi_config.columnAddrBitNum = kSEMC_Dbi_Colum_9bit;
dbi_config.portSize = kSEMC_PortSize16Bit;
dbi_config.burstLen = kSEMC_Dbi_BurstLen16;
dbi_config.tCsxHold_Ns = 200;
dbi_config.tCsxInterval_Ns = 200;
dbi_config.tCsxSetup_Ns = 200;
dbi_config.tRdxHigh_Ns = 200;
dbi_config.tRdxLow_Ns = 200;
dbi_config.tRdxLow_Ns = 200;
dbi_config.tWexLow_Ns = 200;
I use the base address as A0000000 but when I try to write an 8-bit value as below
#define DBI_START 0xA0000000U//(0xA0000000U)
uint16_t *my_dbi = (uint16_t *)DBI_START; // DBI Base address. */
my_dbi[0x10000] = Reg;
I always hit a hard fault (Imprecise bus data error). Am I using the wrong address? Any help will be appreciated.