9
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DockerでH8/3069Fビルド環境構築

Last updated at Posted at 2015-07-26

H8/3069Fを買ってきました。
H8/3069F用のビルドにはgcc-3.4.6(2006年リリース)を使うそうで、Macでビルド環境を作るのは大変なようです(一度試してみたのですが、とてもめんどくさい)
現在の環境に気を使って構築するのも。。なのでDockerを使うことにしました。
gccの4系でも動くそうですがクロスプラットフォームのビルド環境の準備は何かと面倒くさいのは変わらないようです。

ここで出来ること

Docker使ってH8/3069Fのビルドとフラッシュの書き込み環境が作れる
※ 試すためにはH8/3069Fのマイコンを自分で用意する必要がある

書籍

12ステップで作る組込みOS自作入門 2010/05出版

買ってきたもの

環境

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をインストールし下記を設定

スクリーンショット 2015-07-26 15.08.36.png

※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は見えなくなる。
    • 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でもないし、どんどん遅くなる。。そろそろ変えないとなぁ。

9
11
0

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
9
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?