[ESP32] ESP32-WROVERのPSRAMをArduino IDEで4MB以上使う方法(ただしR/W遅し)
経緯
ESP32-WROVER-Bは8MBの擬似SRAM、PSRAMが搭載されているのですが、Arduino IDEでは4MBまでしかアクセスが出来ない。
ESP-IDFにて開発すれば8MB以上使えるそうですが、これをなんとかArduino IDEでやる方法は無いものか調べてみました。
また、今回使用するArduino ESP32のバージョンは1.0.6です。
参考
方法
Arduino IDEにESP32Himemというライブラリを追加して使えば解決します。
ライブラリマネージャーからは追加出来ないため手動で追加する必要があります。
arkhipenko/ESP32Himem のGithubページから最新のCodeをZIPでダウンロードして解凍し、Arduino IDEのライブラリディレクトリに追加します。ライブラリディレクトリは以下のどちらかのパスです。ちなみにWindowsでの場合です。
1 |
[Arduino IDEパス]\libraries |
1 |
[ユーザーパス]\Documents\Arduino\libraries |
追加したらArduino IDEを再起動します。
使用するプロジェクトのソースにて
ESP32Himem.h をインクルードして使います。
使い方は
examples/ESP32Himem.inoを参考にしてください。
Streamを利用して実装されたESP32Himemクラスを経由して4MB以上のPSRAM領域にアクセスできます。最高ですね。
ただ、Read/Write共にめちゃくちゃ遅いです…。ドはこのHiMemクラスで確保した領域を1/60秒でアクセスするバックバッファ的に使用したのですがかなり厳しいですね。
おわい
便利なライブラリを作っていただき、ありがとうございます!
ただしアクセスが非常に遅いので使用用途は限られるので注意しましょう。
おわい