漢字表示方法

液晶に漢字を表示させるためにフォントデータは、PIC24だと外付けEEPROM、PIC32では512KBのフラッシュの半分をフォントデータとして占有していました。これはちょっと贅沢な使い方なので、何かいい方法ないかなと、ふと思ったら、SDカードにフォントデータを格納して、セクタ直接アクセスで読み出す方法に思いつきました。昔のMS-DOSの起動ディスクのMSDOS.SYSとIO.SYSの読み出し方法に似ています。
物理フォーマットしたまっさらなSDカードにフォントデータをコピーします。データ領域のセクタの先頭から順に配置されます。コピーするデータはフォントーデータがセクタを跨らないようにします。FATのデータ領域開始セクターから、リニアに配置されるので、漢字コードから計算してフォントデータが取り出せます。フォントデータは、物理配置が動かないように、Read only、システム属性をつけておきます。
文字を表示するたびに毎回SDカードへアクセスするので電流を食いそうですが、キャッシュを持たせればある程度回数は減らすことができます。