Прошить ATMEGA8 (либо китайский прогер USBASP) преобразователем USB-UART на CP2102 в Linux.
Целью изыскания было запустить-таки преобразователь в качестве программатора. Изчерпывающей информации об этом в сети не нашел, но из разных источников (ниже) сложилось определенное представление которое решено было реализовать в программе avrdude и как максимум в явовской гуишной оболочке avr8-burn-o-mat. Согласно конфига (см. ниже) для cp2102 соединение выглядело так: reset=txd; sck=rts; mosi=dtr; miso=cts (слева контакты прошиваемого usbasp на atmega8, справа - модуля конвертора на cp2102).Ну и соответственно GND и питание. Все припаяно. Причем, питание на модуль с cp2101 шло c usb pc, а на прошиваемый usbasp - с зарядного устр-ва смартфона, тоже с usb-гнездом. Обратите внимание что преобразователь должен быть «продвинутым», с дополнительными выводами по бокам платы. См. фото.
Джампер питания на usbasp стоял на 5в, и установлена перемычка jp2 (припаяна) для режима прошивки. См. фото. Далее следуют грубоватые действия с т. зрения линуксоидов, а именно -правка конфига. В /etc/avrdude.conf вставлен текст следующего содержания:
В /udev сначала создал файл .rules, но потом отказался ввиду его незначительности как потом понял. Командой
Код
lsusb
можно понять к какому порту произошло подсоединение устройства. В моем случае это /dev/ttyUSB0 Из статей в сети вынес необходимость сконфигурировать виртуальный порт /dev/ttyUSB0. Выполнил конфигурирование порта /dev/ttyUSB0, возникающего при втыкании модуля в порт usb. При помощи утилиты stty:
Данную команду надо вводить при работе с этим портом. После ребута настройка слетает. Проверять текущие настойки порта нужно командой:
Код
stty </dev/ttyUSB0
При вводе этой команды может выскочить ошибка Permission denied. Это значит пора занятся правами на виртуальный порт /dev/ttyUSB0. «Прибираем его к рукам» командой от рута:
Код
sudo usermod -g dialout NameUser (добавляем юзверя в команду dialout)
После перезагрузки работу начинаем с втыкания в usb модуля с cp2102 (уже в сцепке с прошиваемым usbasp, пока не подавая на последний питание). Появляется порт. Задаем ему конфигурацию вышеуказанной командой stty с необходимыми атрибутами. Если прошло гладко, то можно приступать к тестированию соединения в avrdude. Подаем питание на прошиваемый usbasp. Команда
Затем считать eeprom. Ну и т. д... Из терминала видно что скорость работы преобразователя невелика. Дамп 13-15 kb читается около 10 мин. На прошивку уже готового прогера я не пошел, достаточно было с меня теста с чтением. Оставляю это удовольствие для тебя, читатель. Но пойдем далее. Т.к необходимые настройки в конфиге avrdude имеются, можно настроить гуишную оболочку этой программы, доступную в ubuntu как avr8-burn-o-mat. Скачать можно свободно и установить с контекстного меню пакета при помощи gdebi. Требуемые библиотеки и зависимости можно так-же свободно найти в репозиториях разных дистрибутивов и установить последовательно их все. В окне программы можно выбрать прошиваемый проц. (в нашем случае atmega8). При считывании (Read) или прошивке (Write) предварительно нажимаем на кнопку File и обзываем считанный дамп (по англ.) и указываем путь к нему. Или указываем путь к файлу firmware прошивке. См. скрин
Затем в настройках поправляем путь до запускающего файла программы и до конфига. Выбираем для работы виртуальный порт /dev/ttyUSB0. Ну и в выпадающем списке находим наш, внесенный в конфиг «горе-программатор» на cp2102 . См скрин
Немного разжую, хотя сам не специалист... 1. Есть терминальная программа для прошивки avrdude и для windows, и для linux и иже сними остальными осями... Она как раз всё шьёт... А тот-же avr8-burn-o-mat и куча других подобных - это оболочка поверх avrdude. 2. У этой программы есть конфиг файл - avrdude.conf. Вот как раз в этом текстовом файле - и есть список поддерживаемых программаторов и способы\режимы их работы... 3. Автор использовал режим Bitbang, который более хорошо описан на сайте Ди Халта(если там хорошенько полазить), к примеру https://easyelectronics.ru/skorost....ra.html 4. Вообщем ХОЧУ ВЫРАЗИТЬ СПАСИБО АВТОРУ , за его проделанный труд, и просветительскую работу в электронике и программировании...
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]