目的
PIC 16F13145でSDカードの読み書きをしたかったのでMCCを使ってSDカードに対応させたかった。
実装方法
他の方の事例を調べると公式のライブラリにFATFSとSD/MMCがあるのでそれを組み込んでGenerateすれば、簡単にSDカードの読み書きできそうに見えた。(思っていた)
事前認識
32ビットマイコンはMCCのHarmonyが起動し、16ビットや8ビットマイコンはMCCのMelodyかClassicを選べるものだと思っていた。公式サイトでも普通に出来そうな雰囲気で書いてあるし、他の方はClassicを使って実装してたし…
MCCの挙動を確認してみる(MCC Core バージョン5.9.1の場合)
PIC 16F13145でプロジェクトを作成するとMCC Melodyが立ち上がるがどこを探してもMCC Classicに切り替える選択肢が無かった。MCCの古いバージョンを使ってClassicを使われておられる方もいらっしゃったのだが、何となく最新版を使いたいがために躊躇っていた。
FATFSだと容量の大きなSDカードだと対応できないとかでサポートしない方向なのかと思ってこのPICで試してみることを諦めた。どうやら32ビットマイコンならSDカードを使えるようにできるらしいことは調べて分かった。
そして別なPICを使って全く違うことを試してみようと思い、試しに買ってみたPIC 10F322用にプロジェクトを作成すると、普通にMCC Classicが立ち上がった。実にあっけなかった。
ここで16/8ビットの中でも古いマイコンはClassic、新しいマイコン16/8ビットはMelodyで32ビットマイコンはHarmonyが自動で選択されるのではと思った。
10F322・16F18313・16F13145・32MX210F016BでMCCの挙動を比較してみた。
16F13145は何事もなくMCC Melodyが起動した。Finishをクリックした後にMCCが起動しそのままMCCの設定画面に遷移した。


10F322は何事もなくClassicが起動した。


16F18313は図5でFinishをクリックした後に図6の様に最初にMelodyかClassicのどちらにするか聞いてきた。



16F18313ではMCCのMelodyかClassicかを図6の画面で選択できるようになっているようだ。
32MX210F016Bは図8のFinishをクリックすると図9の様にHarmonyが起動した。


まとめ
32ビットマイコンはMCC Harmony、16/8ビットマイコンはMCC Melody/Classicと漠然と認識していたが、PICの世代によって起動するMCCが異なることが分かった。また勝手な認識だが新しい世代の16/8ビットマイコンはMelody一択なのかなと思った。参考までにそれぞれのPICがいつごろから存在しているか調べてみた。
- 16F13145は2023年?データシートの初版発行日から推測(マイクロチップ公式のデータシート)
PIC16F13145 Family Full-Featured 8/14/20-Pin Microcontrollers - 10F322は2011年? PIC10(L)F320/322 Data Sheet
- 16F18313は2015年? PIC16(L)F18313/18323 Data Sheet
- 32MX210F016Bは2011年? PIC32MX1XX/2XX 28/36/44-pin Family Data Sheet
読んでいただきありがとうございました。誰かの参考になれば幸いです。
