Цитата(cornflyer @ Jul 6 2010, 11:42)

проверь содержимое Flash Mode Register: AT91C_BASE_MC->MC_FMR
Warning: In order to guarantee valid operations on the flash memory, the field Flash Microsecond Cycle Number (FMCN)
must be correctly programmed.
у меня например MCK = 10MHz
соответственно в LowLevelInit() у меня есть такая строчка:
AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN)&(10<<16)) | AT91C_MC_FWS_0FWS; // 1us =< 10 MCK ticks
если у тебя MCK = 48 MHz тогда должно быть так:
AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN)&(50<<16)) | AT91C_MC_FWS_0FWS; // 1us =< 50 MCK tick
У меня в LowLevelInit():
Код
AT91C_BASE_EFC0->EFC_FMR = AT91C_MC_FWS_1FWS;
AT91C_BASE_EFC1->EFC_FMR = AT91C_MC_FWS_1FWS;
А AT91C_MC_FWS равно:
Код
#define AT91C_MC_FWS_0FWS (0x0 << 8) // (EFC) 1 cycle for Read, 2 for Write operations
#define AT91C_MC_FWS_1FWS (0x1 << 8) // (EFC) 2 cycles for Read, 3 for Write operations
#define AT91C_MC_FWS_2FWS (0x2 << 8) // (EFC) 3 cycles for Read, 4 for Write operations
#define AT91C_MC_FWS_3FWS (0x3 << 8) // (EFC) 4 cycles for Read, 4 for Write operations
Пробовал AT91C_MC_FWS_2FWS, AT91C_MC_FWS_3FWS - ничего не меняет.
При AT91C_MC_FWS_0FWS проц вообще не стартует