Site Loader

Содержание

Графическая оболочка Burn-O-Mat для AVRDUDE — Программы — Каталог статей

AVRDUDE мощная программа для программирования микроконтроллеров. Она поддерживает огромное количество программаторов, а если нужно какой-то добавить, то это легко сделать прописав в файле avrdude.conf его настройки. Но AVRDUDE — консольная программа. Поэтому работать с ней довольно таки сложно. Если еще залить прошивку в камень с горем пополам получится, то самые жестокие грабли нас ждут с выставлением fuse-бит микроконтроллера.

Но решение есть! Это использование графической оболочки. Лично я пользуюсь AVR Burn-O-Mat. Интерфейс у нее интуитивно понятный и не вызывает затруднений в использовании, но я все же опишу работу с этой программой.

Для начала скачаем программу. Это можно сделать у меня, а лучше на официальном сайте программы — вдруг там будет версия посвежее. Для работы программа требует Java SE Runtime Environment (JRE), скачать его можно здесь.

После запуска программы мы видим главное окно.

Сверху у нас имеется панель с тремя разделами: «File», «Setting», «Help».

 

Клацнув по «File», мы увидим только один пункт: «Exit» — для тех кто в танке объясняю — это выход из программы 🙂


Щелкнув по «Setting», выскочит АЖ два пункта: «AVRDUDE» и «Look and feel».

Выбрав пункт «AVRDUDE» мы перейдем в окно настройки программы. Верхняя строчка «AVRDUDE location» — это путь где у нас лежит «дудка». По умолчанию:   «C:\WinAVR\bin\AVRDUDE.exe». Чуть ниже у нас располагается строка «alternative AVRDUDE configuration file» — это путь до конфигурационного файла «AVRDUDE.conf». По умолчанию там прописано: «C:\WinAVR\bin\AVRDUDE.conf». 


AVRDUDE options. Вот тут уже можно разгуляться. «Programmer» — это окно выбора программатора, где мы можем выбрать какой программатор использовать. «Port» — тут можем выбрать к какому порту подключен наш программатор. Ниже у нас идут галочки:

  • disable auto erase for flash (-D) — отключает автоматическое стирание flash-памяти при записи программы.
  • disable fuse check (-u) — отключает проверку fuse-бит.
  • Exit specification (-E) — тут идет выбор того, что нужно сделать после закрытия программы.
    • VCC will be left activated on exit (-E vcc) — Vcc останется активированным после выхода из программы.
    • reset will be left activated on program exit (-E reset) — Reset останется активированным после выхода из программы.


В пункте «Look and feel» можно выбрать «скин программы», выбирайте что понравится больше всего.


Во вкладке «Help», выбрав пункт «About» можно посмотреть как из отдельных пикселей вырисовывается логотип программы:)

Итак, переходим к самому интересному — программированию.


В окне AVRtype выбираете ваш микроконтроллер.


Есть 2 окна для программирования памяти микроконтроллера: Flash и
EEPROM. Кнопочкой «File», в соответствующей памяти, выбираем файл, который собираемся залить в мк. Рядом с этой кнопочкой можно выбрать тип файла прошивки,  меня тут стоит автоматический выбор.

  • Кнопка «Write» — это кнопка записи прошивки в память мк.
  • Кнопка «Read» — считать прошивку из памяти микроконтроллера.
  • Кнопка «Verify» — сравнить то, что нужно было записать и то, что было записано в мк.
Внизу большое белое поле, это окно куда будет выводиться вся информация о прошивке/чтении и т.д. Называется «Лог сообщений».
Вот, по-тихому и добрались к Fuse-битам. Для того чтобы перейти к ним нужно нажать кнопку «Fuses», рядом с «AVR tupe».
Откроется окно «[AVR tupe] fuses», разберем кнопочки и вкладки этой «формы»:
  • «read fuses» — считать Fuse-биты.
  • «write fuses» — записать Fuse-биты.
  • «verify fuses» — сравнить нужные Fuse-быты с тем, что записалось.
  • «reset fuses» — восстановить стандартные биты.

В окошке «Mode» можно открыть для изменения такие важные фузы как: RSTDSBL и SPIEN. После изменения которых мк уже врядли удастся прошить с помощью последовательного программатора. Придется собирать параллельный.
Разберем вкладки:

  • Fuse Editor — тут фузы выставляются галочками.
  • Fuse HEX Editor — тут фузы можно выставить HEX-кодом (по желанию).
  • Brown out detection — тут можно выставить напряжение питания МК. При его понижении срабатывает защита и МК уходит в сброс.
  • Oscillator/Clock Options — это своеобразный калькулятор, в котором вы можете выставить частоту камня, задержки и др. А программа уже рассчитает какие фузы нужно выставить.

Вкратце  думаю, я рассказал вам о том, как работать в этой программе. Рассказывать как работать в разных вкладках по выставлению фузов не буду,  так как работать в них легко — просто отвечаете на то, что вас спрашивают и все. Ну, а если вопросы все еще есть, то комментарии внизу;)

Графическая оболочка для avrdude под MacOS

Программа avrdude поддерживает все актуальные программаторы микроконтроллеров AVR и является кроссплатформенной (Linux, Windows, MacOS). Это консольная утилита и её удобно вызывать из shell/bat-скриптов. Единожды написав такой файлик и положив его в директорию с проектом, получаем возможность быстро прошить и проверить фьюзы, flash и eeprom микроконтроллера. Проблема только в том, чтобы написать этот скрипт. И тут основную головную боль вызывают fuse-биты, т.к. надо правильно сформировать их значения нигде не ошибившись. Иначе, устройство, в лучшем случае, может не заработать совсем или работать неправильно. Ну а в худшем случае можно «окипрпичить» микроконтроллер.

Для avrdue написано много разных графических оболочек под Windows, но среди всего этого многообразия не так просто найти удобный и не сильно глючный софт. Основное требование к оболочке — возможность работать с fuse-битами не как с числами или набором непонятных чекбоксов, а в нормальном человекочитаемом формате. Под MacOS вариантов оболочек совсем не много, но, к счастью, есть open-source проект AVRFuses и с фьюзами там всё относительно неплохо. Плюс открытый исходный код даёт возможность неограниченно затачивать этот инструмент под себя.

Главное окно содержит пару вкладок — работа в flash/eeprom и работа с фьюзами. Тут всё просто — можно выбрать микроконтроллер и файл(ы) прошивки, а затем записать/прочитать/сравнить с содержимым памяти микроконтроллера. Собственно, кнопка ручного выбора микроконтроллера оказалась жутко неудобной — при переключении с одного проекта на другой приходилось каждый раз нажимать её и выбирать из немаленького списка нужный микроконтроллер. Поэтому, первым делом я добавил кнопку Autodetect, нажатие на которую стартует считываение сигнатуры микроконтроллера, подключённого к программатору, и определение его модели по этой сигнатуре.

На второй вкладке показаны фьюзы. Как в виде констант, так и списком, где их можно настроить имея минимально необходимые для этого познания. Перед тем, как что-то делать с фьюзами, их категорически желательно прочитать из микроконтроллера.

Существенный недостаток подобных оболочек в том, что при одновременной работе с несколькими проектами и частым переключением между ними, приходится каждый раз заново вбивать пути к файлам, и настраивать по памяти значения фьюзов, что скучно и отнимает время. Поэтому в оболочку была добавлена работа с проектами. Выбрав путь к прошивке и настроив фьюзы выбираем в меню ->Projects->New Project. Откроется окно, где можно посмотреть, отредактировать и сохранить все параметры.

Теперь переходить от проекта к проекту можно в один клик в меню Projects. Там же можно отредактировать созданные проекты.



Ссылки

Скачать последнюю версию с описанными доработками можно с моего github-а

Автор проекта, Jason von Nieda, весьма оперативно принимает pull-request-ы, и обычно, мои изменения попадают и в его сборку, которую можно скачать на сайте проекта.

В дальнейшем приложение умеет самообновляться по сети.

SinaProg

Графическая оболочка для программы AVRdude, включающая в себя простой и функциональный AVR fuse-калькулятор

Мощнейшая консольная программа для прошивки микроконтроллерных устройств – AVRdude – в «чистом» виде является крайне неудобной, так как разработчикам необходимо постоянно прописывать довольно емкие строки-ключи для установки основных параметров (некоторые из которых, в частности fuse-биты, перед этим еще нужно рассчитать). Для решения этой проблемы была создана небольшая утилита SinaProg. В отличие от аналогичного программного обеспечения SinaProg имеет поддержку огромного количества программаторов. Она работает одинаково хорошо и с мощными атмеловскими устройствами, и с простейшими аппаратами, состоящими всего из нескольких проводков. Любой поддерживаемый через AVRdude программатор, даже если его нет в списке доступных устройств SinaProg, легко может быть добавлен в базу и настроен.

Интерфейс графической среды выглядит просто и удобно, нет ничего лишнего, все понятно и предельно ясно. Разработчику предлагается выбрать необходимый для прошивки hex-файл и указать нужную память – EEPROM или Flash. Для работы с памятью доступны операции: программирования, проверки (верификация содержимого памяти и hex-файла) и чтения. Помимо этого присутствует поле выбора микроконтроллера из выпадающего списка, с которым будет работать программатор. Для контроля работоспособности линии «программатор-шлейф-микроконтроллер» можно запустить процесс проверки соответствия выбранного микрочипа, тому, что подсоединен в реальности. В отдельном окне предлагается установить тип программатора, порт к которому он подключен и скорость его работы. Индикатор состояния показывает прогресс выполнения операций с микроконтроллером. Для поиска ошибок присутствует возможность просмотреть логи системных сообщений.

В программе SinaProg присутствует целая секция, предназначенная для установки и конфигурации fuse-битов. Данные автоматически считываются с микроконтроллера. Утилита позволяет посмотреть: сигнатуру микропроцессора, калибрационные величины для генератора, fuse-биты, разделенные на четыре байта (High Fuse, Lock Bits, Low Fuse и Ext. Fuse). Кроме этого программа выдает удобные для анализа и редактирования выпадающие списки с подробным описанием fuse-битов – так называемый fuse-калькулятор. Запись fuse-битов возможна либо в виде значений всего байта (шестнадцатеричное число), либо при помощи fuse-калькулятора с выбором нужных режимов работы. При необходимости все описания fuse-битов можно легко русифицировать. Все предустановки описываются в простом формате в файле Fuse.txt. Также необходимо отметить, что fuse-биты в данной среде являются инверсными.

Программное обеспечение SinaProg является бесплатным и свободно распространяется. Данная утилита портативная, то есть работает с любого места без установки. Помимо собственных файлов она включает в себя программу AVRdude.

