Программирование 328PB из Arduino IDE с помощью порта Atmel-ICE в ICSP
Обновленный вопрос. Первоначальный вопрос был основан на использовании "Upload" из Arduino IDE вместо "Upload Using Programmer" в разделе "Sketch". Проблема в том, чтобы заставить Atmel-ICE работать с Arduino IDE, теперь, похоже, связана с неправильными драйверами ICE, загруженными при установке Atmel Studio.
Arduino требует драйверов libusb-win, которые можно проверить с помощью Zadig. Доступно здесь: https://zadig.akeo.ie/
Эта проблема была решена на 99% (с помощью справки) путем выбора драйвера libusb-win32 с помощью Zadig. Я говорю, что 99% решено, потому что моя программа теперь загружается и запускается! , но я получаю там красный "X" в качестве статуса WCID.
Приношу свои извинения, если эта поправка к исходному вопросу не находится в правильном контексте, это ново для меня. Спасибо. Жако
@ttss, 👍1
Обсуждение1 ответ
Здравствуйте, 328 "PB" имеет серьезные проблемы с запуском внешних часов...(да, у меня есть непосредственный опыт работы с этой моделью PB)... Попробуйте переключиться на внутренний генератор, так как я могу засвидетельствовать из первых рук, что внешние часы на PB работают неправильно. Они, как правило, продают PB на несколько долларов дешевле, потому что вы купите их только один раз и только один раз, когда узнаете, насколько плох внешний драйвер кристаллических часов. Если вы посмотрите на последнюю таблицу данных для PB, они попытаются отговориться от плохого драйвера, объяснив, как вам нужно сопоставлять конденсаторы со следующим фрагментом. Я называю BS, так как 328p никогда не нуждался в такой точности на контактах Xtal1 & 2 для запуска, но, честно говоря, они PB предназначены для низкой мощности.
Этот кварцевый генератор является маломощным генератором с уменьшенным колебанием напряжения на выходе XTAL2. Он дает самое низкое энергопотребление, но не способен управлять другими тактовыми входами и может быть более восприимчив к шуму в шумной среде. Кристалл должен быть подключен так, как описано в разделе Подключения источника тактовых импульсов. При выборе кристаллов необходимо учитывать емкость нагрузки. Емкость (Ce+Ci), необходимая на каждом выводе TOSC, может быть рассчитана с помощью: �� + �� = 2�� − �� где: • Ce - это дополнительные внешние конденсаторы. (= C1, C2, как показано на рис. 11-2) • Ci - емкость контакта в таблице 11-3. • CL - емкость нагрузки, указанная поставщиком кристалла. • CS - общая паразитная емкость для одного контакта XTAL. Таблица 11-
- Как запрограммировать чип ATmega328 au tqfp32 (SMD)?
- Arduino Uno считывние предохранителей
- Использование Arduino Nano для программирования (как ISP) автономного 328p
- Самодельный Arduino с использованием ATMEGA328P, ISP или ICSP?
- Невозможно использовать Arduino nano в качестве ISP, потому что он не может прочитать подпись устройства.
- Не могу записать загрузчик с помощью avrisp
- Atmega328p загружает через ISP, но не через загрузчик
- Почему 23 032-байтовому скетчу Arduino требуется 36,32 секунды для загрузки через ISP на Atmega328p на макетной плате с отключенной проверкой кода?
я думаю, что желтый восклицательный знак в диспетчере устройств указывает на то, что Windows не может разговаривать с устройством ... попробуйте найти правильные драйверы ... ваш пост не связан с arduino, так что здесь он не по теме, @jsotola
Вы выбираете "Загрузить" или "Загрузить **с помощью программиста**"?, @timemage
Я почти уверен, что AVRDude нуждается в том, чтобы Atmel-ICE загрузил драйверы libusb, чтобы иметь возможность взаимодействовать с ним (как в https://cyansensors.wordpress.com/portfolio/setting-up-atmel-ice-with-platformio-using-atmega328p/). Что происходит, когда вы используете https://zadig.akeo.ie/ загрузить драйверы libusb-win32? Кроме того, загрузка должна происходить через USB-устройство, а не через COM-порт, поэтому при загрузке обязательно выберите "Загрузить с помощью программатора". Если это не поможет, перейдите в Файл -> Настройки и включите "Подробную загрузку" и опубликуйте журнал., @Maximilian Gerhardt
Я думаю, Максимилиан, что ты наставил меня на путь истинный. Диспетчер устройств доволен тем, что ICE теперь появляется под libusb-win32 devices. Я действительно отправил ошибку из "Upload", которая была в спешке, так как я использовал Upload с помощью Programmer. Теперь ошибка: "avrdude: usbdev_send(): записал -22 из 7 байтов, err = avrdude: jtag3_send(): не удалось отправить команду на последовательный порт avrdude: не удалось синхронизировать с JTAGICE3 в режиме ISP", Поэтому кажется, что Arduino IDE использует режим JTAG, а не ICSP протокол? Опция конфигурации IDE Auduino? Спасибо., @ttss
Наверное, раньше я был слишком тонким в этом вопросе, поэтому я упомяну об этом в последний раз, прежде чем исчезнуть: то, что вы сделали, чтобы *решить* проблему, входит в *ответ*, а не в вопрос. **Тот, кто обнаружит это позже, должен увидеть вопрос (что они могут понять, по крайней мере, если у них такая же проблема) и *отделить* от этого ответ., @timemage
Извиняюсь, Timeage, я думал, что ответы были ответами других пользователей. Внесу коррективы сегодня же. Нужно здесь, чтобы получить представление о том, как это должно работать. Еще раз прошу прощения, я ошибочно подумал, что понял., @ttss
Для справки, вы сказали, что он работает на 99% нормально, за исключением того, что он не загружает драйвер WCID (что, по-моему, не очень критично?), Но как вы разрешили ошибку `avrdude: usbdev_send(): написал -22 из 7 байт, err = avrdude: jtag3_send(): ?, @Maximilian Gerhardt