AnsweredAssumed Answered

Hard fault while configuring SEMC with DBI

Question asked by THIVYA ASHOK KUMAR on Dec 11, 2019
Latest reply on Dec 19, 2019 by jeremyzhou

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.