アットウィキロゴ

環境構築 (elf)

-

H8ライタ

h8write

ソースおよびコンパイル後の実行形式は以下
/home/***/H8_dev/
実行形式は/usr/local/bin にコピーしパスが通るように設定

ただしh8writeはバグがあるらしくkz_h8writeを使用する。

kz_h8write

ソースおよびコンパイルの実行形式は以下
/home/***/H8_dev/kz_h8write/src
実行形式は/usr/local/bin にコピーしパスが通るように設定

クロス開発環境

GCC のダウングレード

Vine Linux 6.2 を入れたので、デフォルトのGCCは4。
4でもいいらしいが色々と上手くいかないことが多いようなので、ダウングレードする
まず、既存のGCCを消す
# apt-get remove gcc
そしてGCC3.xをインストールする
さきにUpdateしておく
# apt-get update
# apt-get install gcc3

ソースファイルのダウンロード

GNUのリンクから「binutils-2.17.tar.bz2」と「gcc-core-3.4.6.tar.bz2」をダウンロードする

binutilsのコンパイルとインストール

binutilsからはじめる。次のコマンドを入力。
$ cd /usr/local/src/binutils-2.17/
$ mkdir build-h8300-elf
$ cd build-h8300-elf/ 
ここでは、binutilsディレクトリに移動し、その中に作業用の「build-h8300-elf」ディレクトリを作っています。
続いて次のコマンドを入力してください。
$ ../configure --target=h8300-elf --prefix=/usr/local 
–target=h8300-hmsにすると以下のように失敗します→–target=h8300-elfにする
checking whether to build static libraries... yes
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror
checking whether byte ordering is bigendian... no
This target is no longer supported in gas
make[1]: *** [configure-gas] Error 1
make[1]: Leaving directory `/usr/local/bin/binutils-2.20/build'
make: *** [all] Error 2
クロス開発環境の構築では、コンフィグレーションといって、最初に環境を決める設定行います。コンフィグレータはソフトの動作環境やオプション設定に合わせて、Makefikeを生成します。
結果を「ls」コマンドで確認すると、次のようなファイルが作られているのが分かります。
$ ls
Makefileconfig.cacheconfig.logconfig.statusserdep.tmp 
次に「make」コマンドでbinutilsパッケージをコンパイルします。コンパイルにはしばらく時間がかかります。
$ make 
コンパイルが終了したら、次の「make」コマンドでパッケージをインストールします。インストールにもしばらく時間がかかります。
$ make install 
インストールが終了したら、binutilsを確認しましょう。ここでアセンブラのバージョンを表示します。次のコマンドを入力してください。
$ h8300-elf-as --version
GNU assembler 2.17
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.This program has absolutely no warranty.
This assembler was configured for a target of `h8300-elf'.
H8マイコン用binutilsは、コンフィグレーションの「prefix」オプションで指定した「/usr/local」にインストールされます。binutilsの各種コマンドは、「bin」ディレクトリに置かれます。

gcc-coreのコンパイルとインストール

binutilsに続き、gcc-coreをコンパイル・インストールします。手順はbinutilsと変わりません。
以下のようにディレクトリを移動し、作業ディレクトリを作ります。
$ cd /usr/local/src/gcc-3.4.6/
$ mkdir build-h8300-elf
$ cd build-h8300-elf/ 
さらに、コンフィグレーションします。
$ ../configure --target=h8300-elf --prefix=/usr/local/ --with-newlib --with-headers=/usr/local/src/newlib-1.17.0/newlib/libc/include/ --enable-languages=c 
そして、「make」コマンドでコンパイルします。
$ make 
コンパイルが完了したらインストールします。
$ make install 
それでは確認してみましょう。以下のコマンドを入力してください。
$ h8300-elf-gcc --version
h8300-elf-gcc (GCC) 3.4.6
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.
$ 
上記のようなメッセージが表示されれば問題ありません。

newlibのコンパイルとインストール

最後にnewlibをコンパイル・インストールします。
以下のコマンドでディレクトリを移動し、作業ディレクトリを作ります。
$ cd /usr/local/src/newlib-1.17.0/
$ mkdir build-h8300-elf
$ cd build-h8300-elf/ 
さらに、以下のようにコンフィグレーションします。
$ ../configure --target=h8300-elf --prefix=/usr/local/ 
続いて、「make」コマンドでコンパイルします。
$ make 
コンパイルが完了したら最後に、インストールを行います。
$ make install 
以上で標準Cライブラリがインストールされました。




...いろいろやったが、みついわさんのところから、rpmパッケージを持ってきてインストール。。
ここも参考。
開発環境はクロスコンパイラーを使うことになります.Linuxでのクロスコンパイラーの環境構築の方法は,いろいろあるようです.ここでは,インストールが簡単なrpmパッケージを使うことにします.rpmパッケージは,みついわゆきおさんのLinuxによるマイコンプログラミングのページの「GCC for SuperH,H8/300,AVR」から,H8/300H用バイナリパッケージ(Linux version)をダウンロードします.
   h8-binutils-2.13-1.i386.rpm
   h8-gcc-3.2-1.i386.rpm
   h8-newlib-1.10.0-1.i386.rpm
rpmパッケージなので,インストールは簡単で,rootになり,
   # rpm -ivh h8-binutils-2.13-1.i386.rpm
   # rpm -ivh h8-gcc-3.2-1.i386.rpm
   # rpm -ivh h8-newlib-1.10.0-1.i386.rpm



configure, make, makeinstall のこと

Linuxには,Red Hat系のRPM,Debianのdeb形式のようにディストリビュートに依存したバイナリ形式のパッケージがある。
しかしMIPS/LinuxやSlackwareなど,RPMもdebも利用できない場合には,ソフトのインストールにはtarballと呼ばれるtarコマンドでソースがアーカイブされたものを使用しなければならない。
バイナリパッケージには手軽にインストールできるという魅力があるが,tarballには常に最新バージョンを手に入れられるという安心感がある。
現在スタンダードなtarballは拡張子に「xxxxxxxx.tar.gz」と付けられているものがほとんどだ。この形式のファイルは,次のような手順でインストールを行う。
$ tar zxfv xxxxxxxx.tar.gz
$ cd xxxxxxxx
$ ./configure
$ make
# make install
ここでの, configure
make
make install
には,それぞれ次のような意味合いがある。
 「configure」は,これからインストールを行うOSのCPUやバージョンを調べたり,必要な関連ツールを調査する。そして,これらの状況を記述したMakefileファイルを作成する。
 「make」は,configureで作成されたMakefileを基にしてソースコードをコンパイルする。ここでエラーが起こる場合には,configureで環境に沿ったパラメータを付加させなければならない。
 「make install」は,makeで生成されたバイナリファイルなどを規定のディレクトリにコピー(インストール)を行う。インストール先のディレクトリは,自分で設定したい場合にはconfigureで「--prefix=/usr/xxxxxx」などとパラメータを付加させる必要がある。

一般的に、一度 configure を実行した後に配布時の状態に戻したい場合は
% make distclean
とすると実行ファイル・オブジェクトファイル・Makefile などが消去される。


h8/osをROMに焼く

h8/osの入手

みついわさんのところから、h8/os(コマンドインタープリタ付き)をDL (H8/OS ver3.51)
h8writeで書き込み
# h8write -3069 -f20 plus3068.mot /dev/ttyUSB0

h8/osとの通信

シリアルターミナルをインストール
kermitをインストールしたかったが、apt-getで見つからなかったのと、時間がなかったのとで、
minicomをインストール
# apt-get install minicom
minicomインストールと設定
上記参考に設定まで完了。
「通信パラメータ P」で以下を設定
57600bps
8ビット長
パリティなし
1ストップビット
ハードウェアフロー
※これは毎回やらないといけないっぽい。保存できないかなぁ?

「設定 O」で以下を設定
シリアルポート → シリアルデバイス → /dev/ttyUSB0
"dfl"に設定を保存(わからんけど一応)


設定完了後、minicomを一旦終了、H8電源オフ、H8を通常モード(ON,OFF,ON,OFF)に設定、
minicom を再び起動し、H8の電源オン
Welcome to the H8 Monitor !!
と出ればOK
終了する時は、ctrl+a -> q

次は、h8/osの上位版?の、MESを入れてみるか。
(MESで開発をすすめるかどうするか。マルチタスクである必要もあまりなさそうだし、キュメントが多い方が良さそうかな)

タグ:

+ タグ編集
  • タグ:
最終更新:2014年11月11日 20:10