問題
ファームウェアのサイズが1.3Mバイトを超えるとエラーになる。
原因
現行品のM5Stack Basicは 16MバイトのFlashメモリを搭載しているが、初期のバージョンは 4Mバイトだった。そのため、m5stack-core-esp32 のボード設定は4MバイトのFlashメモリを想定したメモリマップになっており、ユーザーのファームウェア領域は1.3Mバイトしかない。
解決策
m5stack-core-esp32 ではなく、m5stack-fire を指定する。ただし、M5Stack Fireに搭載されているPSRAMは、M5Stack Basicには搭載されていない。そのため、起動時にPSRAMへのアクセスエラーが発生する。
E (484) psram: PSRAM ID read error: 0xffffffff
これを回避するには、PSRAMを無効化する設定を追加する。
手順
platformio.iniを下記のように記述する。
[env:m5stack-basic] platform = espressif32 framework = arduino board = m5stack-fire build_unflags = -DBOARD_HAS_PSRAM
以上。