SinaProg разработана неизвестной командой иранских программистов.

Программа SinaProg написана на английском языке. Русификатора к ней не требуется, любой человек, впервые запустивший данный софт, сразу разберется, что в ней к чему.

SinaProg поддерживается операционными системами Microsoft Windows (версии: 95, 98, ME, NT, 2000, XP, VISTA и 7) и Linux (через Wine). Для работы в среде Windows NT, 2000, XP c параллельным портом необходимо наличие файла-драйвера GiveIO.sys.

Распространение программы: бесплатная

Скачать SinaProg 2.1.1

Обсуждение программы на форуме

Библиотека обертки для avrdude — CodeRoad



Проблема: Через приложение Android можно программно проверить содержимое arduino flash, чтобы убедиться, что оно не было изменено (злонамеренно)

Я могу сделать это с помощью avrdude, используя команду, как показано ниже в android adb shell

avrdude -C/data/data/com.myapp.avrdude/local/etc/avrdude.conf -v -patmega2560 -cstk500v2 -P/dev/ttyACM0 -b115200 -D -Uflash:v:firmware.hex:i

Это хорошо работает с arduino, но проблема возникает, когда я хочу сделать то же самое с платой, которая использует чип FTDI. Когда он подключен к устройству android, он не отображается в местоположении /dev/.

На машине linux устройство arduino отображается как /dev/ttyACM0,, а устройство FTDI-как /dev/ttyUSB0. проблема в том, что устройство FTDI не отображается на android, поэтому приведенная выше команда avrdude становится бесполезной.

Я не хочу создавать драйвер kernel для FTDI, как указано здесь

Подход, который я хочу использовать и который я считаю наиболее жизнеспособным, заключается в том, чтобы найти/построить простую оболочку java для avrdude, которая взаимодействует с устройством usb на более высоком уровне, таким образом, я могу использовать библиотеку FTDI java для выполнения команды проверки flash.

Жизнеспособен ли такой подход? Если нет, то как лучше всего подойти к этой проблеме?

android arduino ftdi avrdude
Поделиться Источник kev     01 ноября 2018 в 10:26

2 ответа


  • avrdude и atmega48pa

    Могу ли я запрограммировать atmega48pa с помощью avrdude? У меня проблемы с подписью … % avrdude -pm48 -cavrisp2 -Pusb -V -U flash:w:main.hex avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device…

  • Конфиг avrdude в linux

    Я пытаюсь ubuntu 12.10. Я хочу использовать Eclipse IDE + avrdude. Проблема в том, что у меня есть пользовательский программатор ft232rl, который не входит в стандартную конфигурацию avrdude. В windows году я бы добавил #FTDI_Bitbang programmer id = ftbb; desc = FT232R Synchronous BitBang; type =…



1

Глядя на сайт FTDI, похоже, что может быть драйвер для какого-то драйвера FTDI ICs: FTDI Android , тогда вы вполне можете снова построить avrdude в java га.

Я часто использовал avrdude при использовании arduino…mainly для удаленного re-format/upgrade прошивки на принтере 3D из raspberrypi…

Я бы пошел

1) Посмотрите на драйвер Arduino…

2) если fail…Maybe попытается запустить C программу в java? Таким образом, вы можете упаковать avrdude в свое приложение?

3) Проблема XY -> Почему бы не посмотреть на другие avenues…The единственный способ действительно запустить вредоносную прошивку-это физический доступ к устройству и с пользователем, у которого есть предыдущий исходный код (вы можете установить биты блокировки, чтобы предотвратить чтение EEPROM). Даже временная метка и UUID 1024-битный токен AES/JWT могут быть использованы при запуске для проверки сборки?

https://en.wikipedia.org/wiki/Java_Native_Interface

Поделиться Jcov     10 ноября 2018 в 19:59



1

здание для JNI не поможет, в то время как avrdude не было построено с поддержкой FTDI .

Я скачал avrdude-6.3.tar.gz и запустил ./configure --enable-linuxgpio :

Configuration summary:
----------------------
...
DON'T HAVE libftdi1
DON'T HAVE libftdi
...

когда ищешь его:

$ sudo yum whatprovides */libftdi1

это дает мне:

libftdi-devel-1.1-4.el7.x86_64 : Header files and static libraries for libftdi
Filename : /usr/include/libftdi1

sudo yum install libftdi-devel также устанавливает libconfuse . ему также нужны flex и bison .

есть даже драйверы для D2XX и FT4222H .

см. Демонстрационное приложение AN_357 Android D2XX для FT4222H .

и есть сборки для ARM libft4222-linux-1.4.1.231.tgz

…, который войдет в каталог jniLibs/armeabi .

это зависит от того, какой это чипсет, но драйвер TN 134 FTDI Android D2XX утверждает:

Чтобы сопровождать собственную библиотеку D2XX, FTDI предоставили класс Java и оболочку JNI, которые могут быть легко включены в приложение. Класс предоставляет доступ ко всем классическим функциям D2XX, включая EEPROM функций.

он даже поставляется с руководством по установке видео .

также нашел Arduino build-script для avrdude .

Поделиться Martin Zeitler     11 ноября 2018 в 17:46


  • avrdude: stk500v2_ReceiveMessage(): тайм-аут

    Это главная ошибка, которую я получаю, когда пытаюсь запустить свою программу ARDUINO. Полный список ошибок выглядит следующим образом: avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude:…

  • Mac + Uno + avrdude: stk500_recv(): программист не отвечает

    Я пытаюсь загрузить файл .hex в Arduino. У меня нет никаких проблем с загрузкой кода через IDE (например, пример blink или любой другой). Порт и борт исправны. Итак, проблема появляется, когда я пытаюсь загрузить avrdude -pm328p -carduino -P/dev/tty.usbmodemfd121 -b57600 -D…


Похожие вопросы:


usbtiny не работает с avrdude

Недавно я купил программатор USBtiny ISP от gikfun на eBay. Он помечен как Deek Robot v20 на PCB. Это было дешево. Используя avrdude, я не могу связаться с моим микроконтроллером atmega328p….


Ошибка AVRDude при работе с Eclipse

Я работал над проектом с ATMega32 на Eclipse, и все работало нормально, и вдруг, когда я попытался построить свой проект, чтобы загрузить его в MCU, я получил следующую ошибку: AVRDude Error Could…


Существует ли библиотека обертки OAuth для Scala?

Существует ли библиотека-оболочка OAuth для Scala? Я с нетерпением жду работы с моей del.icio.us (аутентифицированной через учетную запись Yahoo, поэтому мне понадобится OAuth) базой закладок из…


avrdude и atmega48pa

Могу ли я запрограммировать atmega48pa с помощью avrdude? У меня проблемы с подписью … % avrdude -pm48 -cavrisp2 -Pusb -V -U flash:w:main.hex avrdude: AVR device initialized and ready to accept…


Конфиг avrdude в linux

Я пытаюсь ubuntu 12.10. Я хочу использовать Eclipse IDE + avrdude. Проблема в том, что у меня есть пользовательский программатор ft232rl, который не входит в стандартную конфигурацию avrdude. В…


avrdude: stk500v2_ReceiveMessage(): тайм-аут

Это главная ошибка, которую я получаю, когда пытаюсь запустить свою программу ARDUINO. Полный список ошибок выглядит следующим образом: avrdude: stk500v2_ReceiveMessage(): timeout avrdude:…


Mac + Uno + avrdude: stk500_recv(): программист не отвечает

Я пытаюсь загрузить файл .hex в Arduino. У меня нет никаких проблем с загрузкой кода через IDE (например, пример blink или любой другой). Порт и борт исправны. Итак, проблема появляется, когда я…


avrdude и attiny2313 и avrisp

Я пытаюсь запрограммировать свой ATTiny 2313 с помощью avrdude. Это моя командная строка и вывод (первая строка-это команда, которую я ввел, остальные-вывод): utnmac:firmware utn$ make flash avrdude…


Arduino : avrdude: stk500_recv(): программист не отвечает

В настоящее время я пытаюсь сделать управление светодиодом RGB с помощью смартфона Android с использованием модуля Arduino и Bluetooth. Как и в приведенном ниже учебнике по ссылке….


Qprocess и avrdude

я пытаюсь создать простую программу QT, которая позволяет мне запускать avrdude без использования операций командной строки. Я видел, что с помощью Qprocess легко запустить любую программу, и я…

Программирование MK – первая программа

В пакет WinAVR входит встроенная оболочка программирования AVRDUDE (AVR Downloader/UploaDEr, на сленге юмористов «дудка»). Оболочка имеет спартанский интерфейс, но с её помощью успешно и, главное, быстро программируются разные типы MK. Разработчиком AVRDUDE является Brian Dean, который в 2003 г. выпустил первый релиз. С тех пор вокруг проекта образовалось ядро толковых программистов, которые постоянно занимаются модификацией версий.

Управляющие команды для AVRDUDE прописываются внутри «makefile» в отдельном абзаце в середине текста. Расшифровка команд содержится в документе C:\WinAVR-2010010\doc\avrdude\avrdude.pdf. Поддерживаются более 30 типов адаптеров, втом числе PonyProg [6-12]), USBasp [6-13], Arduino [6-14].

Главное при программировании через AVRDUDE — это правильно установить биты конфигурации. В Табл. 6.5 приведена раскладка наиболее распространённых режимов тактирования ATmega48/48A/48PA. Чила отобраны из таблиц даташита. С целью уменьшения числа вариантов сделаны ограничения, в частности, введено единое время задержки запуска тактового генератора «Time-out» 65 мс, запрещена pa6oTaWatchDog, debugWIRE и BootLoader, разрешён внешний сброс RESET. Подобным образом заполняются столбцы в таблице и для других типов MK.

Таблица 6.5. Режимы тактирования MKATVnega48/48A/48PA

Диапазон частот [МГц]

High Fuse

Ext

Fuse

Режим генерации

Low Fuse

Без

BOD

BOD + 1.8 В

BOD

+2.7B

BOD +4.3 В

По умолчанию

0x62

0xDF

0xFF

Внешние импульсы

0…20

0xE0

Внутренний ДС-генератор

0.128

0xE3

0x62

8

0xE2

Кварцевый НЧ-резонатор

0.032768

0xE5

0xDF

0xDE

0xDD

0xDC

0xFF

Керамический резонатор

0.4…0.9

0xF9

Кварцевый ВЧ-резонатор

0.9…3

0xFB

3…8

0xFD

8…16

0xFF

0.4…20

0xF7

