Программирование AVR с помощью ISP
Я пытаюсь запрограммировать atmega с помощью arduino sketch, используя только ISP (пользователь Mac). Итак, я знаю, как записать загрузчик, а затем запрограммировать чип с помощью TX, RX. Но я хотел бы запрограммировать его непосредственно с помощью ISP, без загрузчика. Итак, я использую UNO в качестве программатора ISP и безуспешно пытаюсь запрограммировать микросхему на печатной плате:
- Я загружаю в UNO скетч ArduinoISP
- Подключите линии к целевой плате (целевая плата имеет atmega328, кристалл, конденсаторы, светодиод).
- Выберите плату "Arduino pro или pro mini" в Arduino IDE.
- Выберите программатор - "Arduino как ISP"
- Вначале я попытался загрузить загрузчик, чтобы посмотреть, все ли в порядке, он загрузил загруженный чип, так что я знаю, что соединения хорошие, и я готов к работе.
Теперь я пытаюсь просто загрузить скетч, используя ТО ЖЕ подключение к ISP, я ничего не трогал (!), Поэтому я открыл мигающий пример, нажал кнопку загрузки, и он просто не работает (не синхронизирован).
Опять же, теперь цель состоит в том, чтобы запрограммировать чип с помощью ISP напрямую, без загрузчика. Причина, по которой я загрузил его, заключается в том, чтобы убедиться, что все хорошо подключено.
Я не могу себе представить, как точно такая же конфигурация может загрузить чип, а позже не может загрузить скетч напрямую через ISP.
Что я здесь упускаю из виду? Разве вы не можете использовать Arduino IDE для загрузки скетча непосредственно в качестве программатора ISP?
@Curnelious, 👍4
Обсуждение1 ответ
Вероятно, вы использовали кнопку прямой загрузки, которая использует программирование Arduino по умолчанию с использованием RX TX, а не выбранного вами программатора.
Все проводки идеальны, вот почему вы смогли записать загрузчик.
Теперь вам просто нужно перейти в раздел Скетч -> Загрузить с помощью программатора.
- Использование Arduino Nano для программирования (как ISP) автономного 328p
- Запрограммировать новый заводской Atmega328P через контакты UART, не записывая загрузчик
- Помогите понять, как avrdude работает с ArduinoISP и почему он не работает у меня.
- Atmega328p загружает через ISP, но не через загрузчик
- Программатор ISP с последовательным питанием и питанием 5 В/3,3 В
- Линии пульсируют недостаточно быстро (?))
- При использовании Arduino Uno в качестве ISP: "Yikes! Invalid device signature" - плохое соединение, неверную конфигурацию или неверную версию avrdude?
- В чем разница/связь между Arduino и AVR?
Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что он принадлежит Arduino stack exchange., @Nick Johnson
у меня есть один, и у меня такая же проблема!, @Curnelious
Согласен, это не по теме для EESE. Но, черт возьми, то, что вы делаете, конечно, должно быть возможно (запрограммируйте устройство только с помощью вашего скетча и без загрузчика), и тот факт, что вы можете записать только загрузчик, но не скетч *может* означать, что ваши электрические соединения в порядке, поэтому моим следующим предложением было бы подтвердить, что ваша цель аппаратное обеспечение на самом деле является Pro или Pro-Mini или очень совместимо с ним. Настройки предохранителей, конечно, варьируются от одной платформы к другой..., @Techydude
Загрузка загрузчика, вероятно, изменила настройки fuse. Попробуйте подключить кристалл к чипу., @Ignacio Vazquez-Abrams
Вы нажимаете "Файл> Загрузить с помощью программиста" для загрузки?, @Visual Micro
Эти сведения могут быть полезны, если вы еще этого не проверили: https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP/, @tepalia