60836


Spresense開発環境には、ArduinoとSpresense SDKが2種類あります

ArduinoにはUSB MSC機能がサンプルとしてあり動作確認できました

Spresense SDK(VS code)に同機能はないのでしょうか

これが使えると使い勝手が大きく変わるので是非SDKで使いたいです


CC BY-SA 4.0
2019-11-25T15:04:31.967
60834
2019-11-27T14:22:26.870
34647
question
spresense arduino usb
Spresense SDKで、USB MSC (Mass Storage Class) 機能を使いたい


Spresense SDK 環境 で USB MSC 機能を使って SD カードをマウントする場合、

SD カードのコンフィグは有効にした状態で、menuconfig を起動します。

> $ cd spresense/sdk  
>  $ ./tools/config.py device/sdcard -m

SDK Configuration 画面で、System tools > USB Mass Storage Device Commands
を有効にしてビルドしてください。

[![SDK
Configuration](https://i.stack.imgur.com/9PYQN.png)](https://i.stack.imgur.com/9PYQN.png)

SD カードを挿入して、拡張ボード側に USB ケーブルが刺さっている状態で、NuttShell プロンプトから "msconn" コマンドを打つと、USB
MSC 機能が使用できます。

> nsh> msconn  
>  mcsonn_main: Creating block drivers  
>  mcsonn_main: Configuring with NLUNS=1  
>  mcsonn_main: handle=d038d50  
>  mcsonn_main: Bind LUN=0 to /dev/mmcsd0  
>  mcsonn_main: Connected

反対に切断する場合は、"msdis" コマンドを使います。

> nsh> msdis  
>  msdis: Disconnected


CC BY-SA 4.0
2019-11-25T16:01:42.580
60836
2019-11-25T16:01:42.580
31378
60834
answer


ご教授情報を元に、Visual Studio Code(VS code) GUIからも確認と変更ができる事がわかりました

１．  
VS codeでワークスペースを開いた状態で、左の方で、ワークスペースのファイルリストがある所で右クリック  
[![画像の説明をここに入力](https://i.stack.imgur.com/Gk9o6.png)](https://i.stack.imgur.com/Gk9o6.png)

２．  
Spresense: SDKコンフィグ を選択

３．  
SDKコンフィグが開き、一番上の方にスクロールすると、検索蘭があるので USBMSC を入力する  
[![画像の説明をここに入力](https://i.stack.imgur.com/6EoHm.png)](https://i.stack.imgur.com/6EoHm.png)

４．  
少し下の方にスクロールすると SYSTEM_USBMSC の項目がありチェックボックスがあります  
この例ではチェックボックスを有効にし USBMSC が使えるカーネルを作れる様にする  
[![画像の説明をここに入力](https://i.stack.imgur.com/2XFix.png)](https://i.stack.imgur.com/2XFix.png)

５．  
これを有効にしカーネルのビルドを実行  
アプリケーションのビルドを実行  
ビルドと書き込みを実行すると ターミナル nsh で、 "msconn"コマンドでUSB MSCを有効にできる様になりました  
[![画像の説明をここに入力](https://i.stack.imgur.com/6i2WW.png)](https://i.stack.imgur.com/6i2WW.png)

-EOF-


CC BY-SA 4.0
2019-11-27T14:22:26.870
60892
2019-11-27T14:22:26.870
34647
60834
answer