Пример из строки 4 листинга на Рис. 6.7: Low Fuse = 0xE2, High Fuse = 0xDF, Ext Fuse = 0xFF, следовательно, MK настроен на работу от внутреннего тактового генератора с частотой 8 МГц (по даташитудопускается разброс 7.3…8.1 МГц), детектор BOD отключён.

Чтобы «не заблудиться в трёх соснах», на Рис. 6.17 показан внешний вид популярной оболочки PonyProg [6-12], в которой шестнадцатеричные числа «фьюзов» представлены в наглядной графической форме. Вторая, третья и четвёртая строки сверхуотносятся, соответственно, кбайтам Ext Fuse, High Fuse, Low Fuse.

Рис. 6.17. Конфигурационные байты Low = 0xE2, High = OxDF, Ext = 0xFF в программе PonyProg.

Чтобы запрограммировать MK через AVRDUDE, можно воспользоваться графическими оболочками [6-15], [6-16], [6-17] и on-line калькулятором «фьюзов» [6-18]. Другой вариант — подправить содержимое «makefile».

Порядок действий.

1.              Запустить на выполнение редактор PN2, открыть «makefile»: «File — Open…». Откорректировать текст, используя данные из Табл. 6.6.

Таблица 6.6. Коррекция текста «makefile» для программирования через AVRDUDE

2.               Запрограммировать MK, выбрав пункт меню «Tools — [WinAVR] Program». Через секунду память MK будет «прошита» и верифицирована, о чём свидетельствует надпись «Process Exit Code: 0».

3.               При желании можно поставить защиту от просмотра кодов. Для этого надо изменить строку 281 «makefile» по образцу: «AVRDUDEWRITEFLASH = -U lock:w:0x00:rm>. Если защита поставлена, то говорят «МК залочен». На Рис. 6.17 MK «разлочен», поскольку в квадратах верхней строки нет ни одной «галочки».

В программахдля домашнего пользования бессмысленно защищать прошивку от самого себя. Если же MK входит в состав промышленного изделия, то байты защиты должны быть обязательно запрограммированы, чтобы предотвратить нелегальный просмотр кодов и несанкционированное копирование.

Считается, что снять защитусисправного МК программным способом нельзя, только путём полного стирания кристалла. Для сведения, существуют хакерские аппаратные средства «вскрытия» прошивки на основе инвазивных, полуинвазиых и неинвазивных технологий [6-19]. Имеется даже компактный прибор, который за 3…15 минут читает содержимое защищённой памяти некоторых AVR- и PIC-контроллеров, втом числе, ATtinyl5, ATmega8515, PIC16F628, PIC16F876A. К счастью, применяемая в SKit микросхема ATmega48A в их число не входит.

Реальная работа

После программирования MK надо кратковременно нажать и отпустить кнопку сброса SB2 SKit. Далее следует нажать кнопку SB1 и убедиться, что светодиод HL1 начал светиться. На глаз кажется, что отклик происходит мгновенно, но только программист знает о микроскопической задержке в несколько сотен наносекунд, которая была выявлена на этапе моделирования в программе VMLab.

Если светодиод на нажатие кнопки не реагирует и все детали SKit исправны, то возможной причиной неисправности может быть постоянно НИЗКИЙ уровень сигнала «RES», оставшийся после завершения работы оболочки программирования. Выйти из положения помогает расстыковка компьютерного кабеля.

Источник: Рюмик, С. М., 1000 и одна микроконтроллерная схема. Вып. 2 / С. М. Рюмик. — М.:ЛР Додэка-ХХ1, 2011. — 400 с.: ил. + CD. — (Серия «Программируемые системы»).

AVR USB программатор USBasp — chipenable.ru

В интернете много схем USB программаторов для микроконтроллеров AVR. Все их можно разделить на три группы: программаторы на основе микроконтроллеров AVR, в которых USB интерфейс реализован программно, программаторы на основе микроконтроллеров AVR с аппаратной поддержкой USB, и программаторы на основе микросхем FT232, которые работают в режиме BitBang.

Один из наиболее простых для повторения AVR USB программаторов – это USBasp. Он собран на микроконтроллере Atmega8 (или Atmega48), требует минимум внешних компонентов, имеет несколько готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS.

Правда есть одно НО! Для оживления этого программатора в микроконтроллер нужно записать прошивку, а значит, у вас уже должен быть какой-то работающий AVR программатор или хотя бы возможность его где-то взять.

Схема программатора USBasp представлена на рисунке ниже. Я взял за основу схему с сайта автора http://www.fischl.de/usbasp и немного изменил ee. Были добавлены диоды VD1 — VD3, чтобы уменьшить напряжение питания и согласовать логические уровни микроконтроллера и USB порта без стабилитронов. Были выкинуты цепи подключенные к UART`у, так как они не использовались, и добавлен джампер JP1.


Расскажу о назначении светодиодов и джамперов. 


— HL1 сигнализирует о том, что идет процесс программирования. Он зажигается на время записи прошивки.

— HL2 показывает, что программатор находится в рабочем состоянии. Он зажигается при подаче питания.

— JP1 закорачивает цепочку из диодов, что позволяет изменять напряжение на разъеме программирования с 3 на 5 В. Однако без стабилитронов это прокатит не со всеми компьютерами. Многие компы не опознают USBASP, если у него 5-и вольтовые логические уровни.

— JP2 изменяет частоту SCK сигнала. При разомкнутом джампере частота SCK будет 375 кГц, при замкнутом — 8 кГц. Это требуется для программирования микроконтроллеров с низкой тактовой частотой (меньше 1.5 МГц).

— JP3 подключает вывод RESET к разъему программирования. Это нужно для того, чтобы запрограммировать сам микроконтроллер программатора.

— JP4 подключает к разъему программирования +5В от USB порта. Эта функция может понадобиться, чтобы запитать программируемую плату от программатора.

Для сборки программатора USBASP понадобятся следующие компоненты:


Изготовление платы методом ЛУТа не представляет особых сложностей — плата односторонняя, дорожки широкие. При печати не надо зеркалить рисунок платы. 


После сборки платы ее нужно тщательно проверить на предмет замыканий. Особенно по цепям питания. Если все в порядке, то можно записать в микроконтроллер прошивку. Ее можно в конце статьи. На сегодняшний день это самая последняя версия, но на всякий случай загляните на сайт автора. 


Запрограммировать микроконтроллер можно прямо в составе платы. Для этого нужно замкнуть джампер JP3 и JP4, подключить USBasp к компьютеру для подачи питания и подключить программатор к разъему BH-10. Остальные действия зависят от того, какой программатор вы используете.

После того как микроконтроллер запрограммирован, нужно настроить Fuse биты, чтобы он тактировался от внешнего кварцевого резонатора. Значения Fuse битов такие:

atmega8 HFUSE=0xc9 LFUSE=0xef
atmega88 HFUSE=0xdd LFUSE=0xff

Я прошивал USBASP родным атмеловским программатором. У меня в Atmel Studio окно с Fuse битами выглядело так. 


Если прошивать USBasp программатором на FT232, то в SinaProg изображение Fuse битов будет таким. 


Разницы никакой, так что не задавайте вопросы какие Fuse биты установить.

Для работы с программатором под Windows требуется установить драйвера. Их можно скачать с сайта автора. Для операционных систем Linux и MacOS X USBasp`у драйвера не требуется.

Подключаем собранный и запрограммированный USBasp к компьютеру. Операционная система оповестит нас о нахождении нового оборудовании и предложит установить драйвера.


Выбираем опцию —  установить из указанного места
Указываем папку в которой лежат драйвера для программатора.
Система немного потупит, а затем начнется процесс установки.
Если все прошло удачно, мастер оборудования завершит работу. 
А Windows оповестит нас об установке нового оборудования
Теперь программатором можно пользоваться.

Описанная процедура может немного отличаться в зависимости от версии операционной системы, но суть одна — подсунуть драйвера из папки.

Для работы с USBasp`ом есть несколько программ — avrdude, eXtremeBurner, Khazama и.. какие то еще.

На мой взгляд наиболее удобная в использование программа для USBaspa — это Khazama. Она имеет простой и интуитивно понятный оконный интерфейс. Процесс программирования микроконтроллера выполняется в три шага.

 


Программирование EEPROM (память предварительно должна быть стерта) выполняется аналогичным образом.
В меню Command  > Program Options можно задать настройки программы. В частности, набор операций, которые будут выполняться при нажатии на кнопку Auto Program. По умолчанию там задано стирание чипа и запись во флэш память. Можно также выбрать запись в EEPROM и верификацию (проверку данных после записи).

С помощью Khazama также можно  устанавливать FUSE биты



Все операции можно выполнять как с помощью меню, так и с помощью меню бара. Также есть удобная опция AutoProgram.
1 — загрузить в буфер прошивку для Flash памяти
2 —  загрузить в буфер прошивку для EPROM памяти
3 — записать прошивку во Flash память
4 — записать прошивку в EPROM память
5 — прочитать Flash память
6 — прочитать EPROM память
7 — стереть кристал
8 — установка FUSE и LOCK биты
9 — установить Khazama поверх всех окон

 

Схема и печатная плата USBasp в формате Eagle
Win драйвер и прошивка USBasp
KhazamaAVRProgrammer

20+ альтернатив рабочему столу Unity

Рассмотрим альтернативы десктоп оболочки Unity, используемой в Ubuntu по умолчанию. Главное внимание стоит уделить первым восьми из списка, так как они предоставляют полноценный традиционный графический интерфейс, а последующие или используются в первых в качестве оконных менеджеров или могут быть также запущены, как самостоятельные сессии.

1. GNOME Shell

Это десктоп оболочка, идущая по умолчанию с третьей версией GNOME.

Для её установки надо выполнить следующую команду в терминале:

sudo apt-get install gnome-shell

2. KDE

Один из самых известных и популярных рабочих столов, за базу, для которого были взяты библиотеки Qt. Попробовать его можно установив дистрибутив Kubuntu или выполнив в терминале команду:

sudo apt-get install --no-install-recommends kubuntu-desktop

3. Xfce

Легковесное рабочее окружение, ориентированное на повышение производительности за счет экономии системных ресурсов, что позволяет не грузить систему лишними процессами, а полностью сконцентрироваться на выполняемых приложениях. Xfce основан на базе GTK+ 2 и использует собственный менеджер окон Xfwm.

Установить можно командой ниже или скачав специальный дистрибутив Xubuntu.

sudo apt-get install xfce4

4. LXDE

Ещё одна быстрая, полноценная среда рабочего стола, которая ещё менее требовательна, чем рассмотренная выше XFCE, поэтому она будет идеальна для установки на устаревших и маломощных системах. В качестве оконного менеджера используется Openbox.

