CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

SDカードドライバ

SDカード周りのコーディングをはじめた。
 
Microchip社が提供しているドライバを使えば楽勝・・と考えていたのですがいざ組み込みを始めてみると愕然・・
このドライバはSPIの入出力をするのにPICに内蔵されているハードウェアのMSSPを使用していました。(当たり前の話ですが)
この基板ではSDカードの信号線:CS、SCLK、DO、DI は汎用I/Oポートにつないでしまっています。
 
イメージ 2
 
しかもPIC18F4550はMSSPのSDO出力とUSARTのRX入力がピンを兼用しているため
そもそもSDカードとRS232シリアルが共存できません
 そのためこのMicrochipのドライバはあきらめ、ポートをON/OFFしてパタパタさせるソフトウェアSPI によるSDカードドライバに差し替えました。
なんとか組み込みはできましたが、プログラムが肥大化してヤバイ状態です。
 
現状、VFD制御、シリアル入出力、SDカード、簡易ファイルシステムで全プログラムエリアの2/3まで消費してしまいました
このあとUSBドライバやアプリケーションそのものが入るか、かなり微妙です
 
イメージ 1