Проблема с выполнением правил udev для avr-usb-jtag olimex

Я использую Ubuntu 12.04 для программирования и недавно решил перевести мои предыдущие проекты микроконтроллеров atmel с Win на Linux. А именно AVR.

Я правильно установил цепь инструментов. Включает: avrdude binutils-avr gcc-avr avr-libc gdb-avr.

Для проверки моего подключения к микроконтроллеру я использовал программатор olimex avr-usb-jtag. Когда я подключаю его, он отображается как / dev / ttyUSB0 (являющийся чипом FTDI usb-com). Программатор совместим с Atmel JTAGICE.

Теперь, когда мы пытаемся

avrdude -p c128 -c jtag1 -P /dev/ttyUSB0 -t

И мы получаем

avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied

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

sudo avrdude -p c128 -c jtag1 -P /dev/ttyUSB0 -t

Ответ:

avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9781

Теперь я хочу, чтобы обычные пользователи (например, программирующие IDE) имели доступ к программисту. без предоставления им root-прав. Первый вопрос для меня: как сделать это лучше?

Я попробовал подход udev и хотел, чтобы система распознала подключенное устройство и применила разрешения к файлу устройства (для меня ttyUSB0 по умолчанию). Но единственное, что сработало, это создание нового файла:

/etc/udev/rules.d/10-usb-avr-jtag.rules

Он содержал

KERNEL=="ttyUSB*" MODE="0666"

Эта конфигурация работает, но мне любопытно, почему что-то подобное ниже не работает для меня вообще (по умолчанию ttyUSB0 появляется, к файлу не применяются правила)?:

SUBSYSTEM=="usb", ATTR{idProduct}=="6001", ATTR{idVendor}=="0403", MODE="0666"

Есть идеи о том, как заставить его работать, или почему он вообще не работает?

Вот мой вывод udevadm

4
задан 6 June 2012 в 18:12

1 ответ

Если первый работает, я подозреваю, что последний должен читать

SUBSYSTEM=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", MODE="0666"
0
ответ дан 6 June 2012 в 18:12

Другие вопросы по тегам:

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