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で実機にダウンロードして実行。
以上。