LoginSignup
4
4

More than 5 years have passed since last update.

Ubuntu 15.10 を使って Arduino M0 Pro で TOPPERS/ASP を動作させる

Last updated at Posted at 2015-12-23

はじめに

2015年11月30日、TOPPERS プロジェクト から Arduino M0 Pro の依存部を組み込んだ簡易パッケージがリリースされました。

数カ月前から TOPPERS/ASP を実機で試してみたいなぁ、と思っていたところに、ちょうど良いニュースでした。

ここでは、Ubuntu で前記 TOPPERS/ASP 簡易パッケージをビルドし、 Arduino M0 Pro に書き込み、動作確認したいと思います。

Windows じゃない理由は、個人的都合です(笑)

手順

一気に最終目標をやろうとすると、いろんな問題が一気に出てきてへこたれちゃうので、次の手順で進めました。

1. Arduino M0 Proの開発環境を準備する

/home/hogehoge/Programs/arduino-1.7.8-linux64/ に展開しているとします。
※ hogehoge は、ユーザー名です。

2. Linux 64-bit 用 TOPPERS/ASP コンフィギュレータを作成する

/home/hogehoge/Works/cfg/cfg/ に実行バイナリ cfg ができているとします。

3. TOPPERS プロジェクトの Arduino M0 (GCC) 簡易パッケージをダウンロードする

  • asp_arduino_m0_gcc-20151128.zip

4. ファイルを展開する

$ unzip asp_arduino_m0_gcc-20151128.zip

5. ステップ 2 で作成したコンフィギュレータ cfg を配置する

$ cp /home/hogehoge/Works/cfg/cfg/cfg asp_1.9.2/cfg/cfg/

※ cp 後、実行権限付与が必要かも?

6. ビルドのための修正

target_user.txt にビルドのための手順が記載されています。必読です。
- asp_1.9.2/target/arduino_m0_gcc/target_user.txt

$ cd asp_1.9.2

1. Arduino IDE の gcc-arm-none-eabi に PATH を通す

$ export PATH="$PATH:/home/hogehoge/Programs/arduino-1.7.8-linux64/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin"

※ これは一時的な export ですので、必要であれば恒久的な対策を行うと良いです。

2. Arduino IDE のインストールパスを Makefile.target に指定する

$ vi target/arduino_m0_gcc/Makefile.target

Makefile.target
#
# Arduinoの開発環境のパス(Windows表記)
#
ARDUINO_BASE_DIR_WIN = /home/hogehoge/Programs/arduino-1.7.8-linux64

3. Makefile.target の Windows 的な記述を訂正する

※ "\" を "/" に修正, openocd.exe ではなく openocd に修正, などです。

$ vi target/arduino_m0_gcc/Makefile.target

Makefile.target
#
#  フラッシュへの書き込み
#
#OPENOCD_PATH = $(ARDUINO_BASE_DIR_WIN)\hardware\tools\OpenOCD-0.9.0-arduino\bin\openocd.exe
#OPENOCD_SCRIPT_PATH = $(ARDUINO_BASE_DIR_WIN)\hardware\tools\OpenOCD-0.9.0-arduino\share\openocd\scripts
#OPENOCD_SCRIPT  = $(ARDUINO_BASE_DIR_WIN)\hardware\arduino\samd\variants\arduino_zero\openocd_scripts\arduino_zero.cfg
OPENOCD_PATH = $(ARDUINO_BASE_DIR_WIN)/hardware/tools/OpenOCD-0.9.0-arduino/bin/openocd
OPENOCD_SCRIPT_PATH = $(ARDUINO_BASE_DIR_WIN)/hardware/tools/OpenOCD-0.9.0-arduino/share/openocd/scripts
OPENOCD_SCRIPT  = $(ARDUINO_BASE_DIR_WIN)/hardware/arduino/samd/variants/arduino_zero/openocd_scripts/arduino_zero.cfg

ifeq ($(UNAME_TARGET), Cygwin)
    GDB = arm-gdb_m0.exe
else
#   GDB = $(ARDUINO_BASE_DIR_WIN)\hardware\tools\gcc-arm-none-eabi-4.8.3-2014q1\bin\arm-none-eabi-gdb
    GDB = $(ARDUINO_BASE_DIR_WIN)/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/arm-none-eabi-gdb
endif

4. ビルドする

$ cd target/arduino_m0_gcc/atmelstudio
$ make

7. Arduino M0 Pro を USB ケーブルで PC に接続する

Arduino M0 Pro 側は Native USB Port ではなく、Programming Port に接続します。

8. 書き込みを実行する

$ make run

complete ...

一旦、 PC から Arduino M0 Pro を抜き差しします。

9. シリアルモニタを準備する

Arduino IDE を起動し、シリアルモニタを起動しておきます。
転送速度は、115200 bps です。
シリアルコマンド入力欄に sample1.c 記載のキーを入力すると sample1 の動作を確認できます。

Screenshot--dev-ttyACM0.png

おわりに

個人的な感想なのですが、今まで「 TOPPERS/ASP の簡易パッケージの対象ハードウェアが古いなぁ」と感じておりました。
そこに、最新のハードウェアに対応した簡易パッケージがリリースされ、個人的に盛り上がった次第です。
Arduino M0 Pro は、他の Arduino に比べると少々お高いですが、入手性がかなり良いと思いますので、ぜひ試していただければ幸いです。

4
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4