Если "слетела" прошивка J-Link...
Как-то раз я обновил Keil и он радостно сообщил что нужно обновить прошивку J-Link, а при обновлении произошла ошибка, программатор пришел в негодость. Беглый осмотр показал, что у меня на тот момент стоял пакет от SEGGER версии 4.92, а в Keil была библиотека версии 4.96. Так или иначе, у меня на руках был красивый пластиковый овощь, который не желал определятся в системе.
Вскрываем программатор и с легкостью находим нераспаянные перемычки ERASE и TST.
Перед началом перепрошивки, лучше эти перемычки нормально распаять.
Переводим устройство в режим загрузки прошивки. Для этого:
отключаем USB, замыкаем ERASE
подключаем USB, ждем пару секунд,
отключаем USB, размыкаем ERASE, замыкаем TST,
подключаем USB, ждем 10 секунд
отключаем USB, размыкаем TST.
Таким образом мы очистили память чипа и восстановили загрузчик. При подключении устройства к компьютеру в системе должен появится COM-порт.
Скачиваем и устанавливаем пакет AT91-ISP с сайта atmel.com. Заменяем драйвер порта установленный системой на драйвер лежащий в папке C:\Program Files\ATMEL Corporation\AT91-ISP v1.13\sam-ba 2.9\drv "atm6124.sys ATMEL AT91xxxxx Test Board" (для Windows 8 требуется отключить проверку цифровой подписи драйверов). Запустим Sam-ba чтобы убедится, что все работает.
Остается только прошить J-Link. Запускаем SAM-PROG. Выбираем файл с прошивкой и нажимаем кнопку "Write Flash" или отметив галочку "Auto-mode" подключаем устройство.
Cкачиваем с segger.com актуальный пакет для J-Link (на момент написания статьи v4.98) и устанавливаем его. Подключаем J-Link и обновляем на нем прошивку штатными средствами и подправляем серийный номер программатора выполнив в J-Link Commander команду exec setSN=<ваш серийный номер>.
Программатор готов к работе.