Можно ли через icsp загрузить загрузчик Arduino и скетч на atmega328p?

Я знаком с загрузкой загрузчика arduino на atmega328p с помощью другого arduino через arduino IDE. Я также установил программные скетчи, используя этот процесс, который, как я полагаю, не включает загрузчик (это означает, что в будущем нельзя будет загружать новые скетчи через USB). мой вопрос: можно ли через icsp загрузить на чип и загрузчик, и программу? заранее большое спасибо.

, 👍0


1 ответ


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

2

Конструктор Arduino создает для плат AVR не только шестнадцатеричный файл для скетча, но и комбинированный шестнадцатеричный файл с загрузчиком и скетчем. Например, для Blink.hex это Blink_with_bootloader.hex. Если вы используете в IDE команду «Экспортировать скомпилированный двоичный файл» в меню «Инструменты», сборщик помещает шестнадцатеричные файлы рядом с ino-файлом в папку вашего скетча.

Если вы хотите, чтобы команда "Загрузить с помощью программатора" загружала шестнадцатеричный код с загрузчиком, измените в файле platform.txt ключ tools.avrdude.bootloader.pattern, чтобы использовать "-Uflash: w:{build.path}/{build.project_name}_with_bootloader.hex:i"

,

Привет большое спасибо за это. где я могу найти платформу.txt?, @Danny

это зависит от того, является ли ядро в комплекте с IDE, затем в папке установки IDE, или если оно было установлено с помощью Boards Manager, то пакеты находятся в ~/.arduino15/packages/ в Linux и %userprofile%\AppData\Local\Arduino15\ packages\ в Windows (AppData — это скрытая папка)., @Juraj

да, там нет файла txt, просто папка, содержащая ядра arduino, которые я установил ... (у меня Windows 10, @Danny

что-то вроде пакетов/arduino/hardware/avr/1.6.21, @Juraj

привет, я действительно ценю эту помощь, кстати, но у меня все еще есть проблемы. я попытался отредактировать файл, но это не дало никакого эффекта (все еще загружая шестнадцатеричный файл из временного каталога. я заметил, что файл platform.txt находится в папке с именем 1.8.1, а версия arduino, которую я использую, 1.8.9, поэтому я подумал, может быть, я редактирую не тот документ, поэтому я удалил файл из папки, перезапустил Arduino и попытался загрузить, ожидая ошибки или чего-то еще, и он действовал нормально, что заставляет меня думать, что он не обращает никакого внимания на этот файл ... .?, @Danny

версия ядра AVR не зависит от версии IDE. 1.8.1 — это последнее ядро AVR, которое входит в состав IDE 1.8.10. возможно, у вас есть одна установка ядра AVR в C:\Program Files (x86)\Arduino\hardware\arduino\avr и другая в папке Arduino15, @Juraj

я буквально только что заработал, переключившись на свой Mac и загрузив его с помощью терминала. (я попробовал это на своем ПК, но команда продолжала отклоняться, потому что Windows не может обрабатывать пробелы в команде, сводя меня с ума!) - спасибо за всю помощь!, @Danny