2013年3月13日水曜日

Arduino.mk on Ubuntu 12.04 LTS

環境


arduino-1.0.3

for YAML.pm
sudo apt-get install libconfig-yaml-perl

for Device/SerialPort.pm
sudo apt-get install libdevice-serialport-perl

配置


~/.arduino フォルダを拡張する

~/.arduino
  |- preferences.txt
  |- arduino-1.0.3/
  |- arduino-mk-0.10/

ln -s arduino-1.0.3 arduino
ln -s arduino-mk-0.10 arduino-mk

~/.bashrc ファイル末尾
ARDUINO_BASE=$HOME/.arduino
export ARDMK_DIR=$ARDUINO_BASE/arduino-mk
export ARDUINO_DIR=$ARDUINO_BASE/arduino
export AVR_TOOLS_DIR=$ARDUINO_DIR/hardware/tools/avr
export AVRDUDE=$ARDUINO_DIR/hardware/tools/avrdudeよ
export AVRDUDE_CONF=$ARDUINO_DIR/hardware/tools/avrdude.conf


Makefile


MakefileはTARGET環境変数の設定が無い場合はカレントディレクトリ名をターゲット名にするようになっているので、フォルダの中に入れる。

 例:IRrecvDemoサンプルをコンパイルするMakefile

ARDUINO_BASE = $(HOME)/.arduino
ARDMK_DIR = $(ARDUINO_BASE)/arduino-mk
ARDUINO_DIR = $(ARDUINO_BASE)/arduino
AVR_TOOLS_DIR = $(ARDUINO_DIR)/hardware/tools/avr
AVRDUDE = $(ARDUINO_DIR)/hardware/tools/avrdudeよ
AVRDUDE_CONF = $(ARDUINO_DIR)/hardware/tools/avrdude.conf
BORD_TAG = uno
ARDUINO_LIBS = IRremote
ARDUINO_PORT = /dev/ttyACM0
include $(ARDMK_DIR)/arduino-mk/Arduino.mk

make


  • depend.mkが無いと怒られるが無視してよい。
  • build.pid, build.vidが無いと怒られるがLeonardo用なのでunoでは無視して良い。
uno の場合は、build_unoフォルダを掘り、加工したソースをbuild_unoに置いて、そこでコンパイルする。
再度makeしたときに「ターゲットがありません」と怒られたらカレントディレクトリがbuild_unoに切り替わってないか注意する。

arduinoへ転送


arduino unoを接続してから make upload

0 件のコメント: