IAR EW ARM: где задаются циклы ожидания (wait state) при работе с flash
Написал microsin   
24.01.2009

Количество циклов ожидания (wait state cycles) задаются в процедуре LowLevelInit, в самом начале  (файл at91lib\board\board_lowlevel.c):
#if defined(at91sam7x512)
    AT91C_BASE_EFC0->EFC_FMR = AT91C_MC_FWS_1FWS;
    AT91C_BASE_EFC1->EFC_FMR = AT91C_MC_FWS_1FWS;
#elif defined(at91sam7x128) || defined(at91sam7x256)
    AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS;
#else
    #error No chip definition ?
#endif

Если убрать wait state, то на высоких частотах (начиная с 48 МГц) при работе с flash процессор может начать глючить.

Последнее обновление ( 24.01.2009 )