https://forum.pjrc.com/threads/66200-T4-0-writing-to-EEPROM-hangs-when-built-using-quot-Smallest-Code-quot-optimizaton?p=269445&viewfull=1#post269445teensy4-core
| @@ -231,10 +231,9 @@ static void flash_wait() | |||
| FLEXSPI_IPCR0 = 0; | |||
| FLEXSPI_IPCR1 = FLEXSPI_IPCR1_ISEQID(15) | FLEXSPI_IPCR1_IDATSZ(1); | |||
| FLEXSPI_IPCMD = FLEXSPI_IPCMD_TRG; | |||
| while (!(FLEXSPI_INTR & FLEXSPI_INTR_IPCMDDONE)) { | |||
| asm("nop"); | |||
| } | |||
| while (!(FLEXSPI_INTR & FLEXSPI_INTR_IPCMDDONE)) {;} | |||
| FLEXSPI_INTR = FLEXSPI_INTR_IPCMDDONE; | |||
| asm("":::"memory"); | |||
| status = *(uint8_t *)&FLEXSPI_RFDR0; | |||
| } while (status & 1); | |||
| FLEXSPI_MCR0 |= FLEXSPI_MCR0_SWRESET; // purge stale data from FlexSPI's AHB FIFO | |||