[H8-ML(3496)] ルネサスのデバックモニタTIPS
From: hamayan <hamayan@xxxxxxxxxxxxxxx>
Date: 2003年07月03日(木)12時09分33秒
お世話になっています。hamayan です。

既に、watson8さんがルネサステクノロジで配布されている新しい
デバックモニタの記事を、サイトで公開していますが、私も新しい
デバックモニタを使い出したので、幾つか秋月用のデバックモニタ
を作成してみました。

但し、昨日の夜中に慌てて作成したので、動作に関して検証が行わ
れていません。なんか有ったら、連絡下さい。
http://hamayan.ddo.jp/~hamayan/so-net/download.html

公開していませんが、SH2向けのデバックモニタも作成しています。
公開していないのは、ターゲットが決められないので、カスタマイ
ズが出来ないからですが、monitor.cまたは、monitor.srcを自分で
カスタマイズし、その他の情報を添付して送ってもらえれば、対応
しようかとも思っています。

さて、デバックモニタの機能としては、2.2Aも3.0Aも変らないのです
が、今回の版は、デバックモニタにprintfやscanfをリンクしている点
が大きな変更点です。

独自に入出力関数を作成して、プログラムに実装している方は、別に
必要無い訳ですが、使い様ではかなり便利に利用できますので、ちょ
っと紹介です。

macさんが随分前に、汎用OS上でプログラムを充分検証してから、タ
ーゲットに組み込む事を書いていました。
特に複雑なルーチンでは、すごーく!良い方法だと思います。

でももっと簡単なプログラム、実装に依存する様なプログラミングでは
ちょっとターゲット上での動きを調べてみたい事も。

今回のデバックモニタでは、モニタの一部にprintfやscanfがリンクされ
ていますので、定番プログラム”Hello World”を書いてみると。

#define  printf  ((int (*)(const char *,...))0x00002baa)  <−注意1

void main( void )
{
  printf( "Hello World\r\n" );
  while(1) ;
}

これだけです。(^○^)

注意1)
デバックモニタ作成時の”monitor.map”からprintfとscanfの実ア
ドレスを指定します。作成したデバックモニタ別の割付は以下の様
になっています。

注意2)
RAM上で実行するので、DセクションとRセクション間のコピー
は必要無いです。但し、Bセクションが0クリアされていないので、
注意して下さい。

mon3052r25.motの割り付け
#define  printf  ((int (*)(const char *,...))0x00002b70)
#define  scanf   ((int (*)(const char *,...))0x00002bc2)

mon3068r20.motの割り付け
#define  printf  ((int (*)(const char *,...))0x00002baa)
#define  scanf   ((int (*)(const char *,...))0x00002bfc)

mon3068r25.motの割り付け
#define  printf  ((int (*)(const char *,...))0x00002bb0)
#define  scanf   ((int (*)(const char *,...))0x00002c02)

例えば処理系依存するintサイズを調べたいなら
void main( void )
{
  printf( "int bit size = %d\r\n", sizeof(int) * 8 );
  while(1) ;
}
ですね。

お遊びで、
#define  printf  ((int (*)(const char *,...))0x00002baa)
#define  scanf   ((int (*)(const char *,...))0x00002bfc)

void main( void )
{
  int a,b;

  while( 1 )
  {
   printf( "Addition a + b \r\n    a = ?" );
   scanf( "%d", &a );
   printf( "    b = ?" );
   scanf( "%d", &b );
   printf( "    a + b = %d\r\n", a + b );
  }
}

なんてのも有りでしょう。

但し、標準で組み込まれているprintf、scanfは、float無しが組
み込まれています。lower.cを修正すれば、float対応版も独自に
作成可能でしょう。

どうです、だいぶ組み込みプログラミングの閾値が下がった気が
しません?


------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
	hamayan@xxxxxxxxxxxxxxxx
URL
	http://www003.upp.so-net.ne.jp/hamayan/
The Embeded Protocol Engine
    Navajoデモ中!
	http://hamayan.ddo.jp:8080/
★★★★★★★★★end of message and thank you★★★★★★★

スレッド概略
[表示中](起点)


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


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