Можно ли удалить загрузчик при прошивке с помощью загрузчика?

Вопрос заключается в том, могу ли я заблокировать себя от Arduino с помощью загрузчика, если я прошиваю шестнадцатеричный файл, который не содержит загрузчика?

Или загрузчик автоматически добавляет прошитый файл после себя, чтобы он никогда не перезаписывался?

Упомянутое устройство представляет собой Arduino Pro Micro (ATMega32u4). Спрашиваю, потому что у меня сейчас нет доступного ISP, и мне нужно прошить предварительно скомпилированные шестнадцатеричные файлы.

, 👍2


1 ответ


Лучший ответ:

3

Если вы не занимаетесь программированием ISP и еще не пробовали программировать ISP, ваш загрузчик в порядке и останется в порядке независимо от того, что вы пытаетесь загрузить. Загрузчик имеет собственный защищенный раздел, поэтому нет необходимости прикреплять его к коду скетча при каждой загрузке. Загрузчик Pro Micro в любом случае не может быть обновлен сам по себе.

В худшем случае вы попытаетесь загрузить предварительно скомпилированные двоичные файлы, и они просто не будут работать.

Вы можете загрузить код, который не отвечает на сенсорный запрос 1200 бод, который используется для сброса платы в загрузчик, что может заставить вас думать, что вы испортили плату, но вы нет. Версия загрузчика Caterina Pro Micro поддерживает сброс двойным нажатием для 8-секундного окна загрузки независимо от того, что вы поместили (или пытались поместить) на чип.

На практике существующий загрузчик неизменяем и всегда будет работать для вас, пока в какой-то момент не подключится ISP.

,

Хорошо, это был ответ, который я искал, спасибо!, @Dakkaron

поскольку в заголовке вопроса не упоминается MCU, я просто хочу добавить примечание, что этот ответ не относится ко всем MCU. даже на новых микроконтроллерах AVR загрузчик по умолчанию не защищен, @Juraj

@Juraj: у меня был ATMega32u4 и в вопросе, и в теге. Какие новые микроконтроллеры AVR вы имеете в виду? Я думаю, вы имеете в виду что-то помимо линейки ATMega? Ваш вклад определенно действителен., @Dakkaron

@Dakkaron, например, ATmega4809, используемый в Nano Every и Uno WiFi., @Juraj

ATmega4809 не поддерживает протокол, который Atmel/Microchip называет «ISP»., @timemage

@Dakkaron Я думаю, идея в том, что вы спрашиваете о конкретной плате, и любой, кто читает ответ, должен был прочитать вопрос, чтобы понять, что ответ был предназначен только для ответа на плату в вопросе. Я не уверен, какова вероятность того, что кто-то в этой ситуации будет склонен читать комментарии к ответу, но, наверное, уверен. Если вы хотите, вы можете просто указать «Pro Micro» в заголовке вашего вопроса: * «Можно ли удалить загрузчик Pro Micro во время прошивки с помощью загрузчика?» *, @timemage

@timemage Насколько я понимаю, для этого и нужны теги. По крайней мере, в Stackoverflow они склонны редактировать такую информацию отдельно от заголовка. Устройство занимает видное место в вопросе, поэтому нет необходимости копаться в комментариях. Интересный факт о ATMega4809. Пока вообще не пользовался этим чипом., @Dakkaron

@Dakkaron Я подумал, что если их озабоченность будет решена, имеет смысл сделать это в заголовке вопроса. Я тоже думаю, что это, вероятно, хорошо, как есть., @timemage