H8/3069Fを買ってきました。
H8/3069F用のビルドにはgcc-3.4.6(2006年リリース)を使うそうで、Macでビルド環境を作るのは大変なようです(一度試してみたのですが、とてもめんどくさい)
現在の環境に気を使って構築するのも。。なのでDockerを使うことにしました。
gccの4系でも動くそうですがクロスプラットフォームのビルド環境の準備は何かと面倒くさいのは変わらないようです。
ここで出来ること
Docker使ってH8/3069Fのビルドとフラッシュの書き込み環境が作れる
※ 試すためにはH8/3069Fのマイコンを自分で用意する必要がある
書籍
12ステップで作る組込みOS自作入門 2010/05出版
買ってきたもの
- H8/3069Fネット対応マイコンLANボード 2006/01/23発売
- USB-シリアル変換ケーブル
- ACアダプタ5V2A
- RS232Cケーブル
環境
- Mac Yosemite 10.10.4
- Boot2docker v1.7.1
- VirtualBox 4.3.28 (Boot2docker付属のもの)
- md_PL2303_MacOSX-10.6-10.10_v1.5.1.zip
- Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309
Boot2Docker環境構築
How to useを見てBoot2Docker環境を構築
USBtoSerialをVirtualBoxで認識する
md_PL2303_MacOSX-10.6-10.10_v1.5.1.zipと、Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309をインストールし下記を設定
※USBドライバのインストール後にMacの再起動が必要
h83069fコンテナ構築
$ eval "$(boot2docker shellinit)"
$ docker pull otmb/h83069f
- コードはコンテナに置く場合
$ docker run --name h83069f -it --privileged -v /dev/ttyUSB0:/dev/ttyUSB0 otmb/h83069f bash
- ローカルにコードを置いて管理する場合
$ cd ~/
$ git clone https://github.com/otmb/h83069f.git
$ docker run --name h83069f -it --privileged -v /dev/ttyUSB0:/dev/ttyUSB0 -v $HOME/h83069f:/root otmb/h83069f bash
$ docker attach h83069f
$ cd /root/src/01/bootload
$ make
$ make image
$ make write
Makefile
makeの設定
PREFIX = /usr/local
ARCH = h8300-elf
はまりみち
-
USB2シリアル ドライバ認識
-
ドライバが認識出来ていればMacでは
/dev/tty.usbserial
で認識。- Oracle_VM_VirtualBox_Extension_Packを入れてVirtualBoxを起動すると
/dev/tty.usbserial
は見えなくなる。
- Oracle_VM_VirtualBox_Extension_Packを入れてVirtualBoxを起動すると
-
VirtualBoxを起動し、
$ boot2docker ssh
でログインすると/dev/ttyUSB0
が出来ている
-
-
H8/3069Fのジャンパー設定
- フラッシュへのReadとWriteはジャンパーを変える必要がある(詳しくは書籍参照ください)
Docker操作メモ
-
$ eval "$(boot2docker shellinit)"
環境変数適用 -
$ docker stop h83069f
docker停止 -
$ docker start h83069f
docker起動 -
$ docker attach h83069f
でdocker接続[Ctrl+PQ]
でbash抜ける
Docker bash内操作メモ
-
minicom
で接続、[Ctrl+A]+X
で抜ける -
make
,make image
,make write
に対応(してるはず)
その他:自分でビルドする
$ git clone https://github.com/otmb/h83069f.git
$ cd h83069f
$ docker build -t h83069f
参考: Dockerfile
その他:ビルドする時だけ起動する
$ cd ~/h83069f
$ docker run --rm -v `pwd`:/root -w /root/src/01/bootload otmb/h83069f make
所感やら雑談
H8/3069Fはファーストステップ(ビルド環境構築)が大変とのことで、コンテナを使うことで環境構築が楽になればと思い公開しました。
といっても、環境構築から楽しまれる方もいます。
なお、Dockerfileはregistry.hub.docker.comにあるOFFICIAL REPOgccを参考に作成しました。
コンテナも今後は共通コンテナ仕様がでてくると手順諸々変わってしまうので、参考程度にお使いください。
あと、組み込み系のビルドとDockerの相性が意外に良いので驚きました。
しかし、今使ってる回線がWiMAXなのでDocker扱うのは遅くて大変です。
WiMAX2でもないし、どんどん遅くなる。。そろそろ変えないとなぁ。