Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

動画での解説はこちら。
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 (赤 + 緑)

入手方法

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

https://www.switch-science.com/catalog/5254/

開発環境の構築

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を認識したとポップアップメッセージが出るのでクリックすると、以下ページが開きます。

https://dfu.tomu.im/

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

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

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした