Цитата(cornflyer @ Jul 6 2010, 12:14)

пропиши строчку:
AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN)&(50<<16)) | AT91C_MC_FWS_1FWS; // 1us =< 50 MCK tick
где вместо 50 укажи свое значение, т.е. >=MCK[MHz]
например если MCK = 48MHz, тогда округляешь до большего числа, т.е. до 50
в мануале на AT91SAM7 так написано, иначе флэш будет работать с глюками
У sam7x512 два EFC, поэтому вписал:
Код
AT91C_BASE_EFC0->EFC_FMR = ((AT91C_MC_FMCN)&(50<<16)) | AT91C_MC_FWS_1FWS; // 1us =< 50 MCK tick
AT91C_BASE_EFC1->EFC_FMR = ((AT91C_MC_FMCN)&(50<<16)) | AT91C_MC_FWS_1FWS; // 1us =< 50 MCK tick
К сожалению, не помогло