flash のコンペアの検討

現状の unagi についてる書き込みは1領域だけで動いているのでいままでの通りのコンペアでよい。開発中の2領域同時書き込みはメモリ管理が面倒だったので現在は条件付きでページ単位でやっているときもある。

コンペアの実装が適当なのは同時に動かすにはそれなりの RAM がいるわけで、ちょっと考えないとだめなので後回しにした。言い訳すると、いまのところスクリプトの記載とか電源の入れ忘れ以外でデータロスは起きてないのでなくてもいいかなーとか思ってたりする。

MEGA16, MEGA164P の RAM は全部で 0x400 byte で、read buffer が 0x200 byte 、残りは他の関数とかの static 変数とかに振って使用率 6 割。現状の実装だと readbuffer の 0x200 byte を 0x100 byte ずつ write buffer で兼用している。だから、host からの read ができない。

おもいついたのが read buffer で 0x100 byte, write buffer 0x100 x2 byte にすれば host からのコンペアもできなくもないなーとか思う。read 時にその分 USB request が増えて、結構時間がかかるかもしれないから、そこらでうまいこと調整しないとだめなのよね。

ROM dump なんていまとなっちゃ答え合わせと自己満足ぐらいの用なので、スピード落としてもいいかなーとかね。MEGA644P にしたら割と余裕がでるんだけど、資源の有効活用となると別... な気がする。