ESP32DevKitCをリセットした際のメッセージを下記に添付する。
分析詳細説明せよ。
19:54:52.405 -> ets Jun 8 2016 00:22:57 19:54:52.405 -> 19:54:52.405 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 19:54:52.405 -> configsip: 0, SPIWP:0xee 19:54:52.405 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 19:54:52.405 -> mode:DIO, clock div:1 19:54:52.405 -> load:0x3fff0030,len:1416 19:54:52.405 -> load:0x40078000,len:14804 19:54:52.405 -> load:0x40080400,len:4 19:54:52.405 -> load:0x40080404,len:3356 19:54:52.405 -> entry 0x4008059c
このESP32DevKitCのリセットメッセージを解析してみましょう。
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT):
リセットの原因は電源オンリセット(POWERON_RESET)であり、ブートモードは
SPI_FAST_FLASH_BOOTです。
電源が投入されていることが原因でのリセットで、SPIフラッシュからの高速ブートが行われています。
configsip: 0, SPIWP:0xee:
SIP (Secure Boot) の設定は無効(0)で、SPI Write Protectionは0xeeです。
clk_drv:0x00,q_drv:0x00,d_drv:
0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00: 各ドライバの設定が0x00です。
これはクロック、クエリ、データ、CS0(チップセレクト0)、HD(host)、
WP(write protection)の各ドライバが無効であることを示しています。
mode:DIO, clock div:1:
SPI通信のモードはDIO(Data Input/Output)で、クロックディバイダ(clock div)は1です。
load:0x3fff0030,len:1416:
メモリアドレス0x3fff0030から1416バイトのデータを読み込んでいます。
load:0x40078000,len:14804:
メモリアドレス0x40078000から14804バイトのデータを読み込んでいます。
load:0x40080400,len:4:
メモリアドレス0x40080400から4バイトのデータを読み込んでいます。
load:0x40080404,len:3356:
メモリアドレス0x40080404から3356バイトのデータを読み込んでいます。
entry 0x4008059c:
プログラムのエントリポイントはメモリアドレス0x4008059cです。
これはプログラムの実行が始まるメモリアドレスを指しています。
総じて、このメッセージはESP32DevKitCが電源オンリセットでリセットされ、
SPIフラッシュからプログラムが読み込まれ、実行が始まったことを示しています。
SPI_FAST_FLASH_BOOTモードは、SPIフラッシュメモリからの高速なブートを行います。
これにより、デバイスが迅速に起動し、プログラムの実行が可能となります。
普段何気なく見ている文字列ですが、DevKitCくんは、なにか意味があって返してくれて
いるのです。いい機会なので調べてみました。
ChatGPTくんのいう事なので嘘だったらごめんなさい。