いつもお世話になっております。初心者です。よろしくお願いします。CS+ で RX66T をターゲットとしたプロジェクトを作成しています。USB FIT を使えたらいいなと思ったのですが、アプリケーションノート(USB Basic Host and Peripheral Driver Firmware Integration Technology)に「USB Host モードと USB Peripheral モードの同時動作はサポートしていません。」とあります。・USB メモリへのデータ保存・USB ケーブルで接続した PC と通信(PC側から問い合わせ)を実現しようと思ったら、FIT が使えない・・・ということでしょうか。
通信部分は特に自信がないのですが、サンプル(?)を参考に自分で書いていくしかないのでしょうか。
どなたかアドバイスいただけると幸いです。よろしくお願いします。
ホストとペリフェラルのモードは排他的にしか使えません。運用上で、動作設定入力などを元、起動時にモード切り替えるような使い方とかなら実現できるかもしれませんが、ペリフェラルが1つのリソースしかないのに複数のモジュールがあるためリソース割り当てができないと思われます。スマートコンフィギュレータを使わずに自力なら上に書いたような運用上で排他的に使うことは可能だと思います。
hostとperipheral両方を使おうとしたらそれなりに苦労するでしょう。有償のプロトコルスタックを買っても簡単ではないと思いますが、一度聞いてみては。
Renesas RX Partner エコシステムソリューションhttps://www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx-partnersこんなのもありますね。TinyUSBhttps://github.com/hathach/tinyusbcdc_mscのサンプルがそれっぽい感じです。RXも対象ですが66Tはないので修正が必要。https://interface.cqpub.co.jp/wp-content/uploads/if2210_084.pdfcdc_mscを参考にFITで作っても良さそうですが、どっちが早いかは分かりません。
Shoji Yamamoto 様
早々に返信ありがとうございます。スマートコンフィギュレータ上の制約なのかRX66T の制約なのかが分かっておらず上記のような質問になりました。「排他的に使う」という方策を示していただきリソースの制約と理解しました。データ保存の方法を変更する方が良さそうです。ありがとうございました。
ほや 様
返信ありがとうございます。
アプローチを具体的に示していただきそれを実現するのはとても苦労する・・・というイメージができました。データの保存方法を変更する方向で考えます。
ありがとうございました。
方針変更がいいと思います。ソフトウェアでそういうものが提供されたとしても物理的に繋ぐ方法が、正式な方法だとマイクロABタイプのコネクタでUSB OTGピンを使うことになります。もうこれは時代遅れです。1つの装置(マイコン)に全てやらせるより、PCと通信用、他の機器との接続用の役割を分けるのがいいと思います。今ならPC側というか上位側はWiFi搭載マイコン、具体的にはESP32やその他の同型のモジュールにやらせて、そこと通信することを考えるのがいいのではないでしょうか?Arduino UNO R4のWiFiの構成でしょうか?残念なことにRAシリーズですけど。ESP32は単品だけでもSD(名称的にはTFTカード?って言わないとダメでしたっけ?のSPIモード)読み書き、WiFi、アクセスポイント、Webサーバを担えます。具体的にはHTTP経由でファームをSDに書き込んでFW更新とかできます。
Replyありがとうございます。ESP32 ってすごいんですね!今回は ESP32 の使用は考えていませんでしたが、今後の選択肢の一つとして覚えておきたいと思います。
ありがとうございます。