お世話になっています。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★★★★★★★