« AfxActivateActCtxでエラー@VS2008 | トップページ | MPLABX+XC32で「relocation truncated to fit: R_MIPS_GPREL16」エラー »

MicrochipHarmonyでUSB+SDCard+FS

Microchip HarmonyでUSB+SDカード処理がうまくいかなかった原因がわかったので自分メモ。旧Harmony(v1.04とか)ではSDカードドライバが未検証とかで放置していたのだが、いよいよPICでSDカードを扱いたいので試してみた。
<環境>
  • PIC32MZ2048ECG064
  • Harmony v1.11
  • XC32 v1.43
  • MHCにてUSB(MSD+CDC)+FS(FileSystem)の設定で作成したプロジェクトを使用
  • Windowsドライバ、USBデスクリプタ等はMicrochip標準を使用。
<目的>
  • PIC上のSPIモードで接続したSDカードをWindowsからも読み書きしたい
<症状>
  • Windowsからドライブ(PIC)は見えるがディスクなしとなっている
<確認など>
  • PIC内でSDの接続状態を確認(sysObj.drvSDCardのStatusを確認)すると問題なくSDカードは接続できている。
<原因>
  • system_config.h内設定のSDクライアント数不足
  • 恐らく、USBとFSで1ずつ計2のクライアントとなるため標準ではUSB側クライアントが数不足でNo Diskとなっていたと思われる。
  • Sampleの「usb/msd_sdcard」はFSを使っていないのでクライアント数1でOK。(役立たず)
  • Sampleの「usb/csc_msd_basic」はNVMサンプルなのでSD関係なし。(役立たず)
<対策>
  • MHCの「SD Card」項目で「Number of SD Card Driver Clients」 =2,「Maximum Driver Indeces」 = 2に設定
  • もしくはsystem_config.h内の下記項目を2へ変更してビルド
#define DRV_SDCARD_CLIENTS_NUMBER       2
#define DRV_SDCARD_INDEX_MAX            2
あとは簡単にデバッグできるとHarmonyも便利になるのになー。SYS_ASSERT()とか簡単に出力できるようになりますように。

« AfxActivateActCtxでエラー@VS2008 | トップページ | MPLABX+XC32で「relocation truncated to fit: R_MIPS_GPREL16」エラー »

PIC」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: MicrochipHarmonyでUSB+SDCard+FS:

« AfxActivateActCtxでエラー@VS2008 | トップページ | MPLABX+XC32で「relocation truncated to fit: R_MIPS_GPREL16」エラー »

カレンダー

  • keisan
無料ブログはココログ
2019年11月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30