Список форумов Ремонт бытовой техники и електронники Ремонт бытовой техники и электроники
 
  Файло-обменникФайлы    ПрошивкиПрошивки   ПродажаПродажа   ФотоальбомФотоальбом   ЛитератураЛитература   СтатьиСтатьи 
Каталог статей/блогов
Меню сайта

Наши базы

Форма входа
Логин:
Пароль:

Друзья сайта




REM-TV TV-EL.RU

Сейчас на сайте
Онлайн всего: 375
Гостей: 230
Пользователей: 145
Nickakoi, pcm-nn, Lisus, brown, terrarist, Vityusha, Olegasun, helaleldeeb, kras1991, ALEJOTEC, Armstrong, Tyfon, Амирбек, vasya55, Vitaly_1, vadimgrig, Boriss53, Sergei31, valks, vitkit_70, FATE1, X1-43, Andrey2691, korbov, vivad, post1-nik, Dmtsds, neo555111, gordt, Веруддин, printserviceif, panamahan, pajalnik55, smeve, kuzannn, Suhov, slasla, x-Palmer-x, mihalets, andrey270478, Cybermelancholy, ПРОТОН, vovamonic, apachi, xenon73, igor_4uk, sezar71, WardiaN, Andrey12047, telek444444, [Полный список]

Top 20 Uploaders

Партнёры проекта


Приветствую Вас, Гость · RSS 22.05.2019, 17:34:24

Главная » Статьи » Статьи » Программаторы (железо, инстркуции и софт)

Прошить 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 вставлен текст следующего содержания:
Код

programmer
id = "cp2102";
desc = "Serial-USB bitbang, reset=!txd sck=!rts mosi=!dtr miso=!cts";
type = "serbb";
reset = ~3;
sck = ~7;
mosi = ~4;
miso = ~8;
;

В /udev сначала создал файл .rules, но потом отказался ввиду его незначительности как потом понял. Командой
Код

lsusb

можно понять к какому порту произошло подсоединение устройства. В моем случае это /dev/ttyUSB0
Из статей в сети вынес необходимость сконфигурировать виртуальный порт /dev/ttyUSB0. Выполнил конфигурирование порта /dev/ttyUSB0, возникающего при втыкании модуля в порт usb. При помощи утилиты stty:
Код

stty 9600 ignbrk -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo noflsh </dev/ttyUSB0

Данную команду надо вводить при работе с этим портом. После ребута настройка слетает. Проверять текущие настойки порта нужно командой:
Код

stty </dev/ttyUSB0

При вводе этой команды может выскочить ошибка Permission denied. Это значит пора занятся правами на виртуальный порт /dev/ttyUSB0. «Прибираем его к рукам» командой от рута:
Код

sudo usermod -g dialout NameUser (добавляем юзверя в команду dialout)

После перезагрузки работу начинаем с втыкания в usb модуля с cp2102 (уже в сцепке с прошиваемым usbasp, пока не подавая на последний питание). Появляется порт. Задаем ему конфигурацию вышеуказанной командой stty с необходимыми атрибутами. Если прошло гладко, то можно приступать к тестированию соединения в avrdude. Подаем питание на прошиваемый usbasp. Команда
Код

avrdude -p m8 -c cp2102 -P /dev/ttyUSB0 -n

должна закончиться следующим выводом :
Код

irod@irod-H61MGV3:~$ avrdude -p m8 -c cp2102 -P /dev/ttyUSB0 -n

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.23s

avrdude: Device signature = 0x1e9307 (probably m8)

avrdude: safemode: Fuses OK (E:FF, H:D9, L:9F)

avrdude done. Thank you.

irod@irod-H61MGV3:~$

Тест пройден. Далее можно задать команду считать содержимое флеш-памяти контроллера с сохранение в файл (в примере usvasf в домашней директории)
Код

irod@irod-H61MGV3:~$ avrdude -p m8 -P /dev/ttyUSB0 -c cp2102 -U flash:r:/home/irod/usvasf:i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.24s

avrdude: Device signature = 0x1e9307 (probably m8)
avrdude: reading flash memory:

Reading | ################################################## | 100% 625.33s

avrdude: writing output file "/home/irod/usvasf"

avrdude: safemode: Fuses OK (E:FF, H:D9, L:9F)

avrdude done. Thank you.

irod@irod-H61MGV3:~$

Затем считать eeprom. Ну и т. д...
Из терминала видно что скорость работы преобразователя невелика. Дамп 13-15 kb читается около 10 мин. На прошивку уже готового прогера я не пошел, достаточно было с меня теста с чтением. Оставляю это удовольствие для тебя, читатель.
Но пойдем далее. Т.к необходимые настройки в конфиге avrdude имеются, можно настроить гуишную оболочку этой программы, доступную в ubuntu как avr8-burn-o-mat. Скачать можно свободно и установить с контекстного меню пакета при помощи gdebi. Требуемые библиотеки и зависимости можно так-же свободно найти в репозиториях разных дистрибутивов и установить последовательно их все. В окне программы можно выбрать прошиваемый проц. (в нашем случае atmega8). При считывании (Read) или прошивке (Write) предварительно нажимаем на кнопку File и обзываем считанный дамп (по англ.) и указываем путь к нему. Или указываем путь к файлу firmware прошивке. См. скрин



Затем в настройках поправляем путь до запускающего файла программы и до конфига. Выбираем для работы виртуальный порт /dev/ttyUSB0. Ну и в выпадающем списке находим наш, внесенный в конфиг «горе-программатор» на cp2102 . См скрин



Обратите внимание что работа программы-оболочки и, соответственно avrdude состоялись. При написании статьи и изысканиях пользовался следующими источниками:
https://ph0en1x.net/78-conf....ux.html
https://ph0en1x.net/77-avrd....ux.html
http://we.easyelectronics.ru/zubb....ng.html
И др.
Всего голосов: ... |

Материал добавил: irocpai, 06.03.2019(Среда) в 19:17:16 | Категория: Статьи / Программаторы (железо, инстркуции и софт) | Просмотров: 237 | Комментариев: 0 | Понравилось: 0 |

Читать другие статьи, блоги:
Тестер для проверки ламп CCFL версия 2 (китайская)...
Китайская история
Антенна Tomahawk на starline
Еще раз о БП из АТХ
Видеоинструкция по загрузке фалов с сайта elektrot...
Подключение управления автомагнитолой от сигнализа...
Делаем зарядное устройство для 12В свинцово-кислот...
Конденсаторы
Прибор для проверки импульсных трансформаторов.
Dreambox 800 HD PVR
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Политика конфиденциальности | Пользовательское соглашение| Обратная связь

remont-aud.net © 2006-2019 | мобильная версия сайта