SDカード進捗
割と安定して、SDカードが読み込めるようになってきた。
クロックをあげると、カードのスペック内でも不安定になってくるのは、I/Oポートのドライブ能力の問題か。(未確認)
しかし、クロックを下げすぎても読み込みが不安定になるのはどうしたことか。
ちゃんと規格書を読まないとだめか?タイムアウトがあるのか?そんなこといったら、winで使えないか...
どうも気持ち悪い。
------
手持ちのSDカードをFAT16でフォーマットして、いろいろ眺めてみる。
ホストからパラメータを渡すのは、簡単に実現できる。
組み込みの常として、すべての機能を実装しようとすると、FAT16でもけっこう面倒くさい。
たとえば処理を簡単に済ますために、FATをすべてRAM上に置いておきたいところだけれど、手元の128MのカードでもFAT1個で120kバイトもある。
というわけで、いろいろ割り切った仕様を考えてみる。
ログ起動時に、FATをすべて更新して、入れ物だけ先に作り、データはセクタ単位で適時放り込めば、最低限のRAM(512バイト+α)で動きそうだ。
もしカードに余分なファイルがあった場合、いろいろ処理が必要になりそうだけれど、データロギング専用カードとして、起動時に問答無用でディレクトリエントリを初期化して、リニアなクラスタ配置を作ってしまえばいい。
MBRやBPBさえ無傷でおいておけば、ワンチップ側で書き込まれたデータを、ホスト側でfopenするという目的は達成できそうだ。
------
いっそカード全部の書き換えのほうが楽なような気もするけれど、ブートセクタの起動コードを勝手に流用して、自前の機器にコピーするのはまずかろう。
パラメータブロックだけでも認識されるのかもしれないけれど、まあフォーマットだけはホストでやるのが無難かも。
作業中...
| 固定リンク | 0
コメント