Отлаживаю однотипные модули на базе 1986ВЕ1Т (Миландр). В устройстве имеется FLASH 1636РР2АУ (тоже Миландр).
Модуль должен перепрограммироваться по шине CAN. Процесс идёт так: новая прошивка записывается в 1636РР2АУ,
проверяется контрольная сумма, после чего контроллер копирует её из 1636РР2АУ во внутреннюю FLASH, перезагружается
командой NVIC_SystemReset() и далее работает.
Проблемы возникли с одним из 5 модулей: после перепрошивки по CAN он намертво зависает, хотя если прошивать его через программатор
по JTAG, то работает нормально.
Пробовал проводить перепрошивку под отладчиком: новая программа записывается во FLASH контроллера без дефектов, происходит перезагрузка,
программа запускается, но после выполнения нескольких операций уходит в HardFault.
Вопрос: в чём особенность программирования по JTAG по сравнению с перепрошивкой контроллером?
В чём может быть причина такого сбоя ?