LPC2388でUSB-MSC(MassStorageClass)を使う1

"有益=ソースコードそのまま流用できる"なんて根性でやってると痛い目にあいます。
ええ確実に。…そんな根性をしていた時期が…私にもありました(刃牙顔で)
重箱の隅までは理解しなくてもいいけど最低限どうやって桶屋が儲かってるのかくらい
は知っておいた方がいいとおもいますよマジで!CQ誌提供のGCCサンプルソースとかも
(ワザとじゃないだろうけど)明確な間違い仕込んでたりしてますんで遊びであっても
くだらないことで時間や金を消費しないように気をつけましょうというお話。
とくにLPC2388は…、

.org 0x1fc
__: .word 0x43218765

のたった二行をスタートアップに仕込まれただけで文字通りゴミ基板になるしでも
こんなあくどいことするやつさすがにいないだろけど…私はそんなことしないよ?…ふふふ





…さて本題、ここ最近はLPCUSBを使用してUSB Mass Storage Class(以下MSC)をLPC2388
で何とか実現できないかと模索しています。SPIアクセスのサンプルはすでにあるのですが、
せっかくSDIO(MCI)があるのでこれで使えるものにしていこうかな、と。

現状こんな感じです。

なんか微妙な…ディスク容量が…うまく表示されてない…

SDHCも認識できているようです。が…実際の動作は??

このMSCをchan氏のmp3プレーヤーと結合させてSDカード取り外さずにデータ書き込め
たら手間が省けてうれしいのですがはてさて…
WorkInProgressですがソースも置いときます。検証段階ゆえに自己責任+ご意見無用で…。
次回に続く

現状USB関連の書籍を買ったり借りたりしておべんきょ進めてますが…私はぶっちゃけ
おべんきょとセンセイが大嫌いです…しかしUSBを必ず物にして恐怖症を克服したいです…



追:
OpenOCDのWindows用実行形式ファイルがftdiのライセンスがらみでダウンロードできなく
なってしまいましたが、ZUS氏がビルド方法の詳細な解説をされています。
私も氏のページを参考にビルドしたもので書き込み・デバッグ・メモリダンプができるのを
確認しました(OpenOCD ver 0.3.0 r2578)。また、JTAGkey互換デバイスを使っているのなら
ベステクさんところで配布してるバイナリを使わせてもらうという手もあります。
追2:
OpenOCDのソースはsvnではなくgitを使用して取得するようにしてください。

Comments

>しかしUSBを必ず物にして恐怖症を克服したいです…
恐怖症とか書かれると他人事とは思えないです…。

あと私はCQ誌のホームページから落とせるGDBスタブで頑張ろうと思っていたんですが、アセンブリコード(¥cq_gnu_resources¥arm¥LPC2388¥gdb-stub¥gdb-stub¥startup.s)をみて絶望しました。

  • ls
  • 2009/08/12 10:17 AM

はじめまして、zusと申します。

OpenOCDのページ紹介ありがとうございます。
FreeRTOSを使用するときにこちらのブログを参考に
させていただきました。
今後ともよろしくお願いいたします。

  • zus
  • 2009/08/12 10:20 AM

ls様、zus様、はじめまして。

>あと私はCQ誌のホームページから落とせるGDBスタブで頑張ろうと
>思っていたんですが、アセンブリコード
>(¥cq_gnu_resources¥arm¥LPC2388¥gdb-stub¥gdb-stub¥startup.s)
>をみて絶望しました。
ちらっと見ましたが確かに見づらいですね…
JTAGkey+OpenOCDのデバッグだとRAMスタートとかも普通にできるので
私の場合はスタブは出番なさそうです。


>OpenOCDのページ紹介ありがとうございます。
>FreeRTOSを使用するときにこちらのブログを参考に
>させていただきました。
>今後ともよろしくお願いいたします。
こちらこそお世話になります。
OpenOCDの開発ペースが加速度的に上がってて追っかけるだけでも大変ですね。
jtag_khzの設定ですが、LPC2388だと500kHz以下,STM32だと1000kHz以下に
設定しておけばほとんどの局面で安定してアクセスできます。

]・ω・) ちらっ

  • 2009/08/13 7:03 PM

>]・ω・) ちらっ
多分豚さん!?多分豚さんなのい!?

]・ω・)ノシ お久しぶりでっす

  • 2009/08/18 11:15 PM

Post a Comment








Go to top of page