Вопрос: Не работает программатор USBasp ?
Добрый вечер, наконец-то мне удалось собрать программатор USBasp для atmel. После ввода lsusb он идентифицируется следующим образом: Шина 008 Устройство 075: ID 16c0:05dc Общий ID VOTI для использования с libusb. Так что я предполагаю, что он был успешно построен. Но что еще хуже, он как-то не хочет больше общаться.
Например: avrdude -c usbasp -p m8 -t напечатает avrdude: error: usbasp_transmit: ошибка отправки управляющего сообщения: неверный или неполный многобайтовый или широкий символ
и если я снова введу то же самое, будет напечатано avrdude: Предупреждение: невозможно запросить устройство у производителя: ошибка при отправке управляющего сообщения: Ошибка протокола avrdude: ошибка: не удалось найти USB-устройство «USBasp» с vid=0x16c0 pid=0x5dc .
Посоветуйте, пожалуйста, что с этим делать. Я где-то читал, что это сделала библиотека libusb (в Windows когда-то раньше).
Спасибо за помощь
Ответы
В противном случае у меня ядро 2.6.29. В остальном у меня в базе прошивка 2009-02-28 (частично модифицированная, но это ни на что не должно влиять). У меня до сих пор стоит avrdude версии 5.10. И когда вы используете команду с avrdude, есть ли что-то новое в процессе?
На схеме предполагается 2 стабилитрона для 3V6, но я использую оба для 3V3 (другого у меня не было). Я использую питание от USB и джампер JP2 подходит только для смены FW, поэтому не подключайте его (здесь я сделал небольшое изменение и загрузил HIDbootloader в AVR, чтобы я мог изменить FW и запрограммировать другие одночипы в любое время через USB). Пока ковырялся, забыл про резистор на сбросе процессора (пин 1), но работает и без него.
Постарайтесь подобрать стабилитроны так, чтобы они были одинаковыми.
Я хотел бы спросить, может ли кто-нибудь написать мне содержимое файла /etc/avrdude.conf для atmega8 (строка 6600). Также как перемычки должны быть подключены / отключены, а также команда, которую вы загружаете в свой atmeg с помощью avrdude.
Я также хотел бы спросить, горит ли по-прежнему красный светодиод?
Спасибо, надеюсь, у меня как-нибудь получится.
В конце концов я переключился на другой программатор, который отлично работает.
Как ни странно, у меня это почти сработало в первый раз, и то почти только потому, что я неправильно подключил сигналы MISO и MOSI. Заметил проблемы только при заливке процессоров с большим flash (Atmega128), когда обратная проверка часто останавливалась.
Если бы у меня была мотивация переключиться на что-то другое, я бы, наверное, попробовал USBprog.
Я предполагаю, что -5V имеет значение GND. Ведь USB-5V недоступен . В противном случае у меня такое же подключение сигнала. Попробуй обойти JP3, чтобы там часы шли медленно, и поставить контакты блокировки питания на процессор. Тогда остается только проверить, что стоит за сигналами от этого программатора.
Я рекомендую biprog. это только для серийника, поэтому для usb нужна версия с ft232, но по крайней мере работает 100% везде через avrprog, stk500 и isp в avrstudio и еще в avrdude. На выходных возился с похожей usb библиотекой, в которой есть usbasp, а atmega128 вообще с ней не работал
в противном случае я посмотрел в make-файл usbasp, и там у вас есть именно то, что вы должны установить для fuse через avrdude.. log0 означает программировать, log1 означает не программировать. в ponyprog галочка равна log0
Вы не должны отключать SPI, чтобы программирование могло перейти на atmega. Его даже не следует отключать, когда микроконтроллер программируется через SPI. В противном случае вы просто настраиваете внешний кварц и включаете CKOPT (бит CKOPT равен нулю), что гарантирует полную генерацию генератора на 12-мегагерцовом кварце… вот и все
или в чем проблема?
Вы отсоединили перемычку самопрограммирования и подключили перемычку low sck? если другой мегановый и работает на внутреннем генераторе 1 МГц, он может не успевать. пробовали заблокировать питание мега конденсатором 100нФ?
носудя по листингам здесь, вроде программист приходит и отчитывается перед вами, но не может загрузить софт в запрограммированную атмегу, если не ошибаюсь, да? Я бы попытался тщательно измерить программные соединения для колодцев и оборванных кабелей.. это как-то странно..
Вероятно, хотелось бы немного резюмировать. Согласно последним предоставленным вами спискам avrdude, программатор USBasp выглядит нормально (мигающий зеленый светодиод указывает на то, что avrdude может им управлять), но проблема в том, что он не может найти ни одной тестовой ошибки для программирования. Если я ошибаюсь, поправьте меня.
Поэтому вам нужно сосредоточиться на ошибке, которую вы хотите записать, и, при необходимости, проверить провода к этой ошибке. Чистый Atmega8 имеет предохранители, установленные на внутренний RC-генератор 1 МГц, поэтому необходимо подключить перемычку JP3 к USBasp. На данный момент я бы не стал сбрасывать фьюзы и сначала проверил работу USBasp, прочитав и записав во флэш-память или EEPROM.
Если у вас есть возможность иметь другой программатор, обязательно попробуйте подключить проверенную Атмегу с этим программатором. Затем попробуйте USBasp.
Вы правильно поняли. Я просто добавлю, что BOOTSZ1 и BOOTSZ0 не зависят, потому что BOOTRST не настроен на включение вектора сброса загрузчика. И поскольку вы не используете загрузчик, это сумак.
SPIEN всегда должен быть включен в процессоре, который вы хотите запрограммировать через ISP. В противном случае вы сможете получить к нему доступ только через параллельный программатор. SPIEN также включен по умолчанию на заводе для программирования ISP, и вам не нужно иметь дело с параллельным программированием.
SUT CKSEL и CKOPT являются кристальными настройками. как начнете сверлить и переписывать в запрограммированном MCU, может случиться так, что вы настроите внешние часы или статью RC и тогда вам придется либо подключать такие часы, либо перепрограммировать их параллельным программатором. Это распространенная ошибка с ponyprog и т. д.программист, что человек непреднамеренно загружает неправильный выбор в MCU, а затем удивляется, что он мертв, потому что у него нет часов. Со мной такое случалось не раз 🙂
BODEN и BODLEVEL позволяют обнаруживать только падение напряжения, во время которого процессор сбрасывается, чтобы не возникала ситуация, когда он обрабатывает инструкции из-за падения напряжения. Это не влияет на работу микроконтроллера, и не имеет значения, программируете вы его или нет в этом приложении.
USB asp имеет хорошо запрограммированные кристаллические перемычки, и я бы не стал вмешиваться в это. если бы они были неверны, программатор USB даже не работал бы, потому что синхронизация линий USB была бы полностью отключена.
Атмеги — довольно крепкие монстры, поэтому их нельзя просто так уничтожить. Однако иногда случается так, что некоторые выводы вывода драйвера повреждены, и это потому, что вы непреднамеренно замкнули его на + или gnd, когда вывод определен как вывод и закорочен по току. В противном случае они также устойчивы к разрезанию пополам и, в определенных пределах, к насильственному выдуванию трансформатором
Итак, я измерил сигналы, исходящие от программатора, и я не совсем уверен, что они хорошие.
ПИН-кодни с тем, ни с другим он не работает, так что придется попробовать написать на них что-нибудь с помощью LPT-программатора (как уже писал выше), или купить другой.
так что это странно.. это, вероятно, не будет мегагейм.. и вы пробовали другой компьютер?