Вылетает при обращении к жки. Он висит на fsmc шине. Раньше все работало нормально.
Код
typedef struct
{
volatile u16 reg;
volatile u16 ram;
} Tlcd;
// Note: LCD /CS is CE4 - Bank 4 of NOR/SRAM Bank 1~4
#define LCD_BASE ((u32)(0x60000000 | 0x0C000000))
#define LCD ((Tlcd *) LCD_BASE)
#define WRITE_CMD(value) LCD->reg=value
#define WRITE_DATA8(value) LCD->ram=value
*************************************************
void init_lcd (void)
{
//разный код
WRITE_CMD(LCD_SOFT_RESET);
WRITE_CMD(LCD_SOFT_RESET); // вылетает здесь
WRITE_CMD(LCD_SOFT_RESET);
}
// вот что творит keil
Код
199: WRITE_CMD(SSD1963_SOFT_RESET);
0x08003E88 2001 MOVS r0,#0x01
0x08003E8A F04F41D8 MOV r1,#0x6C000000
0x08003E8E 8008 STRH r0,[r1,#0x00]
200: WRITE_CMD(SSD1963_SOFT_RESET);
0x08003E90 8008 STRH r0,[r1,#0x00]
201: WRITE_CMD(SSD1963_SOFT_RESET);
202:
0x08003E92 8008 STRH r0,[r1,#0x00]