見えるぞ!私にもSDの中身が見える!
先日購入したSDアダプタ付きminiSD、こんな風に繋いでみました。
SDアダプタはカードスロットとして使っています。
いやあ、先日書いてた通り、最初はトラ技付録のR8C/15でいこうと思ってましたよ。
なんせ、特別なH/W無しでも実装デバッグ可能な統合開発環境があって、かつ、SPIも標準装備ってんですから、MMC/SDのSPIモードでコマンド投げるなんて、初めての環境でも楽勝に違いないとか思ってましたから。
でも、でもね、デバッグピンと、SPIのピンが共用でどっちかしか使えないの...つまり、SPI使うならデバッガが使えない、デバッガ使うならSPIが使えないという盲点を突く攻撃に打ちのめされました...
デバッガは使うとして、汎用IO使ってソフトウェアSPIでやろうにも、M16を含め、旧三菱系プロセッサに関する有効な情報、ネット上にほとんど無いの...もうそんなに時間ないし。
というわけで、ここ数日の調査の結論。
ええい、どうせソフトSPIなら、使い慣れたAVRでやってくれるわ!
というわけで、手持ちのAVR ATTiny26L で実験。
Tiny26のUSIを使ったSPI実装のサンプルコードはデータシートにありました...
ソフトUARTのサンプルソースはATMELのアプリケーションノートからいただき。
うう、最初からそうしときゃよかった。
今回も開発環境はいつもの通りアセンブラ。
WinAVR(Cコンパイラ)も昨日入れといたけど、こういった操作はアセンブラでもCでもほとんど手間は変わらんし。
それにマイコンのCって触ったこと無いため、しょうもないところでハマりそうな気がするので、やめときました。時間があれば、Cの方がフリーのライブラリが整備されてたり、サンプルソース多いのでありがたいのですけどね。
なんとか今日1日かけて、miniSD内のデータを読み出すことに成功。
ハイパーターミナルとシリアル接続し、ダンプ表示させてみました。
パソコンで書きこんだファイルのデータが見えます。
Tiny26はRAMが128バイトしかないため、最低512バイト単位での管理が必要なFAT互換の読み出しは無理そうです。
読み書きは独自フォーマットで行きましょう。
ふふふ、これでなんとか予選の自立デモ用データストレージを確保したぜ。
8MBもあれば、izCOREで必要な20ms毎に44バイトの補間済み展開データを置いたとしても楽勝だぜ。
最低300KBもあれば十分だからね。
しかも、カードの交換でモーション入れ替えるなんて事も簡単。
| 固定リンク
この記事へのコメントは終了しました。

コメント