AnsweredAssumed Answered

FSMC question

Question asked by Inductive on Jul 24, 2014
I have a question:

the following lines show how FSMC is addressed:

     #define LCD_BASE        (0x60000000UL | 0x0C000000UL)
     #define LCD_REG16  (*((volatile U16 *)(LCD_BASE  ))) 
     #define LCD_DAT16  (*((volatile U16 *)(LCD_BASE+2)))

no problem with the base address, but why is LCD_DAT16   addressed as LCD_BASE+2? is that a dummy location within the current FSMC bank/region?
when I change this address to, say LCD_BASE+4, lcd is not initialized. My question is,
on what basis this address is chosen, provided that other choices seem not to work.

Outcomes