IAR EW ARM: где задаются циклы ожидания (wait state) при работе с flash |
![]() |
Добавил(а) microsin | |||||||||||||||||
Количество циклов ожидания (wait state cycles) задаются в процедуре LowLevelInit, в самом начале (файл at91lib\board\board_lowlevel.c):
Если убрать wait state, то на высоких частотах (начиная с 48 МГц) при работе с flash процессор может начать глючить. [Предельная тактовая частота для процессора AT91SAM7X] Если код размещен в SRAM, то он может выполняться на предельной частоте, которую в состоянии дать узел PLL: согласно даташиту это 200 МГц. Но обычно код работает все же из памяти FLASH. В этом случае для надежной работы необходимо при обращении к FLASH добавлять циклы ожидания, если тактовая частота превышает 30 МГц, см. таблицу.
[Ссылки] 1. Питание AT91SAM7X, режимы пониженного энергопотребления. |