Для LXDE также существует специальная редакция под названием Lubuntu.

sudo apt-get install lxde

5. Cinnamon

Cinnamon – десктоп оболочка, ответвившаяся от GNOME Shell. Её особенностью является то, что она использует различные классические компоненты GNOME (панель задач, главное меню), при этом стараясь их полностью интегрировать в рабочую среду, для улучшения производительности работы.

Используется в таком популярном дистрибутиве, как Linux Mint.

sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable  
sudo apt-get update  
sudo apt-get install cinnamon

6. Mate

Форк, созданный для сохранения кодовой базы рабочего стола GNOME 2 и включающий все традиционные компоненты. Главной особенностью является то, что он прекрасно устанавливается на систему с GNOME 3, не нарушая его работу.

Установка Mate

sudo add-apt-repository "deb http://packages.mate-desktop.org/repo/ubuntu quantal main"
sudo apt-get update  
sudo apt-get install mate-archive-keyring mate-desktop-environment

7. E17

Enlightenment — оконный менеджер, представляющий из себя почти полноценную среду рабочего стола. Среди достоинств можно выделить небольшой размер, высокую производительность, поддержку русского языка и возможность детальной настройки оформления (темы, обои, значки).

sudo apt-add-repository ppa:hannes-janetzek/enlightenment-svn  
sudo apt-get update  
sudo apt-get install e17

8. Razor-qt

Razor-qt – быстрое, дружелюбное десктоп окружение, как и KDE основанное на базе библиотек QT, поэтому может использовать в своей основе различные компоненты (например, темы).

sudo add-apt-repository ppa:razor-qt  
sudo apt-get update  
sudo apt-get install razorqt

Дальше будут рассмотрены оконные менеджеры X Window System, которые также могут использоваться, как отдельные сессии.

9. WindowMaker

Простой, легко настраиваемый оконный менеджер.

sudo apt-get install wmaker

10. Fluxbox

Простой и минималистичный менеджер на базе Blackbox.

Что стоит отметить: поддержка группировки окон, панель инструментов, смена рабочих столов прокруткой мыши, поддержка KDE и GNOME.

sudo apt-get install fluxbox

11. Blackbox

Blackbox — менеджер, ориентированный на пользователей, предпочитающих быстрое и простое графическое окружение.

sudo apt-get install blackbox

12. Openbox

Легковесный WM, используемый в LXDE по умолчанию. При установке также интегрируется с множеством других рабочих столов.

sudo apt-get install openbox

13. jwm

Оконный менеджер написанный на языке программирования СИ.

sudo apt-get install jwm

14. IceWM

Рабочее окружение разрабатываемое с 1997 года на языке C++.

sudo apt-get install icewm

15. fvwm

Оконный менеджер, позволяющий настроить различные параметры управления окнами под свои личные предпочтения.

Страница в русскоязычной wiki.

sudo apt-get install fvwm

Далее идут фреймовые или тайлинговые оконные менеджеры, отличительной чертой которых является разбивка экрана на фреймы, в отличие от традиционных рабочих окружений создающих области по координатам. Среди других особенностей, кроме как задействования всего свободного пространства, является ориентация на работу с клавиатуры, без использования мыши, за счет развитой системы горячих клавиш.

В общем это хардкордные WM, ориентированные на продвинутых пользователей. Их очень много, рассмотрим наиболее известные из них, такие как i3, ratpoison, xmonad, awesome, dwm и wmii.

16. Xmonad

WM, написанный на функциональном языке программирования Haskell.

Установка Xmonad

sudo apt-get install xmonad xmobar suckless-tools

Вводная информация на русском и английском.

17. Awesome WM

Тайлинговая WM особенностью, которой также является работа в композитном режиме. Конфигурация и плагины написаны на языке программирования Lua.

Установка Awesome

sudo apt-get install awesome

18. i3

Среди достоинств этого окружения стоит выделить: информационную панель (уровень Wi-Fi сети, заряд батарей), корректная поддержка нескольких мониторов и в отличие от awesome настройки хранятся в обычном текстовом файле.

Почитать об i3 можно тут.

 

Установка

sudo apt-get install i3

19. Ratpoison

Ratpoison (крысиный яд) – очень минималистичный фреймовый оконный менеджер, где все управление идёт только через клавиатуру.

sudo apt-get install i3 ratpoison

После установки не добавляется в меню выбора дисплейного менеджера.

Для решения проблемы заходим в nautilus с правами администратора, выполнив в терминале:

gksu nautilus

И создаем файл:

/usr/share/xsessions/ratpoison.desktop

С содержанием:

[Desktop Entry]
Name=Ratpoison
Comment=This session logs you into Ratpoison
Exec=/usr/bin/ratpoison
TryExec=/usr/bin/ratpoison
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=ratpoison-session

Почитать, как работать с Ratpoison можно тут.

20. DWM

DWM — динамический менеджер написанный на C.

Статья о dwm на русском.

sudo apt-get install dwm

21. wmii

Его особенностью является то, что новые созданные окна полностью перекрывают предыдущие, оставляя лишь тонкие полоски с выводом названия до этого запущенных приложений.

Документация доступна здесь.

sudo apt-get install wmii

Ещё стоит упомянуть тайлинговый WM Ion, также доступный из репозитория, но не представленный отдельной сессией.

22. Pantheon

Это ещё одна сессия на базе GNOME 3, разрабатываемая для производного от Ubuntu дистрибутива Elementary OS. Плюсами этого рабочего стола является тщательная проработка интерфейса и уделение большого внимания деталям.

К сожалению, она не представлена отдельным пакетом, поэтому её можно установить только вместе с самим дистрибутивом.

Скачать последнюю разрабатываемую версию Elementary OS Luna (первая бета) можно тут.

Тем не менее, возможность инсталляции в Ubuntu всё же имеется, но только из тестового PPA, в котором могут и хранятся крайне не стабильные версии пакетов.

sudo add-apt-repository ppa:elementary-os/daily 
sudo apt-get update 
sudo apt-get install elementary-desktop

[avr-chat] GUI-оболочка для avrdude

Введение

Назначение и использование

Концепция реализации

Предупреждения

Выбор выходных сообщений avrdude для перехвата

Открытие и закрытие сеансов avrdude

Открыть проблемы

Реализация, настройка

Наличие программного обеспечения

Установка и исполнение

Настройка

Файлы

Текущий статус клиентской части, внешний вид

Отладка состояние, техническое обслуживание

Введение

Назначение и использование

Эта программа представляет собой интерфейсную утилиту что действует как графический интерфейс пользователя для avrdude.В графическом интерфейсе используется кнопка хиты, пункты меню и т. д. для составления и отправки команды строки и интерактивные команды для avrdude. Все выходные линии avrdude возвращается в ответ на эти команды, и операторы перехватываются со стороны интерфейса: интерфейс (1) копирует необработанный вывод в окно монитора, и (2) он извлекает всю информацию, которая имеет отношение для восприятия клиентом состояния avrdude и детали.

Вышеупомянутое окно монитора важно компонент внешнего интерфейса: он ведет себя как консоль только для записи эмулятор, записывающий каждую строку, отправляемую и получаемую от avrdude.Он предоставляет пользователю информацию, идентичную что он увидел бы при использовании avrdude без внешнего интерфейса. Этот предоставляет пользователю максимум информации и позволяет уменьшить информацию, которая должна обрабатываться и представляться графическим интерфейсом пользователя, до минимум.

Концепция реализации

Avrdude и интерфейсный графический интерфейс работают в параллельно они общаются друг с другом через трубу (труба устанавливается запуском avrdude с командой «spawn» of «expect»): avrdude практически «скрыт» за передком.Реализация фронтенда не использовать любую из библиотек avr; однако он использует файл avrdude.conf для создания меню, которое предлагает графический интерфейс для выбора детали и программисту, а также для определения подходящего порта на сервер.

Использовалась первая версия фронтенда. проще стратегия реализации параллелизма между avrdude и внешний интерфейс: avrdude был просто открыт с помощью конвейерного «open» команда, чтение входных строк было инициировано «fileevent».У этого подхода было то преимущество, что ожидаемое расширение не было нужный. Однако fileevent не работает в текущей Windows. реализации Tcl / Tk — основанные на «ожидании» реализация — это обходной путь для этой проблемы.

Эта концепция использования независимого интерфейсный графический интерфейс прост, очень легко и быстро внедряется. Однако это далеко от идеала: интеграция графического интерфейса в сам avrdude была бы предпочтительнее — фактически, сейчас он рассматривается. Интерфейс был реализован с целью предоставления немедленного доступное решение для ограниченного набора сценариев использования.это реализован как набор модулей Tcl / Tk, в настоящее время в основном тестируемых и отлажен на платформе Linux (Mandriva). Он должен работать без проблемы с любым другим дистрибутивом Linux. Перенос на Windows и Макинтош должен быть очень простым — одна из сильных сторон Tcl / Tk. Наличие Tcl / Tk с установленным расширением Expect было бы единственным предварительное условие помимо Avrdude.

Параллелизм между Аврдуде и фронтенд был определенным вызовом для реализации: это важно, что avrdude вызывается только один раз — например, быстрая последовательность нажатия кнопок шага адреса должна только запускать вызовы avrdude, когда предыдущее выполнение было прекращено.Соответствующий запорный механизм просто состоит из блокирование всех кнопок панели и событий мыши, пока avrdude все еще работающий. Для пакетных сеансов (вызовы командной строки -U) это означает блокировку графический интерфейс до завершения сеанса; интерактивные звонки разблокируют GUI, как только интерактивный сеанс запускает запрос ввода и пока не будет отправлена ​​новая интерактивная команда.

Фронтенд открывает и закрывает avrdude сессий как необходимо в ответ на действия пользователя — что может иметь отрицательные последствия на время отклика.Мой первоначальный опыт использования jtagMKII и программатор stk500v2, подключенный к последовательному порту Настольный компьютер Pentium 4 с тактовой частотой 1,8 ГГц, не выявил каких-либо серьезных проблем с этим Добрый. Сообщается, что подключения через USB медленные, когда сеансы открыт — в этом случае время отклика может быть медленным.

Графический интерфейс предлагает доступ только к подмножеству принадлежащий функции avrdude. Выбор этих функций сделан с учетом повседневных действий пользователей — обычно тех, которые пользователь с ограниченным опытом ожидает поддержки простой программы задачи развития.В результате пользовательский интерфейс может быть простым. и проста в использовании — и усилия по внедрению остаются небольшими.

