LoginSignup
5

More than 5 years have passed since last update.

USBポートサイズマイコン「Tomu」の開発環境構築

Last updated at Posted at 2018-12-26

動画での解説はこちら。
getting started with tomu

tomuとは

tomuはUSBタイプAのポートにすっぽりとはまる、超小型のマイコンボードで、2つのボタン(タッチセンサ)と2つのLEDを搭載し、USBからの給電で動作します。

設計情報はすべてオープンソースで、PCBやケースを含めて12点の部品でできています。

USB DFU(Device Firmware Update)に対応しているので、専用ツールを必要とせずに、プログラムを書き込めます。

主なスペック

CPU: Silicon Labs Happy Gecko EFM32HG309
Clock: 25 MHz ARM Cortex-M0+
RAM: 8 KB
Flash: 64 KB フラッシュ
Interface:USB 2.0 FS
ボタン: 2
LED: 2 (赤 + 緑)

入手方法

国内ではスイッチサイエンスで販売しています。

開発環境の構築

quick startに従って開発環境を構築していきます。プログラムをビルドしてtomuに書き込んで実行するには以下3つのツールが必要です。

  • ARM toolchain
  • Make
  • dfu-utils

An ARM toolchain

ARMの開発者向けページ( GNU Toolchain GNU Arm Embedded Toolchain – Arm Developer )からDLするのが確実ですが、ここではpx4というオープンソースドローンのプロジェクトが公開しているformulaを使ってbrewでインストールする方法をご紹介します。
px4 https://px4.io/
github https://github.com/PX4/homebrew-px4
以下コマンドでインストールします。

$ brew tap PX4/homebrew-px4
$ brew update
$ brew install gcc-arm-none-eabi

Make

MakeはXCodeにバンドルされています。XCodeをインストールしていない場合はインストールして、以下のようにコマンドが実行出来ることを確認しておきます。

$ make -v
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

dfu-utils

tomuはUSB DFU(Device Firemware Update)という標準仕様に準拠しているため、専用のツールを必要とせずに、DFU用の汎用ツールでファームウェアを書き込めます。

dfu-utilはbrewでインストールできます。

$ brew install dfu-util

エラーが出る場合は

$ brew doctor

を実行して、表示される指示に従います。

サンプルの実行

githubからサンプルコードを取得します。

$ git clone git@github.com:im-tomu/tomu-quickstart.git
$ cd tomu_quickstart
このリポジトリに以下サンプルが含まれています。

bare-minimum    Does nothing, forever, without crashing.
miniblink   Blink the two LEDs using the SysTick timer.
usb-hid Emulate a USB mouse, and wiggle the cursor back and forth.
usb-msc Emulate a very small “USB Mass Storage” disk drive.
usb-midi    Provide a USB MIDI device that continuously sends NoteOn and NoteOff events.
usb-cdcacm  Communicate with Tomu over a virtual serial port.
opticspy     

tomuをUSBポートに差し込み、任意のディレクトリ内でmakeし、dfu-utilでtomuに新しいファームウェアを書き込みます。

$ cd usb-hid-keyboard
$ make
$ dfu-util --download usb-hid-keyboard.dfu

WebUSBでファームウェアを書き込む

Tomuは、ファームウェアの書き込みだけであれば、上記のような手順を踏まずに、WebUSB仕様に基づいて、ブラウザからファームウェア書き込みが出来ます。

TomuをUSBポートに差し込むと、bootloaderを認識したとポップアップメッセージが出るのでクリックすると、以下ページが開きます。

こちらのWebUI上で、以下の手順でファームウェアを書き込みます。

  • VenderIDでdapboot DFU bootloaderを選択しconnectボタンをクリック
  • ダイアログが表示されるので、Tomu Bootloaderを選択してconnect
  • Firmware DownloadのChoose fileボタンを押して書き込む.dfuファイルを選択し、downloadボタンをクリックで書き込み開始

参考

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
5