hiro99ma blog

m5: hello_world のログ

2025/05/21

M5Stack Core2(初版) を持っている。 Core2 の一覧を見てて気付いたけど六角レンチが付属していたのだね。

型番

Core2 に載っている ESP32 は、ESP32-D0WDQ6-V3 という名前だ。 データシート v4.9 に説明があった。

image

メモリ

PDF にはこう書いてある。

No In-package flash だから 448 KB ROM は Flash ではない ROM なのだろう。
内蔵 Flash がまったく無いってのはすごいね! 昔は外付けメモリ=バスがいる=チップの足の数がけっこう増える、というイメージだったけど、 QSPI というやつ(nRF53 にもあったな)だとそんなにいらないのかな? SPI の 4倍だと多いけど、GND とか CLK は共有するとして・・・と推測するものではないな。 Core2 の説明書きには、16M-FLASH、8M-PSRAM となっているので図面を見ると分かる。

image

クロックとチップセレクトを除くと PSRAM は4本しか使ってない?
Flash の方は普通の SPI の本数だ。

まあ、今回はログを載せるのが目的なのでここまでにしておこう。

hello_world のログ

ESP-IDF の master 版で hello_world を Core2 で動かしたときのシリアルログを見てみよう。

I (13) boot: ESP-IDF v5.5-dev-3703-gf9765d0316 2nd stage bootloader
I (13) boot: compile time May 20 2025 18:05:00
I (13) boot: Multicore bootloader
I (15) boot: chip revision: v3.0
I (18) boot.esp32: SPI Speed      : 40MHz
I (21) boot.esp32: SPI Mode       : DIO
I (25) boot.esp32: SPI Flash Size : 2MB
I (29) boot: Enabling RNG early entropy source...
I (33) boot: Partition Table:
I (36) boot: ## Label            Usage          Type ST Offset   Length
I (42) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (48) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (55) boot:  2 factory          factory app      00 00 00010000 00100000
I (62) boot: End of partition table

I (65)  esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=07600h ( 30208) map
I (83)  esp_image: segment 1: paddr=00017628 vaddr=3ff80000 size=00020h (    32) load
I (83)  esp_image: segment 2: paddr=00017650 vaddr=3ffb0000 size=02174h (  8564) load
I (90)  esp_image: segment 3: paddr=000197cc vaddr=40080000 size=0684ch ( 26700) load
I (105) esp_image: segment 4: paddr=00020020 vaddr=400d0020 size=0fbbch ( 64444) map
I (127) esp_image: segment 5: paddr=0002fbe4 vaddr=4008684c size=061b4h ( 25012) load

I (143) boot: Loaded app from partition at offset 0x10000
I (144) boot: Disabling RNG early entropy source...

I (154) cpu_start: Multicore app
I (162) cpu_start: Pro cpu start user code
I (162) cpu_start: cpu freq: 160000000 Hz

I (162) app_init: Application information:
I (162) app_init: Project name:     hello_world
I (167) app_init: App version:      1
I (170) app_init: Compile time:     May 20 2025 18:04:55
I (175) app_init: ELF file SHA256:  a09b518f1...
I (179) app_init: ESP-IDF:          v5.5-dev-3703-gf9765d0316

I (185) efuse_init: Min chip rev:     v0.0
I (189) efuse_init: Max chip rev:     v3.99
I (193) efuse_init: Chip rev:         v3.0

I (197) heap_init: Initializing. RAM available for dynamic allocation:
I (203) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (208) heap_init: At 3FFB29E0 len 0002D620 (181 KiB): DRAM
I (213) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (219) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (224) heap_init: At 4008CA00 len 00013600 (77 KiB): IRAM

I (230) spi_flash: detected chip: generic
I (233) spi_flash: flash io: dio
W (236) spi_flash: Detected size(16384k) larger than the size in the binary image header(2048k). Using the size in the binary image header.

I (249) main_task: Started on CPU0
I (259) main_task: Calling app_main()

Hello world!
This is esp32 chip with 2 CPU core(s), WiFi/BTBLE, silicon revision v3.0, 2MB external flash
Minimum free heap size: 306184 bytes
Restarting in 10 seconds...
Restarting in 9 seconds...
(以下略)

“Hello world!” から下が C言語で書いたログである。
それより前は 448 KB の ROM が出力しているのだろうか? app_main() というエントリーポイントの名前も固定のようだから ROM が出力してもおかしくないと思ったが、 こちらを見ると first stage が ROM、それ以降は flash からイメージを読み込んでいるようだ。

ログで “boot” から始まっている行が ROM のような気がする。


 < Top page


コメント(Google Formへ飛びます)

GitHub

X/Twitter

Homepage