よこむむの電子工作記

電子工作や修理日誌です

ESP32-S3搭載LCD開発基板で遊ぶ~セットアップ編

以前に紹介したLCD開発基板で遊んでみましたので記事にしてみます。

yokomumu.hateblo.jp

手始めに、Arduino IDEで書き起こされたmp3プレイヤーのサンプルをVSCode+PlatformIOの環境に移植してみようと思います。サンプルプログラムはこちらからダウンロードできます。

そこで、まずは開発環境のセットアップから(VSCodeとPlatformIOはセットアップ済みという前提でお話を進めます)。

プロジェクトの作成

Boardは「Espressif ESP32-S3-DevKitC-1-N8」を選びます。

フラッシュメモリのサイズとPSRAMの有無は現状と一致していませんが、この次の手順で有効化できるため、一旦問題ありません。

platformio.iniの編集

使用するフラッシュメモリサイズの最大化とPSRAMを有効にします。
情報の出所は以下になります。

github.com

なお、デフォルトでは、Serial出力はUART経由になりますが、Serialの受信側がCDCで接続されているため、Serialで出力した内容は受信できません。Serial.println()しても何も表示されないということです。
Serialの出力先をCDCにするためにビルドオプションに-DARDUINO_USB_CDC_ON_BOOT=1を指定する必要があります。

[env:esp32-s3-devkitc-1]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino

board_build.arduino.memory_type = qio_opi
board_build.flash_mode = qio
board_build.psram_type = opi
board_upload.flash_size = 16MB
board_upload.maximum_size = 16777216
board_build.partitions = default_16MB.csv
build_flags = -DBOARD_HAS_PSRAM -DARDUINO_USB_CDC_ON_BOOT=1
monitor_speed = 115200
upload_speed = 1500000
;build_type = debug

なお、PSRAMを有効化してもコンパイル終了時の使用メモリ容量の表示には反映されませんが、heap_caps_malloc()等でPSRAM領域を確保できるようになります。

あと、build_type = debugを有効にすると、以下の手順でデバッグ実行できるようになります。

  1. 普通にBuild(デバッグビルドになる)
  2. バイスにアップロードする
  3. F5キーでデバッグを開始する

デバッグしたい場合はこのコンパイルスイッチを有効にしておかないと、ローカルとデバイスのバイナリが一致せずハマるので注意しましょう。

セットアップ編は以上です。続編については鋭意作成中です。