Как подружить AVRDUDE и ft232r под linux

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 11
Зарегистрирован: Пн фев 24, 2014 22:14:48

Сообщение dima81 »

Имеется программатор на FT232RL пробую для начала через него считывать инфу о мк ATMEGA16 в консоли для этого набираю:
sudo avrdude -c ft245r -p m16 -P /dev/ttyUSB0
в ответ получаю
avrdude: invalid portname '/dev/ttyUSB0': use 'ft[0-9]+'
т.е. порт типа не тот, но
1) порт появляется по указанному пути при подключении именно программатора
lsusb его отображает так:
Bus 001 Device 011: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
2) мк рабочий, программатор тоже, т.к. через него программировал этот мк но под виндой в виртуал боксе, но хочется это делать без запуска vbox
3) если бы ругался при запуске только от пользователя, то можно было бы на права подумать, но то же самое выдаёт при запуске от root

Подскажите пожалуйста что необходимо ещё настроить, в сети в основном по поводу прав записи.

система xubuntu 14.04.3 adm64
Реклама
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

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

Так что в линуксе при подключении тоже должно появляться два устройства. Если появляется только одно, то надо искать другой драйвер.

Например попробовать поставить родной

http://www.ftdichip.com/Drivers/D2XX.htm
Реклама
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Сообщение mrFox »

выполните
ls /dev/tty*
до и после подключения программатора - смотрим появившиеся устройства
там может быть обычный ttyCOM а не ttyUSB0

ну и чип в приборе и командной строке не совпадают ( ft232 и ft245 )
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

А если сделать то, что просит avrdude, не помогает?
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

Сейчас установил avrdude из репозитория на Debian. Драйвер тоже встроенный в Дебиан


Команда

Код: Выделить всё

avrdude -p t13 -c ft232r -P ft0
вполне успешно находит программатор.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Вот и я про то. Топикстартеру avrdude вполне конкретно говорит
dima81 писал(а): invalid portname '/dev/ttyUSB0': use 'ft[0-9]+'
, но он почему-то /dev/ttyUSB0, а не ft0, использует.
Контактная информация:
Реклама
Родился
Сообщения: 11
Зарегистрирован: Пн фев 24, 2014 22:14:48

Сообщение dima81 »

В папке /udev при подключении программатора появляется только
/udev/serial/ - содержит 2-е ссылки на /udev/ttyUSB0
/udev/ttyUSB0

ft0 у меня в /udev отсутствует, поэтому вписываю вручную. С avrdude работаю через графический интерфейс avr8-burn-o-mat

Код: Выделить всё

/usr/bin/avrdude -C /etc/avrdude.conf -p m16 -P ft0 -c ft232r  -U hfuse:r:/tmp/hfuse113263874260101789.hex:r -U lfuse:r:/tmp/lfuse7283771146977127565.hex:r 

avrdude: Device is not responding to program enable. Check connection.
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude done.  Thank you.

Код: Выделить всё

/usr/bin/avrdude -C /etc/avrdude.conf -p m16 -P ft0 -c ft232r -F -U hfuse:r:/tmp/hfuse113263874260101789.hex:r -U lfuse:r:/tmp/lfuse7283771146977127565.hex:r 

avrdude: Device is not responding to program enable. Check connection.
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0xc8a779
avrdude: Expected signature for ATmega16 is 1E 94 03

avrdude done.  Thank you.
Под виндой на виртуалке всё работает.
Изображение
Родился
Сообщения: 11
Зарегистрирован: Пн фев 24, 2014 22:14:48

Сообщение dima81 »

Коллективный разум победил ) Решение:
запись в конфиге avrdude

Код: Выделить всё

programmer
  id    = "APU-2";
  desc  = "FT232RL with 1e9403";
  type  = "ftdi_syncbb";
  connection_type = usb;
  miso  = 4;  # выв. 2 ft232rl 
  sck   = 2;  # выв. 3 ft232rl
  mosi  = 6;  # выв. 10 ft232rl
  reset = 5;  # выв. 9 ft232rl
  buff  = ~3; # выв. 11 ft232rl
потверждение

Код: Выделить всё

sudo avrdude -C ~/.avrdude/avrdude.conf -c APU-2 -P ft0 -p m16
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9403
avrdude: safemode: Fuses OK (H:FF, E:D9, L:E4)
avrdude done.  Thank you.
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

dima81 писал(а):avrdude: Device is not responding to program enable. Check connection.
Путаете тут всех.

Это сообщение говорит, что программируемый микроконтроллер не найден, а не программатор.
Родился
Сообщения: 11
Зарегистрирован: Пн фев 24, 2014 22:14:48

Сообщение dima81 »

Может и попутал чего, только изучаю это дело.
Ответить

Вернуться в «AVR»