Можно ли через icsp загрузить загрузчик Arduino и скетч на atmega328p?
Я знаком с загрузкой загрузчика arduino на atmega328p с помощью другого arduino через arduino IDE. Я также установил программные скетчи, используя этот процесс, который, как я полагаю, не включает загрузчик (это означает, что в будущем нельзя будет загружать новые скетчи через USB). мой вопрос: можно ли через icsp загрузить на чип и загрузчик, и программу? заранее большое спасибо.
@Danny, 👍0
1 ответ
Лучший ответ:
Конструктор 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"
- Не удается снова загрузиться после смены платы
- Путаница с ATmega328P и 3,3 В/8 МГц
- Что означает avrdude: Device signature = 0x000000? Неисправная проводка? Проблема с программным обеспечением? Неправильная инструкция?
- Не могу записать загрузчик на Atmega328P с помощью Arduino Uno
- Можем ли мы записать загрузчик Arduino в любой чип микроконтроллера?
- Atmega328p — переход на низкое энергопотребление 1,8 В с использованием генератора 4 МГц — прошивка загрузчика
- Переход к загрузчику из кода приложения в atmega328p
- Как правильно активировать контакт сброса ATMega328 с помощью ПО, чтобы загрузчик работал, а прошивка могла обновляться через контакты RX/TX?
Привет большое спасибо за это. где я могу найти платформу.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