フラッシュの読み取りに続いて、ブロック単位での消去とページ単位での書き込み処理を追加。使用しているHY27US08561Aは、32ページ/ブロックで、合計2048ブロックという構成です。データシートによると、消去には5ms、書き込みには200usを要しますが、これらの処理はフォントを準備する時にしか使わない予定なので、R/B信号をポーリング待ちすることにしました。ECC処理は今のところ全く無しです。読み書きできるだけなら、去年もやったことなので、今年はちゃんとこの機能をアプリで利用するようにしなくては。。
フォントの格納に備えて、SDカード上のファイルの内容を指定したページ以降にコピーするコマンドを用意しておきました。

readしてみて、書き込まれていることを確認してみます。

対応するブロックを消去すると、データはすべて0xffになります。

NANDフラッシュを利用するための準備作業はこんなところでしょうか。次の作業予定は、フォントデータを準備して、フラッシュに書き込むことです。
フォントの格納に備えて、SDカード上のファイルの内容を指定したページ以降にコピーするコマンドを用意しておきました。

readしてみて、書き込まれていることを確認してみます。

対応するブロックを消去すると、データはすべて0xffになります。

NANDフラッシュを利用するための準備作業はこんなところでしょうか。次の作業予定は、フォントデータを準備して、フラッシュに書き込むことです。