MMC5 + AM29F040B + W29C040 で charcter memory の書き込みミスと通信切れが起きる原因を考えたが、どうしてもデバイス固有の気がしない。ので MMC5 + AM29F040B + AM29F040B で作り直し。
そしたら、別条件で再現した。理由を突き止められないが2つの有力かもしれない情報を得た。
AVR 内部の RAM の使用量を減らしたら通信切れの発生率が下がった
RAM 使用率が 93% だったので、もしかしたらスタックがほかの変数を食いつぶしているかもと判断。
USB のデータ転送がおかしい
画像参照。
- 8 byte ずれてるのが結構ある。
- 0xff のデータがなんかよくわからんデータになってるのもある。
おもうに...
なぜ MMC5 で顕著に起こるのか
MMC5 のソフトはデータ量が多くもてるので、データが多くなってきたところでいってしまう可能性大。