LF53hazi.PDF

エルアンドエフH8S2643F CPUボード(LF53用)
はじめの一歩
マニュアルを読む順序
次の順番でマニュアルを読んでください。
①はじめの一歩(このマニュアル)
②YCシリーズCコンパイラ プログラマーズマニュアル
簡単なチュートリアル
タイマー割込みを使って一定間隔でメッセージを表示するという簡単な例を用いてYellowIDEの使い方を説明します
。
■Y e l l o w I D E の起動と初期設定
WindowsのスタートメニューからYellowIDEを起動してください。
次に、メニューの(ターミナル)->(設定)を開いてください。
ここで使用するパソコンのCOMポートを選択してください。(通信設定)をクリックするとボーレートなど変更でき
ますが、最初の状態のままにしておいて下さい。これで、初期設定は終了です。
■ハードウェアの準備
①CPUボードのCN5とパソコンをRS232Cケーブルで接続します。
②CPUボードの電源コネクタCN3に5V電源をつなぎます。
③DIPスイッチを2番だけONにします。(ブートモード)
以上でハードウェアの準備は終了です。
1
■プログラムの作成
まず、YellowIDEを起動します。そしてプロジェクトを作成します。メニューの(ファイル)->(プロジェクトの新
規作成)を選びます。そしてYellowIDEをインストールしたフォルダの下にあるSAMPLEとういフォルダ開きます。
さらにPrj2643というフォルダを開きます。
ここで[ファイル名]のところに"test"と入力して(開く)ボタンをクリックします。
以上でプロジェクトが作成されました。
■プロジェクトにファイルを追加
プロジェクトウインドウの(追加)ボタンをクリックしてください。ここでダイアログからTEST.Cを入力してくださ
い。
これでTEST.Cがプロジェクトに登録されました。登録したらプロジェクトウインドウのソースファイル名をダブルク
リックして下さい。そのソースファイルが開きます。
2
■ターゲットの設定
プロジェクトウインドウの(設定)ボタンをクリックして下さい。
CPUの種類をH8S/2600にしてください。
オブジェクトの形式をROM化(Sフォーマット)にしてください。
次に"スタートアップ"のタグをクリックして下さい。
スタートアップルーチンの(参照)ボタンをクリックして「エルアンドエフ」というフォルダの中の"CS2643.ASM"を
選択して下さい。
3
次に"セグメント定義"のタグをクリックしてください。
下の方にあるボックスに次のように入力して下さい。
ROM番地 00000000---3FFFF
RAM番地 400000 ---4FFFFF
そして、2つある(自動作成)のボタンを両方ともクリックして下さい。(外部RAMを使わないで内蔵RAMだけでプロ
グラムを組む場合はRAM番地は内蔵RAMの番地を用います。しかし外部RAMを使用しない場合は後で説明する、"RAMへダ
ウンロード"と"イエロースコープのリモートデバッグ"は使用できなくなります)
次に”割込み”のタグをクリックします。
右側にあるベクタ番号に"25"と入力します。関数名に"timer"と入力して、最後に(登録)ボタンをクリックします。
次に"メモリマップ”のタグをクリックして下さい。
4
(イエロースコープをもっていない方はここは飛ばして下さい。)
[デバイス]の種類をROMにします。開始アドレスを0にします。終了アドレスを3FFFFにします。そして(追加)ボタ
ンをクリックして下さい。
以下同様に次のように設定します。
[デバイス]
[開始アドレス]
[終了アドレス]
RAM
400000
4FFFFF
RAM
FF0000
FFFFFF
最後にグローバルアドレスマスクを"FFFFFF"にします。(Fが6個)
ここの設定は面倒なので保存しておくことができます。下の方にある(設定1保存)ボタンで保存名を"H8標準"にし
て保存しておいて下さい。
以上でプロジェクトの設定は終了です。設定画面の一番下にある(OK)ボタンをクリックしてダイアログを閉じて下
さい。
■メイク
メイクはメニューから(プロジェクト)->(メイク)を選ぶか、スピードボタンの
ます。次のメッセージが出てプログラムが完成です。
をクリックするか[F9]キーを押し
ここに警告とエラーの数が表示されます。もしエラーがあればYIDEの下にあるエラーボックスにエラーメッセージが
表示されます。
5
このエラーメッセージをダブルクリックすれば、ソースファイルの対応する行が反転表示されます。もしソースファ
イルが開いていなければ自動的に開いて、エラーの行を反転表示させます。
■プログラムをフラッシュR O M に書き込んで実行させる。
今、完成したプログラムをターゲットのCPUのフラッシュROMに焼いて実行させてみましょう。
まず、CPUボードのDIPスイッチを2番だけONにして、リセットして下さい。これでCPUはブートモード(書き込みモー
ド)で起動します。
次にスピードボタン
あるいは
のボタンをクリックして下さい。フラッシュROMライタが起動します。
[CPU情報ファイル]の(参照)ボタンをクリックしてH8S2643.fwiを選択します。
[COMポート]を選択します。
最後に(書込み)ボタンをクリックすれば書込みが始まります。
青いバーが2回、最後まで伸びれば、書込み終了です。終了したらフラッシュROMライタを閉じて下さい。
次に今書き込んだプログラムを実行させます。
CPUボードのDIPスイッチを2番をOFFにして3番だけONにします。
次にYellowIDEのターミナル画面をメニューの(ターミナル)→(表示)で開きます。
最後にCPUボードのリセットボタンを押して下さい。
黒い画面に、"Hello"と一定間隔で表示されます。
黒いターミナルウインドウはその都度、必ず閉じておいて下さい。ターミナルウインドウが開いたままだとフラッシ
ュROMライタやイエロースコープが通信ポートを利用できないからです。
6
さて、これでプログラムの作成方法と実行の方法を修得しました。しかし直接ROMに焼いて実行させる方法はデバッ
グ中は何かと不便です。そこで他の実行方法も紹介します。
■R A M へダウンロードしてR A M 上で実行させる
ROMより、RAMの方が書き込む速度は速いです。またフラッシュの寿命も気になりません。そのためプログラムをRAM
上で動作させる方法を紹介します。
最初にプログラムをRAMへ転送させる"ダウンローダ"と呼ばれるプログラムをCPUのフラッシュROMに書き込んでおき
ます。これはデバッグの最初の一回だけやっておけば十分です。フラッシュに何も書き込まなければダウンローダはこ
のまま残ります。
最初に”ダウンローダ”のプログラムをCPUのフラッシュROMに書き込みます。DIPスイッチを2番だけONにして、リセ
ットします。先ほどはフラッシュROMライタを起動するのにスピードボタンをクリックしていましたが、今回はメニ
ューから起動します。メニューの(ツール)→(フラッシュROMライタ(ファイル指定))で起動して下さい。違いは
書き込む途中で書き込むファイルを聞いてくることです。
(書込み)ボタンをクリックして下さい。一回目の転送が終わった後に書き込むファイルを入力するダイアログが開
きます。
ここで、YellowIDEをインストールしたフォルダの下のLOADERというフォルダの下の「エルアンドエフ」というフォ
ルダの中のLF53というフォルダの中のH8S2643LOAD.Sというファイルを指定して開きます。
書込みが終了したらDIPスイッチを3番だけONにして下さい。
以上でダウンローダの書込みが終了しました。次に、先ほどのサンプルプログラムのプロジェクトに戻ります。
サンプルのプロジェクトに戻ったら、プロジェクトウインドウの[object]の▼のボタンをクリックして、"RAMへダウ
ンロード(S)を選択して下さい。
そして、もう一度メイクします。
グラムが作成されました。
をクリックすればメイクが行われます。これで"RAMへダウンロード"用のプロ
そして、今度はこれをRAMへ転送して実行させます。
のボタンをクリックして下さい。
7
するとターミナルウインドウが開いて、次のように聞いてきます。
ここでCPUボードをリセットしてください。黒いターミナルウインドウに"S-READER START"と表示されるのを確認し
て(はい)ボタンをクリックしてください。
プログラムが転送されます。プログラム転送終了後に"Hello"が一定間隔で表示されます。
ダウンローダは一度書き込めば残りますから、プログラムを修正する度にダウンローダを書き込む必要はありません。
ただし、他のアプリケーションやイエロースコープのモニタなどをフラッシュに書き込むとダウンローダは消えてしま
いますから、その場合はもう一度、ダウンローダのファイルを開いて書き込みます。
8
別売のイエロースコープの使用
イエロースコープを同時に購入された方はここからの説明を読んでください。(以前にイエロースコープを購入され
た方はイエロースコープのアップデートが必要です。プログラマーズマニュアルをご覧ください)
イエロースコープには2つのデバッグモードがあります。プログラムをROMに書き込んでROM上でデバッグするROMデ
バッグモード、プログラムをRAMに転送してRAM上でデバッグするリモートデバッグモードです。最初にリモートデバッ
グモードを説明します。
■リモートデバッグモードでのデバッグ
リモートデバッグは転送が高速なこと、デバッグ機能上の制約が少ないことが長所ですが、プログラムをダウンロー
ドするための外部RAMが必要なことなどが短所です。詳しくイエロースコープのマニュアルをご覧ください。
リモートデバッグするには添付のモニタプログラムを内蔵フラッシュROMに焼かなければなりません。方法は、先ほ
ど"ダウンローダ"を書き込んだ方法と同じです。
(ツール)→(フラッシュROMライタ(ファイル指定))でフラッシュROMライタを起動します。CPUボードのDIPスイ
ッチを2番だけONにし、リセットして下さい。次に(書込み)ボタンをクリックして途中でモニタのファイルを指定し
ます。場所はYellowIDEをインストールしたフォルダの下のREM-MONというフォルダの下の「エルアンドエフ」という
フォルダの中のLF53というフォルダに2643.sというファイルがありますからそれを開いて下さい。
モニタの書込みが終了したら、ここで簡単なモニタの動作チェックをします。
ターミナルウインドウを開き、DIPスイッチを3番だけONにし、リセットします。そうすると画面に"Aソ"と表示されま
すから、リターンキーを入力します。画面に"チ?"と表示されれば正常です。
モニタが正常に動作していることを確認したら、ターミナルウインドウを閉じ、次にプロジェクトウインドウの
[object]から以下のようにリモートデバッグを選んで下さい。
リモートデバッグを選んだら、
でメイクをして、
をクリックするとイエロースコープが起動します。
イエロースコープの起動と初期設定
イエロースコープを起動したら。最初エラーがでる場合がありますが、無視して(OK)ボタンをクリックします。
起動したら、イエロースコープの(設定)->(環境設定)を開きます。
9
ここで通信ポートを選択します。(ポート設定)のボタンをクリックすると通信設定を変更できますが、変更しない
で下さい。通信設定を変更するにはモニタの変更が必要だからです。COMポートだけ選んで(OK)をクリックします。
これで初期設定は終了です。それではイエロースコープで動作させてみます。まず[F11]キーを何度か押し続けて下
さい。プログラムが一行づつ実行されるのが分かると思います。
次に実行ログウインドウを開きます。イエロースコープのメニューの(表示)→(ログ)で灰色のウインドウを開きま
す。次に、[F5]キーを押して下さい。プログラムが連続して動作します。それと同時に実行ログウインドウに"Hello"
が一定間隔で表示されていきます。
イエロースコープのメニューの(デバッグ)→(中断)でプログラム止めて下さい。
次に割込み関数の中をトレースしてみます。割込み関数timerの中のdum=TCSR0_Rのところの行をクリックしてカー
ソルを点滅させて下さい。ここで[F9]キーを押します。行の色が変わります。これがブレークポイントです。プログラ
ムがここを通過すると、停止します。
[F5]キーを押して下さい、プログラムがこのブレークポイントで停止するのが分かります。行のラインの色が変わっ
たら停止の合図です。ここで[F11]キーを押せば再びトレースできます。
以上でリモートデバッグの説明は終わりです。もっと詳しくはイエロースコープのマニュアルをご覧ください。尚、
上記の画面で__break__というのがありますが、これは次に説明するROMデバッグの際に使用します。
10
■R O M デバッグモードでのデバッグ
外部RAMがない場合などは、このROMデバッグモードが有効です。プログラムをROMに書き込んだ状態でデバッグしま
す。リモートデバッグと違いモニタを予め書き込んでおく必要はありません。モニタはユーザのプログラムとリンクさ
れて一緒のROMに書き込まれます。
まず、イエロースコープをいったん終了して下さい。そして、YellowIDE のプロジェクトウインドウで[object] を
ROM化(ROMデバッグ)にします。
ここでメイクをする前に割込み関数timerの中身を見て下さい。__break__とかかれた行があります。これが何のため
にあるか説明します。
ROMデバッグの場合は、イエロースコープで設定できるブレークポイントの数に制限があります。多くのCPU の場合は
1個か2個ですが、H8S2000の場合は2個設定できます。2個で十分な場合もありますが、この2個はいざという時のた
めにとっておいて、予めブレークを設定することが明かな場所は、プログラムをメイクする前に__break__ をソースプ
ログラム中に書き込んでおきます。これはYellowIDEの[F7]キーで行います。ソースプログラム中にカーソルを合わせ
[F7]キーを押して下さい。__break__が挿入されます。もう一度押すと__break__が消えます。
必要な__break__の設定が終了したら、メイクして下さい。
さて、メイクが終了したら、イエロースコープをいきなり起動しないで下さい。まずはプログラムをROM に書き込み
ます。ROMへの書込みは今まで何度も説明しましたのでもうしません。ただし、フラッシュROMライタを起動するのにメ
ニューではなくスピードボタンを使用することに注意して下さい。
ROMへの書込みが終了したら、DIPスイッチを3番だけONにし、リセット後、イエロースコープを起動して下さい。イ
エロースコープが起動したら[F11]キーでプログラム開始です。
さて、ここで先ほどの__break__の行に話を戻します。イエロースコープから見ると__break__ の行が水色で表示さ
れているのが分かります。水色はまだ正式にブレークポイントとして設定されていない印です。あくまでもブレークポ
イントを設定できるという意味です。__break__の行にカーソルを合わせ[F9]キーを押して下さい。これで色が水色か
ら茶色に変わります。ここで初めてブレークポイントの設定がされました。
[F5]キーでプログラムを実行させてみてください。ブレークポイントの下の行でプログラムが止まります。
ROMデバッグモードはリモートデバッグに比べてブレークポイントの数などに制約があります。しかしROMデバッグは
実際のプログラムの動作に非常に近いのでもっとも確実なデバッグ方式です。また外部RAM がなくても、あるいは機器
に組み込んだままデバッグできるすぐれた長所もあります。リモートデバッグ、ROMデバッグのそれぞれの長所、短所
を良く理解して、使い分けてご利用ください。
■補足
ROMデバッグの場合は外部RAMはなくてもかまいません。その場合は、プロジェクトウインドウの(設定)の「セグメ
ント定義」のところでRAMの開始番地、終了番地を内蔵RAMのアドレスにして下さい。
さらに、(ファイル)→(スタートアップルーチンを開く)でスタートアップルーチンを開き、”外部RAM の初期化
”の部分をコメントにするか削除します。そうすると外部バスがポートとして使用できます。
11