Linux
Windows
設定
|
H8設定 (windows)C言語とアセンブラを使うためにH8 の Windows を使ったクロスコンパイラー環境を整えます. 目次C言語環境構築アセンブラ言語どれを使うかアセンブラ言語を使ってのH8の開発については,いろいろな書籍で説明している.どのようなものが使われいるか調べてみた(下表).ほとんどのものが秋月電子通商から販売されてる A38H.EXE を使っていることがわかる.これはAKI-H8/3664 タイニーマイコンキット(開発ソフト付)に含まれており,リンカーなどその他必要なものがそろって4500円である.そこそこ安価で簡単に開発環境が構築できるので,これが使われているのであろう.我々もWindowsでのH8の開発は,これを使うことにする.
インストールと設定インストールは,CD-ROMの中身をディレクトリーごとコピーするだけである.Cドライブの直下にディレクトリー3664を作成してコピーした.秋月電子通商のアセンブラはASM38.EXEであった.A38H.EXEは古いアセンブラなのか???? アセンブラー(ASM38.EXE)やリンカー(LNK.EXE),ターミナルソフト(HTERM.EXE)の場所をpathに記述しておく.Windowsの環境変数は,マイ コンピュータのプロパティから設定する.マイ コンピュータを右クリックし,プロパティを選択する. そうするとシステムのプロパティが表示されるので,詳細のタブをクリックする.次に,環境変数のボタンをクリックする. システム環境変数のPathを選択して,編集ボタンを押す. このPathに書かれた順にプログラムが探索され,名前が一致したものが実行される.Pathの最後に,インストールしたディレクトリーを記述する.現在の私のPCの環境変数は, C:\Perl\bin\;C:\winnt\system32;C:\winnt;C:\winnt\System32\Wbem;C:\SFU\common\;C:\LANL;C:\3664\ASM;C:\3664\WRITER となっている.最後の2つ(C:\3664\ASM;C:\3664\WRITER)がH8のアセンブラプログラミングのためにプログラムをインストールしたディレクトリーである.pathは絶対パスで記述し,区切りにはセミコロン(;)を用いる. pathを記述したら,OKボタンを数回押して,ダイアログを閉じる. テストアセンブラプログラムの開発環境が整ったならば,サンプルプログラムでテストを行うのがよいだろう.アセンブラプログラムの作成から実行までの手順は,次のとおりである.
ここでは,サンプルプログラムを使って,この一連の操作を行いアセンブラの開発環境が整ったことを確かめる.ただし,テキストエディターでソースプログラムを記述することは省く. ソースのダウンロードまずは,サンプルプログラム(sample.asm)をダウンロードする.ダウンロードしたファイルは,C:\H8testなどの適当なディレクトリーに入れておく. この程度のプログラムであれば,適当なテキストエディター,たとえばワードパッドなどを用いて記述してもよいだろう.ただし,ファイルの種類はテキスト ドキュメントとして保存しなくてはならない. コマンドプロンプトの起動これからの作業は,Windowsのコマンド プロンプトを使う.コマンド プロンプトを立ち上げるために,Windowsのスタートのプログラムのアクセサリーからコマンドプロンプトを選択する(Windows画面).するとDOS窓と呼ばれるコマンド プロンプトが起動される. 最初にダウンロードしたソースファイルのあるディレクトリーに移動する.コマンドc(cd)とディレクトリー名(c:\H8test)をコマンド プロンプトに書き,Enterを押す. > cd c:\H8test >は書く必要はない.コマンドプロンプトの入力を示しているだけである. 移動したディレクトリーにダウンロードしたファイルがあることを,コマンド > dir
で確認する.ソースファイルが見えるはずである(コマンド プロンプト画面). アセンブル次にソースファイルをアセンブルする.ASM38.EXEというアセンブラを用いて,ソースファイルsample.asmをアセンブルしてオブジェクトファイルsample.OBJを作成する. > asm38 sample.asm このコマンドを入れた後,Enterを押すと,アセンブルが終了するはずである(コマンド プロンプト画面). リンクアセンブルが済んだならば次はリンクである.オブジェクトファイルsample.OBJをリンカーにかけてアブソリュートファイルsample.ABSを作成する. > lnk sample.OBJ リンクが無事,終了するはずである(コマンド プロンプト画面). 配線いよいよ,H8にプログラムを転送することになる.そのためには,H8の配線作業が必要である.配線は,下図のようにする.リセットスイッチ(CN1 12)とLED(CN2 8)は接続しないでも,プログラムの転送はできるが,実行時に使うのでここで配線をしておく.リセットスイッチがなくてもプログラムの実行はできるので,面倒な人は接続しなくてもよい. プログラムの転送配線が完了したら,以下のように転送の準備をする.
H8の方の準備が整ったので,書き込みプログラムHTERM.EXEを用いてプログラムをWindowsからH8に転送する.まずは,HTERMを起動させる. > hterm
次にキーボードの[Ctrl]キーを押して[F]キーを押す.すると,「Set Boot Mode and Hit Any Key.」と表示されるので,どれでもよいからキーボードのキーを押す.制御プログラム名の入力を促すメッセージ「Input Control Program Name :」が表示される.絶対パスで制御プログラム 3664.MOT を指定しなくてはならない.そこで, C:\3664\WRITER\3664.MOT と入力する. これが問題なく動作すると,作成したプログラム名を促すメッセージ「Input Program File Name :」とメッセージが表示される.ここで,リンカーで作成したアブソリュートファイル名 sample.ABS を入れる.Program Comleted. と表示されればOKである.これで HTERMの仕事は終わりである.[Esc]キーを押すと,HTERMは終了して,コマンド プロンプトの入力画面に戻る.これ以降,コマンド プロンプトは使わないので終了させてもよい. プログラムの実行H8にプログラムが転送できたら,サンプルプログラムを動作させる.次のようにすれば,プログラムは実行される.
H8の電源をONにした瞬間にプログラムの動作が始まり,LEDが点滅する. 練習問題なくサンプルプログラムが動作したならば,アセンブルからプログラムの実行までの練習を重ね,これらの処理に慣れることを勧める.ここで用いたサンプルプログラムの一部を変更して,実行させるのがよいだろう.以下の示すサンプルプログラムの10と15行の値(16進数)を変えると,点滅の間隔が変わる.これらの値を変えて,プログラムを実行してみよ. 01: .CPU 300HN 02: .SECTION VECTOR,DATA,LOCATE=H'0 03: .DATA.L START 04: .SECTION PROG,CODE,LOCATE=H'34 05: START: MOV.L #H'0000FF80,SP 06: MOV.B #H'01,R0L 07: MOV.B R0L,@PCR8 08: LP: MOV.B #H'01,R0L 09: MOV.B R0L,@PDR8 10: MOV.L #H'00200000,ER0 11: ON: DEC.L #H'00000001,ER0 12: BNE ON 13: MOV.B #H'00,R0L 14: MOV.B R0L,@PDR8 15: MOV.L #H'00100000,ER0 16: OFF: DEC.L #H'00000001,ER0 17: BNE OFF 18: BRA LP 19: PCR8: .EQU H'FFEB 20: PDR8: .EQU H'FFDB 21: .END 参考このページを作成するに当たり,以下を参考にしました.
|