AKI-H8 3664F 統合開発環境(HEW2,HTERM)

ソースレベルデバッグを構築する


dsp15__1.gif

ルネサステクノロジーの提供して下さる、HEW2、HTERMを使って

ソースレベルデバッグが、可能になります。

画面をご覧になると、ソースレベルでデバッグできますし、ディスアセンブルもできます。

HEW2を使ったのは、ソースレベルデバッグするには、HEW2の吐き出すabsファイル(ELF)が必要だからです。

それと、Cのプログラム、アセンブリプログラムも、HEW2で作る事ができるからです。

http://www.renesas.com/jpn/products/mpumcu/16bit/tiny/index.htmlを辿って、

最新のHEW2,HTERM(MDI version)をダウンロードして下さい。

それから、3664Fのハードウェアマニュアル、

H8S、H8/300 シリーズ C/C++コンパイラ、アセンブラ、最適化リンケージエディタユーザーズマニュアル等も

ここからhttp://www.renesas.com/avs/servlet/requestから、入手してください。

HEW2の他に、ベストテクノロジー社のGCC developer liteも素晴らしいです。

GCC Developer Lite (H8/SH用GCC付属)http://www.besttechnology.co.jp/download/

それと

フラッシュライタソフトウェア Ver2.6 FWSETUP2_6.EXE (563kb)(ベストテクノロジー社)もダウンロードしておきましょう。

(HTERMのブートモードでの書き込みが、うまくできなかったので、モニタープログラムは、これでwriteした。)

HTERm用モニタープログラムをカスタマイズする

ルネサステクノロジーから、モニタープログラムをdownloadします。http://www.renesas.com/jpn/support/seminar/sample/downh83h.html#mnt


dsp15__2.gif

「300t」というフォルダが形成されます。

monitorフォルダを開ける。


dsp15__3.gif

monitor.subを、3664fに合うように、改造する。(この辺は、上部フォルダのreadme.htmに書いてあります。)

私は、こんな風にしましたけど...ご自由にどうぞ。


dsp15__4.gif

この辺りの事情はhttp://hamayan.ddo.jp/~hamayan/so-net/hterm.htmlが、凄く参考になりました。

是非訪れてみて、ください。

改造できたら、HEW2で、この「300t」のプロジェクトを立ち上げ、ビルドします。

releaseフォルダにmonitor.motが出来上がります。

これを、HTERMのブートモードにて、3664fに書き込もうとしたのですが、うまくできませんでした。

それで、ベストテクノロジー社のフラッシュライタソフトウェア Ver2.6 を使いました。

これで、準備は整いました。

HEW2にて、簡単なプログラムを作り、テストしてみましょう。


dsp15__5.gif

ここで、割込みを許可(EI)、不許可(DI)は、set_ccr()を使いますが、これは、「machine.h」に定義されていますので

これをincludeしておきます。

 

今、timerAの割込みを使うと、すれば

intprg.c ファイルに、最初に、定義しておいて

 


dsp15__6.gif


dsp15__7.gif

ここに、プログラクを書いて置きます。

 

プログラムを書き終わったら、HEW2の環境を、モニタプログラム用に変えます。

オプション->H8Tiny/SLPを選択する。次にLink/Libraryタブをクリックする。


dsp15__8.gif

こんな画面が出ますので、ここでuse entry pointにチェックを入れ、_mainを記入する。

次に、Categoryの中から、sectionを選ぶ。


dsp15__9.gif

ここの、アドレス変更したりする。


dsp15__10.gif

ここで、P(プログラム)のaddressをクリックし、Modifyして、「F900」と記入する。(F880以上の好きな位置に設定)

OKボタンを押して、ダイアログを閉じ、buildすると、デバッグフォルダに、mot、absファイルが出来ているから

htermでは、absファイルの方を選ぶ。

準備完了。

hterm起動。

consoleが開いたら、3664fの電源on。

コマンド->loadをクリック。

後は、ブレークポイント等を設定したり、ディスアセンブル画面を出したり

この辺の事情は「300f」フォルダのmonitor.htmに書いてあります。

割込みが、うまく働かない時は、モニタプログラムのコマンドfで、自分で設定すると、うまく割込みが動きます。

(たぶん、うまく割り込めないと、思う。

私は、プログラム中で、割込みアドレスを自分で指定したり、モニタプログラムで手動で設定したりです。)

これで、ソースレベルデバッグができるように、なりました。


dsp15__11.gif

「window->最新の情報に更新」 を選ぶと、全ての画面が、更新されます。

でも、自由になるRAM領域って、1Kバイトしか、ないのよねエ...

これは、間違いでした。 (^_^;;

 

   「RAMの H'F880 (63616) 〜 H'FF80 (65408)  の領域 から、ヴェクターアドレスとスタック領域を除いた部分が

                                        使用可能。約1.7Kバイトかな...)

 

やっぱり、アセンブリ言語かな...

 

ここまでで、1ヶ月も、かかってしまった...

肝心のプログラムが、捗らない...はかどらない...わからない...(T_T)

 

H15.8.22

This document created by Scientific Notebook 4.1. この文書は次の製品で作成しました Scientific Notebook 4.1.