マイコン工作実験日記

Microcontroller を用いての工作、実験記録

LPCCappuccinoでSDカードを使う

2013-11-17 17:32:30 | Weblog
FTDIのデモソフトに触発されて自分でもはやいとこオーディオ再生用のPLAYBACK機能を使ってみたくなったたので、LPCCappuccinoでもSDカードを動かしてみました。LPCCappuccinoにはあらかじめソケットが備わっているので、ソフトを用意するだけです。SDカードに保存したフォントを使っての日本語表示もおこなうつもりなので、SAM4Lで使っていたSDカードをそのまま流用。SAM4Lのプロジェクトは当面のあいだお休みとなるでしょう。



ソフトはいつものようにFatFsです。Chanさん提供のサンプルにLPC176x用のコードが含まれているので、これをちょっと変更するだけで動かすことができました。FatFsはR0.10を使用。一部のAPIの引数に変更が生じているので、以前のコードを流用する際には注意が必要です。わたしは、ゆきさんのつれずれ日記で予備知識を得ていたので、ここは難なくクリア。

ところが、いったんSSP0を使ってSDカードにアクセスすると、SSP1を使ってつないだFT800へのアクセスができなくなってしまうことが判明。しばらく悩みましたがSSP1のレジスタが壊されているようなので追いかけてみると、SDカード初期化時にSSP0を初期化した際に、どういうわけかSSP1のレジスタがクリヤされているようです。ステップ実行して調べてみたところ、PRESETCTRLレジスタを操作して、SSP0にリセットをかけるとSSP1がリセットされてしまうのです。どうも、PRESETCTRLでのリセットは別々のタイミングでかけない方が良さそう。起動直後に2つを同時にリセットしておくようにコードを変更して対処することにしました。