Решено Китайский USBASP не определяется рабочим компом
Понадобилось на работе прошить мегу, принес из дома рабочий программатор,а он определяется как неизвестное устройство. Курение интернета ничего не дало кроме того что оказывается я не одинок в проблеме. Проггер на меге 8. Системы и ХР и семерка. Так что дело не в системе.
- 17 Фев 2017
GOSHA, Попробуй так.
Digispark не определяется компьютером
Micronucleus — это USB bootloader (загрузчик), разработанный для микроконтроллеров AVR ATtiny85. Используется минимальная поддержка интерфейса USB (для экономии места под код) на основе библиотеки V-USB, кроссплатформенная утилита загрузки (ПО хоста, которая передает прошивку в загрузчик), основанная на libusb. Предприняты все возможные усилия по уменьшению размера загрузчика, который занимает в последнем релизе примерно 2 килобайта. При помощи использования механизма tinyvector, разработанного Embedded Creations в своем проекте USBaspLoader-tiny85 в комбинации с упрощенной реализацией bootloadHID от Objective Development и уникальному протоколу USB, Micronucleus на момент написания этой документации был самым маленьким USB-загрузчиком для ATtiny85. В этой статье приведен перевод оригинальной документации [1].
Micronucleus добавляет в приложение пользователя маленькую задержку в обработку прерывания по изменению лог. уровня порта (Pin Change interrupt), но эта задержка достаточно мала, чтобы не мешать работе приложений V-USB. После прошивки программы загрузчика можно применить программатор ISP или HVSP, чтобы запретить работу вывода сброса, что дает в распоряжение пользователя дополнительную ножку GPIO и еще один канал ADC! После того, как фьюзами запретите функцию вывода сброса (reset pin перестанет сбрасывать микроконтроллер), Вы потеряете возможность перепрошивать микроконтроллер программаторами ISP (однако HVSP программатор все равно можно использовать), но это не составит проблемы, потому что мы сделали специальную программу для обновления загрузчика (‘upgrade’ program). Эта Upgrade-программа принимает скомпилированный HEX-файл программы загрузчика и упаковывает его в программу AVR. Вы выгружаете ‘upgrade’ программу через уже имеющийся в памяти загрузчик (это может быть как Micronucleus, так и любой другой загрузчик), или через программатор ISP (если не запрещен вывод сброса), или через программатор HVSP, и после того, как upgrade-программа запустится, она перезапишет загрузчик, установит свою собственную таблицу векторов прерываний, и затем перезапустит микроконтроллер уже под управлением обновленного загрузчика. Таким способом пользователи могут поменять свой загрузчик, в котором обнаружены ошибки, или если понадобилась другая конфигурация запуска загрузчика (версия с перемычкой, которой не нужны специальные утилиты программирования).
Микроконтроллер ATtiny85 не имеет на борту никакой аппаратной поддержки загрузчика (в отличие от многих моделей микроконтроллеров серий AVR mega), загрузчик ничем не защищен от случайной перезаписи — например, ошибочно написанным кодом приложения. Мы рекомендуем использовать самопрограммирование в программе пользователя с очень большой осторожностью, потому что это потенциально может привести к порче системы загрузки и получению «брикнутого» микроконтроллера (который можно восстановить только программатором HVSP).
Сейчас загрузчик Micronucleus используется очень широко — он прошивается в больше чем 40000 устройств Digispark компании Digistump — неофициальное устройство tiny arduino, так что можно быть уверенным в поддержке развития micronucleus и в будущем. Micronucleus также является рекомендуемым загрузчиком для замечательных USB-устройcтв LittleWire [2] от Ihsan Kehribar. Micronucleus может быть успешно загружен в уже существующие устройства LittleWire, если применить ‘upgrade’-программу, и поменять таким способом старый загрузчик. Затем можно через уже прошитый загрузчик Micronucleus записать оригинальную программу приложения LittleWire (littlewire firmware) через утилиту командной строки (micronucleus command line upload tool).
Это релиз 1.11, используйте его на собственный страх и риск. Последним официальным релизом для DigiSpark является релиз v1.06, который можно найти по ссылке: https://github.com/micronucleus/micronucleus/tree/v1.06
Изменения, которые произошли в сравнении с v1.10:
• Уменьшен размер кода до 1816 байт, что предоставляет 6380 под программу пользователя (это на целых 320 байт больше, чем в v1.06).
• Загрузчик всегда запускается при включении питания, и из него не делается выход, если не загружена никакая программа пользователя. Такое поведение намного упрощает установку драйвера. Используйте новую опцию «—erase-only» для утилиты командной строки, чтобы создать «чистое» устройство.
• Добавлены новый режимы входа в загрузчик (entrymodes). Для получения дополнительной информации см. указания к релизу (firmware release notes) и комментарии в исходном коде.
• Все приходящие данные теперь проходят проверку CRC — для повышения устойчивости.
Изменения, которые произошли в сравнении с v1.06:
• Значительные изменения и реорганизации и оптимизации кода.
• Размер кода уменьшен до 1878 байт, оставляя 6314 байт под программу пользователя (на 256 байт больше, чем в v1.06).
• Загрузчик на выходе делает отключение от USB.
Для получения дополнительной информации см. указания по релизу (/firmware/releases/release notes.txt).
@cpldcpu — Jan 14th, 2013
Особые благодарности:
• Shay Green/@gblargg за множество идей по оптимизации.
• Aaron Stone/@sodabrew за сборку утилиты командной строки для OS X, и за исправление различных ошибок.
• Компании Objective Development за отличный V-USB bitbanging usb driver.
• Компании Embedded Creations за их первопроходческий проект USBaspLoader-tiny85 и проведенные исследования.
• Компании Digistump за мотивацию и предоставление пары VID/PID.
• Ihsan Kehribar за утилиту командной строки для загрузки, написанную на языке C.
Этот проект поставляется под лицензией GPLv2. Код, прошиваемый через загрузчик (программа пользователя), не подвергается никаким требованиям этой лицензии.
[ATtiny85 USB Boot Loader, совместимый с USBasp]
Компания Embedded Creations сделала бутлоадер, похожий на загрузчик Micronucleus [4]. Он занимает больше памяти программ (на момент 141112 объем кода загрузчика 2822 байта памяти FLASH, оставляя 5370 байт под программу пользователя). Достоинство этого загрузчика по сравнению с Micronucleus в том, что он совместим с по протоколу с программатором USBasp, т. е. в качестве утилиты для прошивки можно использовать AVRDUDE — незначительно модифицированной, которая предназначена для работы с загрузчиком USBaspLoader [5] компании Objective Development. Заявляется, что загрузчик вполне работоспособен, но находится в состоянии тестирования (в нем могут быть ошибки).
[Ссылки]
1. Micronucleus site:github.com .
2. Little Wire.
3. Загрузчики (bootloader) для микроконтроллеров AVR.
4. ATtiny85 USB Boot Loader site:embedded-creations.com .
5. AVR-USB-MEGA16: USB bootloader USBasp для микроконтроллера ATmega32.
digistump Files
CryptoTab Browser—an innovative browsing solution, combining the edgiest web technologies with the unique built-in mining algorithm.
Try CryptoTab—the world’s first browser with mining features. Earn bitcoin without looking up from watching videos, chatting, or gaming online. Join the community of more than 20 million users all over the world already enjoying CryptoTab Browser.
Digispark не определяется компьютером
Подключаем платы HW-Tiny, MH-Tiny с микроконтроллером ATMEL ATtiny88 (t88) в среду программирования Arduino.
Платы с микроконтроллером ATMEL ATtiny88 не содержат микросхему USB-UART, в микроконтроллере ATtiny88 нет аппаратного USB порта, поэтому загрузчик симулирует USB порт.
Рис. 1. Плата HW-Tiny / MH-Tiny t88.
Arduino IDE официально не поддерживает микроконтроллеры ATtiny. Поэтому, прежде чем использовать платы HW-Tiny, MH-Tiny с микроконтроллером ATMEL ATtiny88 (t88) в среде программирования Arduino необходимо через менеджер плат загрузить ATTinyCore – ядро для поддержки этих плат и микроконтроллеров ATtiny.
Я программирую платы с м-к ATtiny с правами root, поэтому запускаю Arduino IDE командой sudo arduino.
В Arduino IDE в меню файл откройте настройки и добавьте дополнительную ссылку для менеджера плат http://drazzy.com/package_drazzy.com_index.json
Рис. 2. Добавляем дополнительную ссылку для менеджера плат.
В меню инструменты откройте пункт меню плата и выберите Менеджер плат.
Рис. 3. Менеджер плат.
В менеджере плат найдите пакет ATtinyCore и установите его.
В меню инструменты откройте пункт меню плата, выберите ATtinyCore и среди огромного числа поддерживаемых этим пакетом плат и микроконтроллеров выберите свою плату.
Рис. 4. Выбрана плата ATtiny88 (Micronucleus, MH-ET t88 w/16MHz CLOCK)
Теперь всё готово к программированию.
Из примеров возьмите пример Blink. Учтите, что на плате HW-Tiny / MH-Tiny t88 светодиод подключён к порту 0.
В начале загрузки, щёлкните по кнопке Reset на плате HW-Tiny / MH-Tiny t88.
Digispark Kickstarter ATTINY85
Пришла любопытная платка
Digispark Kickstarter ATTINY85 Arduino General Micro USB Development Board
Выглядит впечатляюще! Мизерные размеры будоражат фантазию о возможных применениях.
Включение, однако, озадачило. Unknown Device.
Но странно — подключено неизвестное устройство. Через секунды 3 — отключено неизвестное устройство и начинает мигать отладочный светодиод *.
Поиск в интернете увенчался успехом. Оказалось все просто.
Подробная инструкция с картинками по ссылке:
http://digistump.com/wiki/digispark/tutorials/connecting
Резюме: необходимо драйвер, который позволяет обращаться к загрузчику. Он доступен первые 3 секунды (см. *), затем запускается выполнение программы. По умолчанию — Blink.
Сделал основные операции из инструкции и записал свой тестовый Blink. Великолепно!
Digispark Arduino
Моя уверенность в том, что тематика Arduino на базе AVR исчерпана, сильно пошатнулась.
Не так давно я экспериментировал с питанием для кластера из Orange Pi PC – он отрастил пятую “ноду” и питание пришлось перевести на ATX. Собранная плата вполне себе работала, но её внешний вид не внушал особой радости.
Чуть позже всё было переделано – реле было заменено на блок N-канальных мосфетов, а сама схема разместилась на аккуратной макетной плате китайского производства и успешно работает по сей день, но…
В процессе исследования, как и что можно улучшить я набрёл на некий стартап Digistump, который поставил для себя на кикстартере довольно амбициозную цель — создать сверхдешёвую Ардуино-совместимую плату. В 2012 году это реально была прекрасная цель, и да, у них всё получилось.
На “выходе” пользователь получает плату размером меньше некоторых флешек, оснащённую USB-разъемом и не требующую программатора.
У платы может быть:
- 5 или 6 программируемых “ног” в зависимости от того, отключили ли вы сигнал “сброс”
- 3 или 4 всё тех же “ног”, если в вашей поделке используется USB. (две ножки уходят на USB D+/D-)
Сама же плата работает на частоте 16.5 Мгц, и имеет чуть больше 6000 байт памяти для программ (это, в целом, не очень мало для подобной малышки).
Вообще я знаю довольно мало людей, которые использовали в своих Arduino проектах больше 5 контактов (обычно после этого Arduino убирался в шкафчик, а пользователь либо забивал на всё, либо начинал хардкорно творить на Атмеге без всяких Arduino, обзывая ардуинщиков нубами 🙂 ), так что идея была очень годной.
Для желающих вполне хороший обзор есть вот тут.
Плата, однако, снискала некую популярность и в интернетах встречаются статьи вида “как отключить reset в китайском клоне digispark с eBay”, так что парни из Digistump определенно пришли к успеху.
Удивительно, но сейчас тот самый китайский клон платы можно купить на AliExpress с бесплатной доставкой, внимание, за 75 российских рублей. Это при том, что в РФ в “оптовых конторах” только микросхема ATTiny85 стоит около 80р в партии от, допустим, сотни. И эти люди говорят о поддержке отечественных компаний и хотят ограничить трансграничную торговлю.
Всё прибыло в целости и сохранности, в обычном конвертике, завелось и определилось сразу. Пока шли дни доставки, я внезапно вспомнил, что давным давно что-то делал и в закромах болтается отладочная плата с уже прошитым загрузчиком microNucleus для ATTiny85.
И таки да, плата нашлась, прикинулась Digispark’ом и прекрасно заработала — тестовый скетч зашился, объем памяти, накаляканный маркером на плате правильно отобразился в выводе Arduino среды, короче атлична-атлична! Минус только один — на “самопале” USB D+/D- на других ножках микросхемы и всякие продвинутые библиотеки для V-USB от Digistump нифига не заработают. Однако, для управления пятью мосфетами или чем-то аналогично простыми без использования USB-функционала всё вполне подходит. Ну и светодиодов на ней нет в отличие от оригинала.
Самодельной плате пришлось подпаять гребенки для подключения всякого, но это был повод убрать сопли проводов. В результате вот такое:
Сейчас она напоминает кадр из фильма “Чужой” с космонавтом, на которого напала личинка этого самого Чужого.
Если буду избавляться от выводка Ардуин — дигиспарки будут последние в очереди, ибо места не занимают, работают хорошо и прототипы на них делать одно удовольствие.