Аналогичное соображение применяется к решение о какие выходные строки avrdude перехватывать во внешнем интерфейсе: только те обнаруживаются линии и принимаются меры, необходимые для поддержания интерфейс в состоянии, которое соответствует состоянию avrdude и части — обычно перехват сообщений, которые приходят, когда avrdude был запущен с неадекватными параметрами (например,грамм. неверный программатор, часть или скорость порта). В качестве «роскошного» дополнения результат операций проверки обнаруживается и транслируется в отображение всплывающего окна с надписью «проверка в порядке» или «проверка не удалась …».

Предупреждения

Выбор выходных сообщений avrdude для перехвата

Это наверное самый «некрасивый» аспект реализации этого внешнего графического интерфейса: интерфейс должен контролировать вывод, отправленный от avrdude, и обнаруживать прибытие сообщения, требующие особого внимания — например, сообщения, указывающие на необходимость закрытия сеанса, запускают всплывающее предупреждение пользователю и т. д.Но точный текст сообщения, которые должны быть перехвачены, могут быть обнаружены только эмпирически.

Из-за ограничения, что я только мог бы сделать тесты с программистами и запчастями, которые у меня есть, вполне вероятно, что непредвиденные и дополнительные сообщения, требующие перехвата, будут появляются, когда интерфейс используется в другом месте, и соответствующие исправления нужно будет применить.

