Atmel SAM3X8E (Arduino Due) всегда загружает SAM-BA при сбое программного обеспечения /wdt

Я столкнулся с действительно странной проблемой с этим ОК.

После некоторой перепрошивки SAM3X8E начинает загрузку SAM-BA с помощью программного обеспечения или сброса сторожевого таймера. Сброс PowerUp всегда загружает прошивку (мигает 0). Если я заставлю сброс программного обеспечения, используя:

RSTC->RSTC_CR = RSTC_CR_KEY(0xA5) | RSTC_CR_PROCRST | RSTC_CR_PERRST;

или принудительный сброс wdt:

while(true);

Система перезагружается на SAM-BA вместо прошивки (прошивка 0). Опять же, включение всегда правильно, на прошивке.

Если я прошиваю прошивку 10 раз, в конце концов, одна из них ведет себя корректно, я имею в виду, что система перезагружается после прошивки программного обеспечения

Я уже проверил бит GPNVM [1], и он равен 1 (истина), что означает, что загрузка будет происходить на флэш-памяти (микропрограмме), как и должно быть, потому что загрузка при загрузке всегда правильная.

Я даже пытался написать GPNVM[1] = 1 перед принудительным сбросом, и это не решает проблему.

Я собираюсь заменить плату, надеясь, что это аппаратная проблема.

Кто-нибудь имеет какое-либо представление об этом??

0 ответов

Другие вопросы по тегам