Programmer's Note

コード読み書きの備忘録。

teensy 3.5でbare metal programmingことはじめ

ちとベアメタルプログラミングしたくなって、いい感じのマイコンボードないかと探していたら、teensyというのが、ARM Cortex-M4を使っていて手軽そうだったので購入してみた。

DEV-14055 Teensy USB Development Board - Teensy 3.5

標準ではArduino IDE環境を使う。Arduino環境にteensyの環境を上乗せしている感じ。 (手順はteensyのサイトに書いてある)

これだとC言語アセンブラで書いたコードのビルド方法がわからない。 ネット上で探しても最新の環境に合う手順書はなかった。

色々試してたが、結果的にそんなに大変でもなかった。

以下が最短距離メモ。 Arduino環境をインストールしなくてもTeensy向けのバイナリをビルド可能。

(1) ARMから最新の組み込みクロス開発環境をダウンロード

https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

Max OS X 64bitの結局tar.bz2を展開して、/usr/local/に放り込んだだけ。 あとはPATHを通しして終わり。

(2) Teensyのcore ライブラリのソースをゲットする

https://github.com/PaulStoffregen/cores

このPaulStoffregenのリポジトリはどういうものなのか、よく分かっていないが、 Arduino開発環境を使わない環境とMakefileがゲットできる。 (Makefileのオプション指定でArduinoを使用しないようにする。)

(3) 上記の中の、teensy3/ に入ってビルド

Makefileのビルドターゲットがmain.cppになっていて、これはLEDチカをやっているサンプルコード。

$ export COMPILERPATH=/usr/local/arm-none-eabi
$ export NO_ARDUINO=1
$ make

main.hexができるので、これをTeensy Loaderで実機にダウンロードして実行。

以上。