不具合の概要
M5Stack Core2実機に「タカオ版Core2+SG90」(takao_core2_sg90)ターゲットのファームウェアを書き込むと、起動直後(ブートローダーの最初の命令)でクラッシュし、再起動を繰り返します(ブートループ)。develop branch (commit 53a0e66) と v1.0.0 タグの両方で同一の症状が再現しました。
比較として、同じ実機に Moddable SDK 標準サンプル examples/piu/balls を mcconfig -d -m -p esp32/m5stack_core2 でビルド・書き込みすると正常に動作し画面表示できるため、ハードウェア自体(チップ・画面・USBシリアル)は正常と考えられます。
再現手順
firmware/ で npm i && npm run setup && npm run setup -- --device=esp32 && npm run doctor を実行し環境構築(doctorはすべて正常)
npm run flash:takao_core2_sg90 -- --port <PORT> でビルド・書き込み(書き込み・ハッシュ検証・ハードリセットまで正常終了)
- 実機の画面が黒いまま。物理ボタンにも無反応
- シリアルを115200bpsで確認すると、以下のパターンで再起動を繰り返している:
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0040,len:552
load:0x40078000,len:14644
load:0x40080400,len:3300
entry 0x4008056c
(文字化けした短いバイト列、数十バイト)
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
...(同じ内容が繰り返す、entry 0x4008056c 直後で毎回止まる)
- develop branch (53a0e66)、v1.0.0 タグの両方で同一症状(
npm run clean 後のクリーンビルドでも再現)
manifest_local.json は本ビルドではどのターゲットmanifestからもincludeされておらず、config反映には manifest_takao_core2_sg90.json 直下の "config" に直接書く必要がありました(別件の可能性もありますが、ついでに記載します)
想定する挙動
スタックちゃんの顔がCore2画面に表示される。
環境
- OS: macOS (Darwin, Apple Silicon)
- チップ: ESP32-D0WDQ6-V3 (revision v3.1)、esptoolで確認
- フラッシュ: 16MB(
esptool flash-id で確認、ビルド設定と一致)
- Stack-chan Version: develop (53a0e66) および v1.0.0 タグ
- 使用したM5Stack: M5Stack Core2(サーボ・M5GoBottom2は未装着の状態でテスト)
- ESP-IDF: 6.0.2(
xs-dev setup --device=esp32 で導入)
- Moddable SDK: 9.0.0
その他
クラッシュ位置がROM→2nd stage bootloaderへのentry直後(entry 0x4008056c)であるため、ESP32 rev3チップとPSRAM関連のブートローダー設定の非互換を疑っています。他のターゲット(stackchan_rt / m5stackchan_cores3)は異なるチップ/構成のため未テストです。
不具合の概要
M5Stack Core2実機に「タカオ版Core2+SG90」(
takao_core2_sg90)ターゲットのファームウェアを書き込むと、起動直後(ブートローダーの最初の命令)でクラッシュし、再起動を繰り返します(ブートループ)。develop branch (commit 53a0e66) と v1.0.0 タグの両方で同一の症状が再現しました。比較として、同じ実機に Moddable SDK 標準サンプル
examples/piu/ballsをmcconfig -d -m -p esp32/m5stack_core2でビルド・書き込みすると正常に動作し画面表示できるため、ハードウェア自体(チップ・画面・USBシリアル)は正常と考えられます。再現手順
firmware/でnpm i && npm run setup && npm run setup -- --device=esp32 && npm run doctorを実行し環境構築(doctorはすべて正常)npm run flash:takao_core2_sg90 -- --port <PORT>でビルド・書き込み(書き込み・ハッシュ検証・ハードリセットまで正常終了)npm run clean後のクリーンビルドでも再現)manifest_local.jsonは本ビルドではどのターゲットmanifestからもincludeされておらず、config反映にはmanifest_takao_core2_sg90.json直下の"config"に直接書く必要がありました(別件の可能性もありますが、ついでに記載します)想定する挙動
スタックちゃんの顔がCore2画面に表示される。
環境
esptool flash-idで確認、ビルド設定と一致)xs-dev setup --device=esp32で導入)その他
クラッシュ位置がROM→2nd stage bootloaderへのentry直後(
entry 0x4008056c)であるため、ESP32 rev3チップとPSRAM関連のブートローダー設定の非互換を疑っています。他のターゲット(stackchan_rt/m5stackchan_cores3)は異なるチップ/構成のため未テストです。