FOR EVERY SPACE ページ 3 いつもは GR-PEACH を使って発表するのですが.. GR-PEACH Control USB(HID) Image RGB DVI Image Resolution 720p DVi-Board USB Hub USB(Hub) 本日は後半のデモのため、PCを使用します。 小型版のデモを展示コーナーでご紹介しています。
FOR EVERY SPACE WinbondさんからShieldをいただきました Winbondさんより Arduino UNO form-factor で使用できる Flash Memory Sample Shield をいただきました。 4種類のフラッシュメモリが搭載されており、切り替えはジャンパーで行います。 通信はSPIです。WinbondさんのWebページに「NUCLEO-F411RE」向けのサ ンプルプログラムが公開されています。(GR-LYCHEEもそのままで動作します)
FOR EVERY SPACE FlashIAPBlockDeviceのコンストラクタ シリアルフラッシュの前半はプログラム領域として使用しているため、今回スト レージとして使用するのは、先頭から1MB以降のアドレスとします。 FlashIAPBlockDeviceのコンストラクタには開始アドレスを指定できるものも ありますが、Mbed OS 5.10.1ではまだ使えません。⇒ ユーティリティを使う class FlashIAPBlockDevice : public BlockDevice { public: /** Creates a FlashIAPBlockDevice **/ FlashIAPBlockDevice(); MBED_DEPRECATED("Please use default constructor instead") FlashIAPBlockDevice(uint32_t address, uint32_t size = 0); GitHub上の最新リポジトリでは 使用できるようになっているが、 現在リリースされている5.10.1 では使用できない。
FOR EVERY SPACE USB Device を先行お試し 今後、Mbed OS に追加される予定の USB Device の USBMSDクラス を使用 すると、PC上からUSBメモリのようにアクセスできるようになります。 #include "mbed.h" #include "SPIFBlockDevice.h" #include "USBMSD.h" int main() { SPIFBlockDevice spif_bd(D11, D12, D13, D10, 32000000); USBMSD usb(&spif_bd); while (true) { usb.process(); } }
FOR EVERY SPACE 追加する機能 ▪内蔵メモリが3MBのうち1MBをHeapBlockDeviceとして使用します。 リセット毎にデータは忘れてしまいますが、高速アクセスが可能です。 ▪SDカードとUSBメモリをブロックデバイスとして追加します。 PCからデータを書き換えるとデバイス内のデータも書き変わります。 ▪ボタンが押されるとブロックデバイスが切り替わるようにします。 ▪ストレージにWAVファイルが書き込まれた際は再生するようにします。 再生中にストレージ内が書き変わった際は、再生を中断し再マウントします。