[H8-ML(2575)] Re: HEWの使い方を教えて下さい
From: "wathavy@xxxxxxxxxxxxxxxx" <wathavy@xxxxxxxxxxxxxxxx>
Date: 2002年12月14日(土)18時20分18秒
トモヒサさん、まだお使いのCANに関するマニュアルは
見ていませんので、そちらの問題は、少し目を通さないと
お答えは難しいので、ご存知の方にもお分かりになるよう、
おつくりのファイルを、このMLにも抜き出して流してください。
初期化の部分のこけた箇所があるのですが、
これが初期化設定の最後に行うべきかもしれないという
点が指摘できそうな気がしますが、(マニュアルみていないのではぁ)

HEWの使い方だけに限りますと以下が参考になれば。

プロジェクトを作成します。
そのとき出てくる一連のダイアログボックスにて
お使いのCPUを選んでください。

New Project Workspace
で名称と作る場所を決めます。

Step1
で使うCPUシリーズを選び、その具体的なCPUを選びます。

Step2
Advanced Normalはここで決めるべきのようです。
選択できるその他(これらは少し面倒くさいです)
を決めます。
でも、作った後に変更できる部分ですので、
適当にデフォルトにしておきます。

Step3
ここで、Use I/Oにするのは意味があるのかどうか
ちょっと私は知りませんが、
main()をC,C++、None(アセンブラ)
で選択します。
また、Hardware Setup Funcitonを使うかどうかを
決めます。
使うにすると、hwsetup.cができるのですが、
これがあると、このファイルで初期化をするように
します。
つまりmain()とは違うファイルに初期化をする部分を
書くようになります。
なしにすると自作することになります。
トモヒサさんのファイルでは標準でない
レジスタの初期化がされていたので、なしの選択をしています。


Step4
ここれでは、日立の説明では、全部チェックでよいとのこと。
使わない場合には、チェックがあってもインクルードしないんだ
そうです。
わかれば自分で選んでチェックしますが、
とりあえず面倒なひとは全部チェック。

Step5
スタックについてです。とりあえずデフォルトです。

Step6
Vector definition にチェックを入れておいて
割り込みテーブルも自動生成してくれます。

Step7
これは正規版のみの、シミュレータのセットですが、
これは、後でも設定できます。

Step9(なぜだか、8がない!)
作られるファイルの説明が出ています。
よく見ると意味がわかりそうですが、
さっぱりわかりません。無視!します。

作ったファイルのmain()に処理を書き、
hwsetup.cを入れた場合にはそこに初期化を
書きます。

プロジェクト名.c
がメインのあるファイルです。

これが長くなるとうっとうしいので、
新たにファイルを作る場合には注意が要ります。

プロジェクト名.h
のようなヘッダーを別につくり、ここに変数を確保しますが、
このファイルには、すべての変数を
extern int global_x;
とします。

int global_x;
自体は、
"変数.c"
という別なファイルを作りプロジェクトに
加えます。
すると、
ほかの処理を書きたいファイルに、
#include "プロジェクト名.h"
するだけで問題なくコンパイルされます。
ただし、"変数.c" というファイルと、
"プロジェクト名.h"の両方に変数を組で書きます。

これで、ファイルを
プロジェクト名.c
以外にも作ることができて、
編集の際とても見やすくなります。
#最初はどうでもいいことですが
#複雑になると手を焼きます。たぶん。

なお、resetprg.cがHardwareSetup(),main()を
呼び出しています。
最初違和感があると思いますが、ほうっておきましょう。
日立さんがなにか気を使ってくれている程度におもって
しらばっくれて使っています。
#少なくとも知らない人がみると
#立派な仕事をしているようにしか見えません。

割り込みベクターも用意されていてintprg.cに
必要な処理を書き込みするだけです。


それとシミュレータですが、
Option
Debug Settings...
でダイアログを開きます。
Target --> xxxxHA はAdvancedの意味、
   ---> xxxxHN はNormalの意味です。
Default Debug format 
	Elf/Dwarf2
Downlord Module
	Add を押すと別なダイアログが出ます。
Offset もしもRAMなどから実行するようにアドレスを
   ずらしている場合などに使うと思いますが本当は知りません(で0000)
Format
	Elf/Dwarf2
File Name
	****.abs
を指定します。これはデバッグ中のファイルのABSの場所を指定すればいいの
です。

OK押してクローズするとシミュレータのアイコンボタンが
増えてファイルウィンドウの左側が灰色になります。

なお、シミュレータを動作する場合にはあと二回することがあります。
Option
Simulatotr
Memory resource
により、RAMを必要に応じて割り当てます。
最近のPCはやはいしメモリも多いので、面倒くさい場合には、
System memory resource に、右側のマップの全部を入れます。
(少しPCは鈍くなる場合あり)

左のプロジェクトウィンドウのxxx.absを右クリックすると
Download module
とでます。
これを行うと、メモリに実行ファイルをロードするようです。
ファイルウィンドウの左の灰色のところに実際のコードが
HEXで書き込まれます。
コンパイルのとき吹っ飛ばされている実行ファイルのところは
何もないので一目でへんてこなところがわかり便利ですよね。

あとは、どのようなデバッガーとも同じです。
ダブルクリックすれば、ブレークポイントもトグルします。

これらはマニュアルを見ると一応書いてあります。
ところが、選択できる項目の説明がありません。
なんども試行錯誤してようやく納得動作をした時点で
OKにしています。
(Elf/Dwarf2は、absのことのようです。motにするときは変更します)
(もちろん、リンカーの設定でも変更しなくてはなりませんけど)


初心者には宝の持ち腐れになる代物と言われてしまいそうですが、
みんな最初は初心者ですから。(--;)

TIのCCSには、Navigatorがありませんでした。
これだけは信じられませんでした。

日立のすごいところは、これだけすごい環境を作ってさらに、
使い勝手の説明は、有償のセミナーにして知らん顔するところです。
ほかの会社なら無料でセミナーするっていうのに。
(弁当も相当高そうなのをくれたのに)

日立のほうが宝の持ち腐れではなかろうかと。

わかっている方には失礼しましたが。
#これだけをするのに、一ヶ月かかったわけでなくて、
#さらに例のサンプルをどうやって、このプロジェクトに
#はめ込むかに少しまた手間取ったのでした。はい。

失礼します。

わさびぃ
スレッド概略
[表示中](起点)


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]