Всем доброго времени суток. Пытаю отладочную плату SAM4S-EK2 на базе контроллера ATSAM4SD32C. Пытаюсь заставить микросхему тактироваться от внешнего кварца 12МГц. Делаю всё как указано в даташите. Сначала перевожу процессор на тактирование от низкочастотного внутреннего генератора:
PMC -> PMC_MCKR = PMC_MCKR_CSS_SLOW_CLK;
Тут всё работает, процессор действительно начинает медленно работать. Далее запускаю кварцевй генератор:
PMC -> CKGR_MOR = CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCRCF_12_MHz| CKGR_MOR_MOSCXTEN | CKGR_MOR_MOSCXTST_Msk | CKGR_MOR_KEY_PASSWD;
При этом если разбить данную строчку на 2, т.е.:
PMC -> CKGR_MOR = CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCRCF_12_MHz| CKGR_MOR_KEY_PASSWD;
PMC -> CKGR_MOR = CKGR_MOR_MOSCXTEN | CKGR_MOR_MOSCXTST_Msk | CKGR_MOR_KEY_PASSWD;
то выскакивает ошибка о которой скажу ниже.
И так, кварцевый генератор запускается (смотрю осциллографом на резонаторе, есть генерация).
Далее жду некоторое время:
for(int i = 0; i < 10000; i++)
{}
Далее ставлю кварцевый генератор, как основной и переключаюсь с низкочастотного генератора на кварцевый:
PMC -> CKGR_MOR = CKGR_MOR_MOSCSEL | CKGR_MOR_KEY_PASSWD;
PMC -> PMC_MCKR = PMC_MCKR_CSS_MAIN_CLK;
Компилю... Всё норм... но после прошивки ничего не происходит, а при повторной попытке прошить выскакивает ошибка, как на картинке. Единственный способ перепрошить - притянуть ногу ERASE к 0 и затем передёрнуть питание. Есть подозрения на программатор Atmel-ICE. 3 дня уже убил, всё перепробовал.
Сообщение отредактировал Грендайзер - Feb 18 2015, 07:51
Эскизы прикрепленных изображений