esp8266启动模式 - 如何理解'rst cause:2, boot mode:(3,6)'
8266模块启动或者出现问题后重启时会输出类似‘rst cause:2, boot mode:(3,6)’的消息,这个模块的启动消息可以看出启动的原因和模式。
rst cause:2, boot mode:(3,6)
‘rst cause’
‘rst cause’含义如下:
| 编号 | 描述 |
|---|---|
| 0 | unknown |
| 1 | normal boot |
| 2 | reset pin |
| 3 | software reset |
| 4 | watchdog reset |
‘boot mode’
消息中内容的‘boot mode:(x,y)’中的‘x’表示GPIO ‘15/0/2’ 3个端口的二进制数(有电压为1,没电压为0)。
启动模式 = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2);
由于模块启动的时候会检查0/2/15端口的状态,理解这个数字的意义需要先了解模块的启动模式。
| 启动模式 | GPIO15 (MTDO) | GPIO0 | GPIO2 | 启动模式 |
|---|---|---|---|---|
| 0 | 0V | 0V | 0V | 无效 |
| 1 | 0V | 0V | 3.3V | Uart bootloader |
| 2 | 0V | 3.3V | 0V | 无效 |
| 3 | 0V | 3.3V | 3.3V | SPI flash (Boot sketch) |
| 4 | 3.3V | 0V | 0V | SDIO |
| 5 | 3.3V | 0V | 3.3V | SDIO |
| 6 | 3.3V | 3.3V | 0V | SDIO |
| 7 | 3.3V | 3.3V | 3.3V | SDIO |