Tuesday, November 18, 2008

Arduino: установка софта

Наконец пришла ко мне Arduino Decima. Процедура установки под Zen 5.2 практически один в один совпадает с рекомендациями по установке слаки на официальном сервере , надо только учитывать, что софт может быть новее, чем в статье. Чтобы не заморачиваться с тем, какой gcc ставить, я взял тот, что стоял у меня в системе как основной. Чтобы узнать, какой же он стоит, можно посмотреть вывод gcc -v.

21M binutils-2.19.tar.gz
43M gcc-4.2.4.tar.bz2
1.1M avr-libc-1.6.4.tar.bz2
1.3M arduino-0012-linux.tgz

Я ставил так:

mkdir ~/arduino && cd ~/arduino
wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.gz
tar xvfz binutils-2.19.tar.gz
cd binutils-2.19
PREFIX=$HOME/avr
export PREFIX
PATH=$PATH:$PREFIX/bin
export PATH
mkdir obj-avr && cd obj-avr
../configure --prefix=$PREFIX --target=avr --disable-nls
make
make install
cd ../..
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2
tar xvfj gcc-4.2.4.tar.bz2
cd gcc-4.2.4
mkdir obj-avr && cd obj-avr
../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2
make && make install
cd ../..
wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.6.4.tar.bz2
tar xvfj avr-libc-1.6.4.tar.bz2
cd avr-libc-1.6.4
./configure --prefix=$PREFIX --build=`./config.guess` --host=avr
make && make install

Подключив свою Decimila к ноуту, он мне приветливо поморгал светодиодом и загорелс индикатор PWR, а в /dev я увидел новое устройство: /dev/ttyUSB0

Теперь пора поставить собственно, саму IDE:
wget http://www.arduino.cc/files/arduino-0012-linux.tgz
tar xzvf arduino-0012-linux.tgz
cd arduino-0012-linux
./arduino

Появилось приветливое окошко, но в разделе Tools пункт Serial Port был затемнён :(
Посмотрев тот же гайд, я обнаружил, что это могу быть проблемы с разрешениями:
$ ls -l /dev/ttyUSB0
crw-rw---- 1 root tty 188, 0 2008-11-17 19:20 /dev/ttyUSB0

что, соответственно, приводит к трём вариантам решения этой проблемы - пустить себя в группу tty, поправить правила udev или запускать IDE от рута. Я выбрыл первое, это мне показалось наименее неприятным:
sudo vim /etc/udev/rules.d/40-general.rules
там находим строчку:
KERNEL=="ttyUSB[0-9]*", NAME="%k", GROUP="tty", MODE="0660", SYMLINK+="tts/USB%n", SYMLINK+="pilot%n"
и тут опять же - или менять группу, или менять пермишены. Я поменял права с 660 на 666.
После этого я перевоткнул устройство - и вуаля! У меня работает этот пункт меню :)

No comments: