Linux
設定
Windows
|
H8設定(linux)C言語とアセンブラを使うためにH8 を Linux で使うために設定を行います. 目次C言語環境構築クロスコンパイラー開発環境はクロスコンパイラーを使うことになります.Linuxでのクロスコンパイラーの環境構築の方法は,いろいろあるようです.ここでは,インストールが簡単なrpmパッケージを使うことにします.rpmパッケージは,みついわゆきおさんのLinuxによるマイコンプログラミングのページの「GCC for SuperH,H8/300,AVR」から,H8/300H用バイナリパッケージ(Linux version)をダウンロードします.
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 とします.インストールが完了したならば, # h8300-hms-gcc -v とタイプし,バージョンが表示されることを確認しましょう.私の場合は, Using built-in specs. Configured with: ./configure --prefix=/usr/local --target=h8300-hms --with-newlib Thread model: single gcc version 3.4.3 と表示されました. 書き込みツールモトローラS2フォーマット(*.mot)ができあがったならば,それをH8に転送する必要があります.そのためのソフトウェアーをインストールします.これも,みついわゆきおさんのLinuxによるマイコンプログラミングのページの「Open SH/H8 writer」に公開されていますので,使わせてもらっています.私は,C言語のソースファイル
をダウンロードして,コンパイルしました.出来上がった実行ファイルは,パスの通った適当なディレクトリーに入れておけば良いでしょう.私は /usr/local/bin にコピーしました. # gcc -o h8write h8write.c # cp h8write /usr/local/bin テストコンパイルハードウェアーとソフトウェアーのテストをしてみましょう.Strawberry LinuxさんのgccによるH8マイコン開発に示されているLEDの点灯が簡単で良いです.そこにある, h8led-0.1-20020706.tar.gzをダウンロードしましょう.ダウンロードしたら,それを解凍し,ソースのあるディレクトリーに移ります. $ tar zxvf h8led-0.1-20020706.tar.gz $ cd h8led このままmakeしたのではなにもしませんので,とりあえず,ファイルを消します. $ rm h8led.exe h8led.mot led.o その後,makeします. $ make
そうするとモトローラSフォーマット(*.mot)のファイルが出来上がります.ここでは,h8led.motというファイルができあがるはずです.これをH8に転送すれば,実行できます. パソコンとH8の接続以下の回路図のとおりにブレッドボード上に部品を組み立てます.パソコンとの接続は,D-subコネクターを使いシリアルポートと接続します. 転送モトローラSフォーマット(*.mot)のファイルをH8に転送する方法を示します.転送する前に,H8とパソコンの接続し,準備をします.
h8writeコマンドを使って,ファイルをH8に転送します.このコマンドの使い方は,h8write -helpで見ることができますが,通常は $ h8write -ターゲットCPU motファイル デバイス とします.ターゲットCPUはH8のシリーズ名,motファイルはコンパイルしてできあがったファイル(*.mot),デバイスはシリアルポートを示します.シリアルポートのCOM1が/dev/ttyS0,COM2が/dev/ttyS1となり,使っているポートを指定しなくてはなりません. 先ほど作成したh8led.motを転送します. $ h8write -3664 h8led.mot /dev/ttyS0 結構,長い時間がかかりますので,気長に待ちましょう. もし次のようなエラーがでるようでしたら,それはシリアルポートの権限が無いためです.権限を変更するか,スーパーユーザー(root)で実行してください. FATAL:Can not open the line to the H8/OS 実行方法転送が成功すれば,実行は簡単です.
プログラム転送のためのDSUBのコネクターもじゃまなので,電源OFFの時に外してしまっても良いです. プログラムがちゃんと動作すると,1秒間隔でLEDが点滅します. 参考このページを作成するに当たり,以下のwebを参考にしました. |