Обратитесь к модулю «Monitor.tcl» (процедуры MonitorCommand и MonitorAction для получения информации о конкретных правил перехвата, модуль содержит подробные комментарии для каждое правило.

Открытие и закрытие сеансов avrdude

Важно, чтобы сеансы один раз открыты, являются также правильно завершены снова — в противном случае регистры ЦП могут быть осталось в состоянии, которое не соответствует тому, что было у пользователя предназначен для установки. Такая ситуация не характерна для использования интерфейсный графический интерфейс, он также может появиться, если обычный сеанс avrdude не завершен должным образом, или если параллельные сеансы avrdude открыт. Однако наличие внешнего интерфейса добавляет дополнительный слой, где что-то может пойти не так.

Доступны два механизма для снижение риска несогласованного завершения сеанса: (1) интерфейс перехватывает сообщения от avrdude, которые указывают на ситуацию, приводящую к неочищенному завершение, и (2) он «ловит» события завершения, такие как как нажатие кнопки закрытия панели окна или сигналы Unix.

Как упоминалось выше, (1) нельзя положить на месте в вполне удовлетворительный способ. Учитывая (2), сигнал SIGKILL не могут и не должны быть пойманы, SIGINT и SIGTERM улавливаются и проведена вся необходимая уборка; закрытие главного окна с помощью кнопка закрытия панели окна поймано, и возможно открытый сеанс avrdude должным образом закрывается перед Выключение.

Ловля SIGINT и SIGTERM могут иметь неудобный побочный эффект, если программа tcl breaks: может оказаться трудным убить сломанный интерпретатор. Как предосторожности, я закомментировал команду «trap» в модуле MainPanel, которая временно не перехватывает SIGINT и SIGTERM.

Этот комментарий необходимо отбросить, если что-то стабильный !! (о линии 100 — искать «ловушку» или SIGINT)

В случай или трудности с завершением работы программы после ее поломки: если окно отображается, самый простой способ — сбросить бомбу xkill; в противном случае сделайте «ps -A | grep tclsh», а затем «kill -9 »

В текущем выпуске сеансы закрыто как как можно реже, чтобы не ухудшить качество ответа время (не дожидайтесь начала новых сеансов).Эта стратегия оптимизирует время отклика, но увеличивает риск потери ЦП регистрируется в несогласованном состоянии. Опыт покажет, сможет ли изменение стратегии необходимо — например, сеанс может быть закрывается каждый раз, когда пользователь изменяет регистр ЦП.

Открыть проблемы

В текущей версии (1.0.1-2), несколько клиентские сеансы могут быть открыты на одном и том же порте. С avrdude сеансы открываются динамически, что может привести к серьезным проблемам.А механизм блокировки для конкретного порта будет введен в будущем версия.

Кнопка «поднять окно монитора» не не всегда работают должным образом. Это может быть проблема, специфичная для текущая версия Tcl / Tk или, что более вероятно, ее реализация на платформе Mandriva (tcl-8.4.14-1).

Внедрение, настройка

Наличие программного обеспечения

Это программное обеспечение доступно под Общедоступный GNU лицензия со всеми применимыми ограничениями и обязательствами.Это существует как tarball и как rpm-пакет (Mandriva), доступный для загрузки (около 300 Кбайт) в настоящее время

http://cui.unige.ch/~harms/Download/

Необходимое программное обеспечение:

  • исполняемый файл avrdude,

  • файл avrdude.conf (он должен быть в каталоге / etc, где avrdude исполняемый файл находится в / bin / avrdude — в моей системе находится в / usr / local / avr),

  • Tcl / Tk, версия 8.4

  • ожидаемое расширение Tcl

Tcl, Tk и expect доступны как пакеты для практически все дистрибутивы Linux. Альтернатива — и хорошее решение для систем Windows — получить их с сайта ActiveState

http://www.activestate.com/store/activetcl/download/

Упакованная версия Tcl там же содержит Tk и ожидайте.

Установка и исполнение

Все, что вам нужно сделать для установки, — это распаковать tarball в каталог и сделать основной скрипт (модуль avrgui.tcl) исполняемый файл. Вам также необходимо определить «БРАУЗЕР» переменная окружения (см. настройку ниже) — если вы этого не сделаете, все, кроме кнопки «Справка», будет работать нормально. Для выполнения вызовите основной сценарий.

Настройка

Есть важная проблема в поиске а браузер — необходим для отображения файла справки. В Unix интерфейс ожидает переменная среды «BROWSER», которую необходимо определить, ее ценность быть путь исполняемый файл браузера. Если это не определено, просто добавьте его в свой environment и определите значение как путь к предпочтительному браузеру.В Windows, по крайней мере, на данный момент, такое же решение держит: заходим в Настройки -> Система -> Дополнительно -> Окружающая среда и определите переменную BROWSER как путь к вашему браузеру; В качестве примера: Я использую «Mozilla Firefox» и нашел путь, выполнив поиск исполняемый файл с именем firefox (например, C: \ Program Файлы: \ Mozilla Firefox \ firefox; для Internet Explorer I иметь C: \ Program Files: \ Internet Explorer \ EXPLORE.EXE).

Все важные настройки и настройка параметры определены в модуле «Параметры.tcl «(» библиотека » каталог). Но не должно быть необходимости изменять какой-либо параметр на получить интерфейсную часть.

Файлы
  • avrdude.conf

    Это файл конфигурации, в котором avrdude определяет все части, программистов и т. д. Внешний интерфейс использует этот файл для инициализации вариантов, предлагаемых в различные меню. В Unix этот файл находится по адресу <каталог_библиотеки> /etc/avrdude.conf, где <каталог_библиотеки> / bin / avrdude — это avrdude исполняемый файл.В Windows avrdude.conf находится рядом с исполняемым файлом.

  • .avrguirc

    Это пользователь файл конфигурации, в котором сохраняются все настраиваемые пользователем параметры между сессиями фронтенда. Это пишется при завершении сеанса (если установлен соответствующий флажок выбран), он читается при запуске нового сеанса. Сначала Unix выглядит для файла .avrguirc в каталоге, в котором запущен сеанс, в противном случае он пробует домашний каталог.

  • tcl скрипты
    основной скрипт avrgui.tcl, все модули находятся в каталоге библиотеки; скрипты все требуется наличие HELP.html и журнала изменений

Текущее состояние клиентской части, Outlook

Состояние отладки, обслуживание

Я тестировал и использовал интерфейс на мой Платформа Mandriva Linux с использованием программатора stk500v2 и jtagMKII, с частями ATmega8, ATmega16 и ATmega32. Это работает в полной мере удовлетворение, и я считаю, что моя работа по развитию продвигается дальше быстрее, чем когда я использую avrdude из командной строки.Минимальный сценарий в будущем я поддерживаю интерфейс в хорошем рабочем состоянии для мое собственное использование до лучшего решения для запуска avrdude с графическим интерфейсом становится доступным.

Интерфейс был адаптирован, чтобы исполнение на платформе Windows. Это работает довольно хорошо, но еще немного отладки требуется для этой среды. Сейчас я сконцентрируюсь на исправление / улучшение интерфейса на платформах Linux.

Если другие пользователи сочтут это стоящим проверить и использовать этот интерфейс, я обязуюсь выполнить необходимое обслуживание и разработка.Я не ожидаю каких-либо проблем с запуском интерфейса на другие дистрибутивы Linux / Unix, но я ожидаю сюрпризов, как только другие части и другие программисты начинают привыкать (из-за появление дополнительных выходных сообщений от avrdude, которые необходимо перехвачено) — и некоторые простые ошибки, безусловно, также будут отображаться вверх. Однако вполне реально предположить, что я смогу исправить эти проблемы в короткие сроки. Обратная связь <адрес @ скрытый>, пожалуйста. Также должно быть легко обсуждать и улучшить выбор и представление функций avrdude, которые предлагается в интерфейсе GUI — будет определено через личку или какой-то адекватный список.

Это программное обеспечение и его обслуживание следует переместить вдали от моей частной среды в лучшую организационную фон, когда его используют другие. В настоящее время исходный код хранится в моем личном разделе веб-сайта моего отдела, см. «доступность программного обеспечения».

vickash / avrdude-scp — Giters

# avrdude-scp

Оболочка сценария оболочки для avrdude и scp , которая автоматизирует шаги для копирования скомпилированного файла .hex на удаленный компьютер и загрузки его в Arduino / AVR, подключенный к этой машине.Полезно для обновления кода на Arduinos, подключенном к маршрутизаторам OpenWrt, Raspberry Pis или любой другой машине * nix.

Остальные функции avrdude тоже должны работать.

Требования

  • SSH-доступ к удаленному компьютеру
  • avrdude установлен на удаленной машине
  • Микроконтроллер Arduino / AVR, подключенный к удаленной машине
  • Скомпилированный шестнадцатеричный файл на локальном компьютере

Использование

Работает так же, как avrdude , за исключением того, что параметр -P может принимать путь в стиле scp, например [защита электронной почты]: / dev / device_to_flash .

Параметр --retry N может быть дан avrdude-scp, чтобы повторить запрошенную команду N раз, прежде чем отказаться и удалить образ с удаленного хоста.

Дополнительные команды можно запускать до и после выполнения avrdude с параметрами --pre и --post . Несколько команд могут быть выполнены, если они разделены точкой с запятой. Это можно использовать для остановки и перезапуска процессов, взаимодействующих с микроконтроллером через последовательный порт программатора.

Примеры

Загрузите локальный файл «blink.hex» в Arduino UNO, подключенный к Raspberry Pi по сети:

 avrdude-scp -V -F -c arduino -p m328p -P [защита электронной почты]: / dev / ttyACM0 -U flash: w: blink.hex 

Дамп флэш-памяти удаленного UNO в локальный файл «dump.hex»:

 avrdude-scp -V -F -c arduino -p m328p -P [защита электронной почты]: / dev / ttyACM0 -U flash: r: dump.hex: r 

Повторите команду averdude 3 раза, если она не удалась:

 avrdude-scp -V -F -c arduino -p m328p -P [защита электронной почты]: / dev / ttyACM0 -U flash: w: blink.шестнадцатеричный - retry 3 

Выполнение команды на удаленном хосте до и после avrdude:

 avrdude-scp -V -F -c arduino -p m328p -P [защита электронной почты]: / dev / ttyACM0 -U flash: r: dump.hex: r --pre "date; ls -l" --post date 

Примечание : Параметр -U работает с локальными путями к файлам, а не с файлами на удаленном компьютере. Скрипт выполняет копирование и очистку.

[avr-chat] GUI-оболочка для avrdude


> ----- Исходное сообщение -----
> От: [EMAIL PROTECTED]
> [mailto: [ЭЛЕКТРОННАЯ ПОЧТА ЗАЩИЩЕНА]
> От имени Юргена Хармса
> Отправлено: суббота, 25 августа 2007 г., 6:57
> Кому: avr-chat
> Тема: [avr-chat] GUI-оболочка для avrdude
>
> Спасибо за отзыв.У меня были проблемы с уменьшением наводнения
> результаты поиска в Google к чему-то разумному, и ваши указатели
> очень полезно.
>
> Что касается упомянутых вами критериев (избегайте дублирования того, что
> avrdude уже
> думает об обслуживании, заботится об интеграции в
> аврдуде
> дерево и поддерживаемые платформы) полностью согласен - но я далеко
> вдали от
> мышление "продукт": я пытаюсь понять, что
> существует, сколько
> ощущение, что интерфейс GUI дает пользователю (не только пользователям
> с обученными
> синапсов в их пальцах, а также случайных пользователей, которые
> страдать от плохого
> память), и - следовательно - есть ли смысл в
> учитывая
> приложи усилие.>
> Сейчас покопаюсь в документах - вернусь к списку, если
> После этого я еще кое-что могу сказать ;-) 

Я постоянно думаю о «продукте». Интерфейс GUI делает абсолютным
смысл и был нужен в течение * лет *.

- AVR Studio добилась большого успеха, упростив его для одностороннего
пользователь, для программирования предохранителей, в основном через подробное описание настроек
- Слабым местом AVR Studio было массовое программирование устройств, и
воспроизводимость. * Всегда * установка предохранителей графически чревата ошибками.Этот
это то место, где avrdude выделяется, потому что его можно использовать в пакетном режиме из
командная строка и особенно от "make".
- Исторически существовал разрыв между тем, как интерфейс GUI
обрабатывает настройки, с отмеченными полями для отдельных настроек, и как
командная строка обрабатывает байты, представленные в шестнадцатеричном формате.

Дело в том, что ОБЕ методы нужны по очень разным причинам. Графический интерфейс
упрощает задачу для начинающего пользователя. Командная строка упрощает
продвинутый пользователь.Оба метода НЕ исключают друг друга. Оба метода
необходимо, чтобы предоставить пользователю мощный инструмент.

Настоящий вопрос на столе в том, как это реализовать при принятии
критерии кроссплатформенного графического интерфейса? Сейчас это настоящая техническая проблема.
Вот одна идея: Java. Честно говоря, я не большой поклонник Java, в основном
потому что пользователю нужно загрузить большую JVM, чтобы запустить простой
программа. Одна альтернатива - написать графический интерфейс на Java, но скомпилировать его.
используя GCC (компилятор GCJ), который также может напрямую компилироваться в собственный код,
не только байт-код.Оставьте дистрибьюторам решать, следует ли
компилировать в собственный код (создавая исполняемые файлы) или компилировать в байт
код. Это оставляет его открытым для возможного включения этого в плагин для
Затмение.

Я понимаю, что это всего лишь одна идея. Я, конечно, открыт для других идей.

Эрик Веддингтон




_______________________________________________
Список рассылки AVR-чата
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-chat
 

Что такое avrdudewrapper.exe? Это безопасно или вирус? Как удалить или исправить

Что такое avrdudewrapper.исполняемый?

avrdudewrapper.exe — это исполняемый файл, который является частью программы MegunoLink Pro , разработанной Blue Leaf Software Limited . Программное обеспечение обычно имеет размер 3.77 МБ .

Расширение .exe имени файла отображает исполняемый файл. В некоторых случаях исполняемые файлы могут повредить ваш компьютер. Прочтите следующее, чтобы решить для себя, является ли файл avrdudewrapper.exe на вашем компьютере вирусом или троянским конем, который вам следует удалить, или это действительный файл операционной системы Windows или надежное приложение.

Рекомендуется: Выявление ошибок, связанных с avrdudewrapper.exe
(дополнительное предложение для Reimage — Веб-сайт | Лицензионное соглашение | Политика конфиденциальности | Удалить)

Является ли avrdudewrapper.exe безопасным или это вирус или вредоносная программа?

Первое, что поможет вам определить, является ли конкретный файл законным процессом Windows или вирусом, — это расположение самого исполняемого файла. Например, такой процесс, как avrdudewrapper.exe должен запускаться, а не где-либо еще.

Для подтверждения откройте диспетчер задач, выберите «Просмотр» -> «Выбрать столбцы» и выберите «Имя пути к изображению», чтобы добавить столбец местоположения в диспетчер задач. Если вы обнаружите здесь подозрительный каталог, возможно, стоит дополнительно изучить этот процесс.

Еще один инструмент, который иногда может помочь вам обнаружить плохие процессы, — это Microsoft Process Explorer. Запустите программу (не требует установки) и активируйте «Проверить легенды» в разделе «Параметры».Теперь перейдите в View -> Select Columns и добавьте «Verified Signer» в качестве одного из столбцов.

Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно подтвердить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.

Самые важные факты о avrdudewrapper.exe:

  • Находится в C: \ Program Files \ megunolink pro \ libraries \ arduino \ utility подпапка;
  • Издатель: Blue Leaf Software Limited
  • Полный путь:
  • Файл справки: www.MegunoLink.com/Support/Contact.php
  • URL издателя: www.MegunoLink.com
  • Известно, что размер до 3,77 МБ в большинстве Windows;

Если у вас возникли какие-либо трудности с этим исполняемым файлом, перед удалением avrdudewrapper.exe вы должны определить, заслуживает ли он доверия. Для этого найдите этот процесс в диспетчере задач.

Найдите его местоположение (оно должно быть в C: \ Program Files \ megunolink pro \ libraries \ arduino \ utility) и сравните его размер с приведенными выше фактами.

Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться исправить это. Чтобы удалить вирус avrdudewrapper.exe, вам необходимо загрузить и установить приложение полной безопасности, например Malwarebytes . Обратите внимание, что не все инструменты могут обнаруживать все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.

Кроме того, на удаление avrdudewrapper.exe могут повлиять функциональные возможности вируса. В этом случае необходимо включить Safe Mode with Networking — безопасную среду, которая отключает большинство процессов и загружает только самые необходимые службы и драйверы.Находясь там, вы можете запустить программу безопасности и выполнить полный анализ системы .

Могу ли я удалить avrdudewrapper.exe?

Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Обязательно обновляйте свое программное обеспечение и программы, чтобы в будущем избежать проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, чаще проверяйте обновления драйверов и программного обеспечения, поэтому риск возникновения таких проблем минимален или отсутствует.

Согласно различным источникам в Интернете, 7% людей удаляют этот файл, поэтому он может быть безвредным , но рекомендуется проверить надежность этого исполняемого файла самостоятельно, чтобы определить, является ли он безопасным или вирусом. Лучшая диагностика этих подозрительных файлов — это полный анализ системы с помощью Reimage . Если файл классифицируется как вредоносный, эти приложения также удалят avrdudewrapper.exe и избавятся от связанного вредоносного ПО.

Однако, если это не вирус, и вам необходимо удалить avrdudewrapper.exe, то вы можете удалить MegunoLink Pro со своего компьютера с помощью программы удаления, которая должна находиться по адресу: MsiExec.exe / X {3D6096D5-1952-4343-B84A-C54078D63135}. Если вы не можете найти его деинсталлятор, вам может потребоваться удалить MegunoLink Pro, чтобы полностью удалить avrdudewrapper.exe. Вы можете использовать функцию «Добавить / удалить программу» в Панели управления Windows.

  • 1. В меню «Пуск» (в Windows 8 щелкните правой кнопкой мыши нижний левый угол экрана), щелкните «Панель управления » , а затем в разделе «Программы » :
    o Windows Vista / 7/8.1/10: Щелкните Удаление программы .
    o Windows XP: щелкните «Установка и удаление программ» .
  • 2. Когда вы найдете программу MegunoLink Pro , щелкните ее, а затем:
    o Windows Vista / 7 / 8.1 / 10: нажмите Удалить .
    o Windows XP: щелкните вкладку Remove или Change / Remove (справа от программы).
  • 3. Следуйте инструкциям по удалению MegunoLink Pro .

Распространенные сообщения об ошибках avrdudewrapper.exe

Наиболее распространенные ошибки avrdudewrapper.exe, которые могут возникнуть:


• «Ошибка приложения avrdudewrapper.exe.»
• «Ошибка avrdudewrapper.exe».
• «avrdudewrapper.exe столкнулся с проблемой и должен быть закрыт. Приносим извинения за неудобства».
• «avrdudewrapper.exe не является допустимым приложением Win32».
• «avrdudewrapper.exe не запущен «.
• «avrdudewrapper.exe не найден».
• «Не удается найти avrdudewrapper.exe.»
• «Ошибка запуска программы: avrdudewrapper.exe.»
• «Неверный путь к приложению: avrdudewrapper.exe.»

Эти сообщения об ошибках .exe могут появляться во время установки программы, во время выполнения связанной с ней программы MegunoLink Pro, при запуске или завершении работы Windows или даже во время установки операционной системы Windows.Отслеживание момента появления ошибки avrdudewrapper.exe является важной информацией, когда дело доходит до устранения неполадок.

Как исправить avrdudewrapper.exe

Чистый и аккуратный компьютер — один из лучших способов избежать проблем с MegunoLink Pro. Это означает выполнение сканирования на наличие вредоносных программ, очистку жесткого диска с помощью cleanmgr и sfc / scannow , удаление программ, которые вам больше не нужны, мониторинг любых программ автозапуска (с помощью msconfig) и включение автоматических обновлений Windows.Не забывайте всегда делать регулярные резервные копии или хотя бы определять точки восстановления.

Если у вас есть более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Используйте команду resmon , чтобы определить процессы, вызывающие вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows следует попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Cleanup-image / Restorehealth .Это позволяет восстановить операционную систему без потери данных.

Чтобы помочь вам проанализировать процесс avrdudewrapper.exe на вашем компьютере, вам могут быть полезны следующие программы: Диспетчер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Этот антивирус обнаруживает и удаляет шпионское, рекламное ПО, трояны, кейлоггеры, вредоносные программы и трекеры с вашего жесткого диска.


Обновлено ноябрь 2021 г .:

Мы рекомендуем вам попробовать это новое программное обеспечение, которое исправляет компьютерные ошибки, защищает их от вредоносных программ и оптимизирует производительность вашего ПК. Этот новый инструмент исправляет широкий спектр компьютерных ошибок, защищает от таких вещей, как потеря файлов, вредоносное ПО и сбои оборудования.

  • Шаг 1: Загрузите PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
  • Шаг 2: Нажмите « Начать сканирование », чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3. Нажмите « Восстановить все », чтобы исправить все проблемы.


(дополнительное предложение для Reimage — Веб-сайт | Лицензионное соглашение | Политика конфиденциальности | Удалить)

Загрузите или переустановите avrdudewrapper.exe

Не рекомендуется загружать заменяющие exe-файлы с любых сайтов загрузки, так как они сами могут содержать вирусы и т. Д. Если вам нужно загрузить или переустановить avrdudewrapper.exe, мы рекомендуем переустановить основное приложение, связанное с ним. MegunoLink Pro .

Информация об операционной системе

Ошибки

avrdudewrapper.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:

.
  • Windows 10
  • Windows 8.1
  • Windows 7
  • Windows Vista
  • Windows XP
  • Окна ME
  • Окна 2000

РЕКОМЕНДУЕТСЯ: Нажмите здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы

ravedude — Приложение Rust // Либ.

рупий

ravedude — это утилита CLI для разработки Rust для микроконтроллеров AVR. супер гладко. Это обертка вокруг avrdude и обеспечивает легкий доступ к последовательная консоль target, похожая на IDE Arduino.

ravedude предназначен для использования в качестве грузового «бегуна». Это позволяет вам просто использовать cargo run для сборки, развертывания и запуска кода AVR!

Установка

В системах Linux вам потребуются файлы разработки pkg-config и libudev. установлено:

  • Archlinux : pacman -S systemd pkgconf
  • Ubuntu / Debian : apt install libudev-dev pkg-config
  • Fedora : dnf install systemd-devel pkgconf-pkg-config

Далее устанавливаем последнюю версию из ящиков.io следующей командой:

  грузовая установка ravedude
  

Теперь вам нужно добавить в свой проект ravedude . Например в проекте для Arduino Uno, поместите следующее в ваш .cargo / config.toml ( не в Cargo.toml ):

  [target.'cfg (target_arch = "avr") ']
runner = "ravedude uno --open-console --baudrate 57600"
  

И все, теперь просто позвоните по номеру cargo run и посмотрите, как он творит чудеса:

  avr-hal / examples / arduino-uno  на  ravedude  через  v1.51.0-ночь 
  грузовой пробег --bin uno-i2cdetect
  Компиляция  arduino-uno-examples v0.0.0 (avr-hal / examples / arduino-uno)
  Завершено  целей dev [optimized + debuginfo] за 1,26 секунды
  Запуск  `ravedude uno -cb 57600 avr-hal / target / avr-atmega328p / debug / uno-i2cdetect.elf`
  Плата  Arduino Uno
  Программирование  avr-hal / target / avr-atmega328p / debug / uno-i2cdetect.elf  =>  / dev / ttyACM0

avrdude: устройство AVR инициализировано и готово принимать инструкции

Чтение | ########################################################################## | 100% 0.00-е

avrdude: подпись устройства = 0x1e950f (возможно, m328p)
avrdude: стирающий чип
avrdude: чтение входного файла "avr-hal / target / avr-atmega328p / debug / uno-i2cdetect.elf"
avrdude: запись flash (1654 байта):

Написание | ########################################################################## | 100% 0,27 с

avrdude: записано 1654 байта флеш-памяти
avrdude: проверка флэш-памяти на соответствие avr-hal / target / avr-atmega328p / debug / uno-i2cdetect.elf:
avrdude: загрузить данные флэш-памяти из входного файла avr-hal / target / avr-atmega328p / debug / uno-i2cdetect.эльф:
avrdude: входной файл avr-hal / target / avr-atmega328p / debug / uno-i2cdetect.elf содержит 1654 байта
avrdude: чтение данных флеш-памяти на кристалле:

Чтение | ########################################################################## | 100% 0,21 с

avrdude: проверяем ...
avrdude: проверено 1654 байта флэш-памяти

avrdude: safemode: Предохранители исправны (E: 00, H: 00, L: 00)

avrdude сделано. Спасибо.

  Запрограммировано  avr-hal / target / avr-atmega328p / debug / uno-i2cdetect.elf
  Консоль  / dev / ttyACM0 на 57600 бод

Тест направления записи:
- 0 1 2 3 4 5 6 7 8 9 а б в г д е
00: - - - - - - - - - - - - - -
10: - - - - - - - - - - - - - - - -
20: - - - - - - - - - - - - - - - -
30: - - - - - - - - 38 39 - - - - - -
40: - - - - - - - - 48 - - - - - - -
50: - - - - - - - - - - - - - - - -
60: - - - - - - - - - - - - - - - -
70: - - - - - - - -

Проверка направления чтения:
- 0 1 2 3 4 5 6 7 8 9 а б в г д е
00: - - - - - - - - - - - - - -
10: - - - - - - - - - - - - - - - -
20: - - - - - - - - - - - - - - - -
30: - - - - - - - - 38 39 - - - - - -
40: - - - - - - - - 48 - - - - - - -
50: - - - - - - - - - - - - - - - -
60: - - - - - - - - - - - - - - - -
70: - - - - - - - -
 

Лицензия

ravedude под лицензией

на ваше усмотрение.

Новое приложение — avrdude | Детали

В этом месяце я работал над приложением avrdude — приложением, которое использует avrdude для программирования микроконтроллеров AVR. Теперь он готов, с 500 LOC в самом приложении и еще 800 в связанных библиотеках. Вы можете быть удивлены — почему именно это, а не что-то еще, например приложение для обмена сообщениями? Вот причины:

  • В то время у меня был небольшой концерт, на котором я программировал 50 плат на базе ATMega. Итак, проработав некоторое время с avrdude, мне это очень надоело, и я хотел автоматизировать его, а также хотел убедиться, что существует простой способ записать популярные загрузчики на платы на базе ATMega, что является большой частью это приложение.Теперь меня не нужно никуда вызывать для программирования новой партии плат — я могу просто дать этому человеку устройство с поддержкой ZPUI и удобным интерфейсом.
  • ZPUI нуждался во вспомогательном классе для запуска долгосрочных процессов и анализа их вывода — это то, что понадобится приложению avrdude, поэтому после того, как я его написал, имело смысл написать приложение вокруг него. Такой класс будет необходим любому, кто захочет написать оболочку для запуска любого инструмента командной строки и просмотра того, что он выводит в режиме реального времени — будь то ffmpeg или mjpg-streamer (который я планирую добавить для видео с одним щелчком мыши. потоковая передача), интерактивный скрипт CLI, которому нужен ваш пароль, другой флешер микроконтроллера или просто длинный скрипт, который вы хотите отслеживать, теперь есть способ обернуть его в удобный для разработчика объект, который вы можете использовать для получения вывода, отправки вывода и завершить процесс по прихоти (что удивительно, для чего я до сих пор не нашел подходящей библиотеки Python).
  • Я хотел понять, есть ли что-то, чего не хватает ZPUI — это то, что вы можете увидеть только при программировании такого большого приложения, и, учитывая, что я единственный человек, работающий над ZPUI и контролирующий его направление, это очень важно для время от времени проверять, можно ли что-нибудь добавить в ZPUI. В результате этой работы я добавил много новых функций и больше различных способов использования существующих.
  • Кроме того, я хотел протестировать последние дополнения ZPUI, такие как переключение контекста, систему холста и приложения на основе классов, и написать большое приложение, которое использует все эти вещи таким образом, чтобы другие могли ссылаться на них.Пока я писал это приложение, я обнаружил множество ошибок и несоответствий, которые были оперативно исправлены.
  • И последнее, но не менее важное: написание больших приложений дает мне опыт, который я могу использовать, чтобы консультировать других по написанию больших приложений — на данный момент никто, кроме меня, не имеет такого опыта, который необходим для того, чтобы помогать людям, пишущим большие приложения, которые действительно работают.

Конечным результатом является приложение для программирования микроконтроллеров Atmel, которое может создавать резервные копии и восстанавливать микропрограммное обеспечение с / на микроконтроллер, прошивать произвольные файлы .hex и загрузчики.На данный момент я тестировал его только с программистами usbasp, но скоро появится поддержка устройств SPI для Linux и других программистов. Я уже много использовал его, и он даже более полезен, учитывая, что сейчас я работаю над несколькими платами модов ZeroPhone на базе AVR (поэтому пользователям нужен простой способ обновить прошивку платы модов). Он также содержит информацию о распиновке и наиболее важных доступных настройках, а также некоторые функции, связанные с удобством использования. В дополнение к этому, есть много исправлений, улучшений, новых идей для улучшения ZPUI и понимания проблем, которые есть у ZPUI.

Одна большая проблема, которая, как я теперь понимаю, есть в ZPUI, — это отсутствие какой-то системы разметки для дизайна пользовательского интерфейса. По сути, когда вы пытаетесь нарисовать свой собственный пользовательский интерфейс, вам необходимо рассчитать положение каждого элемента на экране, что требует большого количества математических операций (и дополнительных переменных), если вы не хотите, чтобы части вашего пользовательского интерфейса перекрывались / исчезали. Когда дело доходит до текста, ситуация еще хуже — например, на данный момент практически невозможно правильно перенести произвольный текст на экран по словам.Что нам с этим делать? Я еще не знаю, и это то, что мне нужно будет решить рано или поздно, если я не хочу, чтобы ZeroPhone был печально известен своими уродливыми приложениями … или не масштабировался дальше, чем маленький дисплей, которым мы в настоящее время ограничены.

Есть также некоторые проблемы, связанные с тем, что элементы пользовательского интерфейса недостаточно универсальны — например, нет возможности создать меню настроек в стиле Nokia (меню с комбинированными флажками, списками и ползунками), объединяющее множество различных настроек в удобном для пользователя виде. -использовать вид.Элементы пользовательского интерфейса ввода по-прежнему не очень хороши, я ожидаю, что буду работать над ними, как только доберусь до приложений, связанных с SMS, что произойдет в ближайшее время — сейчас я работаю над интеграцией модема с ofono, продолжая работу, начатую monsieur_h . В общем, сейчас я много думаю о пользовательском интерфейсе — не могу дождаться, чтобы сделать правильное главное меню со значками в сетке и всем остальным!

Arduino Diecimila / Запись загрузчика без AVR-Writer


Когда мы записываем загрузчик Arduino Diecimila, мы подключаем внешний AVR-Writer к ICSP Diecimila.

Но я нашел способ записать загрузчик самой Diecimila без внешнего AVR-писателя. Это может делать программа AVR-Writer FT232RL BitBang Mode.

И этот метод также можно использовать на Arduino NG, Arduino Duemilanove и с ATMega328P.

Но этот метод не работает на Arduino Uno.


Японский английский


Эта страница была обновлена ​​для учебника «Метод Btibang» в GUI-Operation.

Учебник по старой версии CUI-Operation находится здесь -> Запись загрузчика без внешнего AVR-Writer (CUI Operation)

Как запустить этот «метод FTDI Bitbang» с Arduino-IDE -> Щелкните здесь


  1. FT232RL BitBang Mode AVR-Writer

    FT232RL — это последовательный USB-мост на плате Arduino Dicimila / NG / Duemilanove.Он имеет функцию прямого управления каждым сигнальным контактом. Это называется BitBang Mode.

    «avrdude-serjtag» — это программное обеспечение AVR-Writer, разработанное г-ном Сузом. Он включает функцию управления режимом FT232RL BitBang.

    Если мы используем «avrdude-serjtag», мы можем записать загрузчик с помощью самой Diecimila.

    Опишу ниже метод. в Windows-XP.

    • Внимание !!!

      Если вы хотите использовать «avrdude-serjtag» в Linux или Mac OS, вы должны переделать (исправить, перенастроить и перекомпилировать) его.

      Есть полезные проекты.

    • Эти проекты попали в BitBang Mode AVR-Writer на Linux и Mac !!!

      Конечно, если вы используете Windows в Vmware в Linux или Mac OS, вы можете запустить «avrdude-serjtag (версия для Windows)».

    • avrdude от FT245R / FT232R (Linux) (переведено на английский язык Google.)

      Драйверы FTDI для avrdude в Linux от Coffeebot Labs

      BitBang Mode AVR-Writer на Mac (переведено на английский язык компанией Google.)


  2. Модифицировать Dicimila

    На печатной плате Diecimila есть четыре контактных площадки, обозначенные как X3 рядом с FT232RL. (Эти контактные площадки подключены к управляющим контактам FT232RL.)
    Удалите припой этих контактных площадок и вставьте контактный разъем. И паял.


  3. Скачивание
    1. «avrdude-serjtag» FTDI BitBang AVR-Writer
      serjtag-0.3.zip зеркальный сайт
      serjtag-0.3.tar.gz зеркальный сайт
    2. serjtag-0.3.zip исходный сайт (http://suz-avr.sblo.jp/archives/20070621-1.html)
      serjtag-0.3.tar.gz исходный сайт (http://suz-avr.sblo.jp/archives /20070621-1.html)
    3. файл конфигурации для avrdude-serjtag
      avrdude.conf (обновление : включены параметры микросхемы ATmega328P, 168P и 88P)
    4. «avrdude-GUI (версия yuki-lab.jp)» GUI-оболочка для avrdude
      avrdude-GUI-1.0.5.zip зеркальный сайт
      avrdude-GUI-1.0.5.zip исходный сайт (http: // yuki-lab.jp / hw / avrdude-GUI / index.html)
    5. avrdude-GUI (версия yuki-lab.jp) требует Microsoft .NET Framework 2.0.
      Если .NET Framework 2.0 не установлен. Загрузите его с здесь (страница загрузки Microsoft .NET Framework 2.0) и установите его.

  4. Установка
    1. avrdude-serjtag
      • Exract serjtag-03.zip.
      • Скопируйте папку «avrdude-serjtag» в папку «C: \ Program Files».


      • Удалите папку «src» в папке «avrdude-serjtag».

    2. avrdude.conf

    3. avrdude-GUI (версия yuki-lab.jp)
      • Распакуйте avrdude-GUI-1.0.5.zip.
      • Скопируйте папку «avrdude-GUI-1.0.5» в папку «C: \ Program Files».
      • avrdude-GUI (версия yuki-lab.jp) требует Microsoft .NET Framework 2.0.
        Если .NET Framework 2.0 не установлен.Загрузите его с вот и установите.

  5. Настройка

    Откройте папку «C: \ Program Files \ avrdude-GUI-1.0.5». И дважды щелкните «avrdude-GUI.exe», чтобы запустить его.

    Настройки «avrdude-GUI» приведены ниже от i до iv.

    1. avrdude.exe Область файлов
      • Щелкните файл.
      • Откройте папку «C: \ Program Files \ avrdude-serjtag \ binary».
      • Выберите «avrdude.exe «и нажмите кнопку [Открыть (O)].
    2. Область программиста
      • Щелкните значок.
      • Выберите «FT232R Synchronous BitBang (diecimila)».
    3. Область устройства
      • Щелкните значок.
      • Выберите «ATmega168 (m168)».
    4. Область параметров командной строки
      • Щелкните текстовое поле. И введите ниже.
        -P ft0 -B 4800
        «-P ft0» — это настройки Bitbang-Port.«-B 4800» — настройки режима медленных часов.

      Внимание !!! Необходимо сделать область порта пустыми.

  6. Тестирование
    1. Электропроводка

      Соедините контакты X3 и контакты ICSP проводами. Пожалуйста, смотрите фотографию ниже. (нажмите для увеличения)

    2. Подключите Diecimila к ПК с помощью кабеля USB.
    3. Запустите avrdude-GUI.
    4. Считайте биты предохранителей.
      • Нажмите кнопку [Читать] в области предохранителей.
      • Если биты предохранителя прочитаны, значит, он исправен.
        Когда отображается ошибка, он не работает. подтвердите подключение и настройку avrdude-GUI.
    5. Запуск в режиме быстрых часов.
      • Удалите «-B 4800» из области параметров командной строки.
      • Считайте биты предохранителей. опять таки.
        Если биты предохранителя считаны, значит, он работает в режиме быстрой синхронизации.

  7. Запись загрузчика.
    1. Установить новую микросхему ATmega168.
      • Отсоедините USB-кабель от Diecimila.
      • Удалите микросхему ATmega168 из платы Deicimila.
      • Установите новый чип на плату Decimila-PCB.
      • Снова подключите USB-кабель к Diecimila.
    2. Запись битов предохранителей.
      • Установите режим медленных часов.
        Введите «-B 4800» в текстовое поле области параметров командной строки.
        Внимание !!! Чистый чип не может работать в режиме быстрой синхронизации.
      • Стереть
        (1) Нажмите кнопку [Chip Erase].
        (2) Щелкните по кнопке [Чтение] в области Lock Bit. Должно отображаться значение 3F Lock Bit.
      • Запись плавких вставок.
        (1) Установите биты предохранителей, как показано ниже. (Эти настройки относятся только к ATmega168.)
        hfuse = DD
        lfuse = FF
        efuse = 00
        (2) Нажмите кнопку [Write] в области Fuse.

      • Переключитесь в режим быстрых часов.

        Удалить «-B 4800» Область параметров командной строки.И прочтите Fuse-Bits.
        Когда не считываются биты предохранителей, возможно, вы ошиблись при установке битов предохранителей. Вернитесь в режим медленных часов. И снова напишите Fuse-Bits точно.

    3. Подготовка шестнадцатеричного файла загрузчика.
    • Щелкните в области Flash.
    • Откройте папку «C: \ Program Files \ arduino-0013 \ hardware \ bootloaders \ atmega168».
    • Выберите «ATmegaBOOT_168_diecimila.hex «и нажмите кнопку [Открыть (O)].
  8. Горение
    • Щелкните на кнопке [Erase Write Verify] в области Flash.
    • Подождите, пока эта работа не будет завершена.
  9. Запись Lock-Bit.
    • (1) Установите фиксатор, как показано ниже.
      Блокировка = 0F
    • (2) Запись
      Щелкните по кнопке [Запись] в области Lock Bit.

С вышеописанным прожигом загрузчика конец.


Если вы хотите записать загрузчик на …..
  • ATmega8 [Нажмите здесь]

    в ATmega8: используйте эти биты предохранителей и бит блокировки.

    • hfuse = CA
    • lfuse = DF
    • разблокировка = 3F
    • замок = 0F

    О бит-замке, http://arduino.cc/en/Hacking/Bootloader говорит: unlock = FF, lock = CF. Это неправильно в этом методе.

    Информация от г.Р. В. Пракаш. Спасибо.

  • ATmega328P [Нажмите здесь]

    Загрузите avrdude.conf (обновление : , в него включен параметр микросхемы ATmega328P)

    Используйте эти биты предохранителей, бит блокировки и файл .hex следующим образом. (согласно arduino-0013 \ hardware \ board.txt)

    • hfuse = DA
    • lfuse = FF
    • efuse = 05
    • разблокировка = 3F
    • замок = 0F
    • загрузчик.шестнадцатеричный файл
      arduino-0013 (или 0014) \ hardware \ bootloaders \ atmega168 \ ATmegaBOOT_168_atmega328.hex

  • Подтверждаю.
    • Отсоедините USB-кабель от Dicimila.
    • Снимите провода ICSP и X3.
    • Снова подключите кабель USB к Diecimila.
    • Нажмите кнопку сброса Diecimila.
    • Запустите Arudino-IDE
    • Загрузить образец скетча «Моргание».
      И он будет запущен.
  • Dicimila становится AVR-Writer

    Мы можем использовать Dicimila в качестве универсального AVR-Writer, если мы используем avrdude-serjtag, avrdude-GUI и кабель ICSP, как на фотографии ниже.(нажмите для увеличения)



    Спасибо

    Большое спасибо г-ну Суз, который разработал программу AVR-Writer для режима BitBang «avrdude-serjtag», и г-ну Юки, разработавшему GUI-оболочку для avrdude.

  • alexxlab

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *