コントローラ追加購入ESP8266と通信出来ない。AKI-H8のクロス開発環境と格闘しています。Linux上のgccでクロスコンパイルしたコードを、gdbでリモートデバッグするという夢のような環境ですが、いろいろ苦労しています。以下はその苦労のリストプログラムが大きくなるとロードできない。sprintf()とかをリンクするとプログラムが突然大きくなります。すると何故かロードができません。kermit等でいろいろ試して見たら、速度の問題でした。増設メモリを3クロックサイクルにしているのが問題なのかもしれません。kermitでは、改行後にディレイを少しいれてやることで解決しました。hashとして、load時に#を表示させることで、若干ディレイが入るようでうまくいきました。sprintf()がうまく動かない。LCDに表示させる文字列を作るのにsprintf関数を使用していたのですが、うまくうごきません。引数がわたっていないようです。<stdio.h>を追加してやったら動くようになりました。H8用のgccでは、関数の引数の1番目と2番目がレジスタ渡し(ER0とER1を使用)になっており、プロトタイプ宣言無しではsprintf()等の可変個引数を持つ関数をうまく呼び出せないようです。いやー、もうライブラリーが悪いんだか、ハードが悪いんだかわからなくて大変でした。Cのプログラムと関数毎に逆アサンブルを見比べて調べていました。なんか懐かしいというか新鮮でした。-D/-dオプションや、gdbのdisassコマンド,x/iコマンドなどでできます。H8を逆アセンブルしたコードは案外読みやすいです。コメントをキャンセルメールアドレスが公開されることはありません。