ESP8266 基础篇:启动时 rst cause 和 boot mode

简介

ESP8266 启动时, ROM CODE 会读取 GPIO 状态和 rst cause 状态, 进而决定 ESP8266 工作模式.
通过了解和掌握 rst causeboot mode, 有助于定位某些系统问题.

ROM CODE 波特率为 74880.

ESP8266 启动时 rst cause

ESP8266 启动时会有如下打印:

ets Jan 8 2013, rst cause:1, boot mode:(5,7)

其中 rst cause 说明如下:

枚举定义意义
0NO_MEAN无意义
1VBAT_REST上电复位(电源重启)
2EXT_SYS_RESET外部复位 (deep-sleep 醒来)
3SW_RESET软件复位
4WDT_RESET硬件看门狗复位
5DEEPSLEEP_TIMER_RESET/
6DEEPSLEEP_POWER_ON_RESET/

Notes:
软件 WDT 重启或者软件复位都会维持上次重启状态. 比如第一次是电源重启, rst cause 为 1, 软件复位后 rst cause 仍然为 1.


ESP8266 上电 boot mode

ESP8266 上电时会判断 boot strapping 管脚的状态, 并决定 boot mode.
例如上电打印:

ets Jan 8 2013,rst cause:1, boot mode:(3,2)

其中 boot mode 说明如下:

  • 第一个值代表当前 boot 模式
  • 第二个值代表 SDIO/UART 判断

boot modestrapping 管脚的 3 位值 [GPIO15, GPIO0, GPIO2] 共同决定. 如下表所示:

boot modeStrapping 管脚的 3 位值
[GPIO15, GPIO0, GPIO2]
SDIO/UART 判断意义
0[0, 0, 0]/remap boot
1[0, 0, 1]/UART boot
2[0, 1, 0]/jump boot
3[0, 1, 1]/fast flash boot
4[1, 0, 0]2SDIO lowspeed V1 UART boot
5[1, 0, 1]2SDIO lowspeed v2 uart boot
6[1, 1, 0]2SDIO highspeed v1 uart boot
7[1, 1, 1]2SDIO highspeed v2 uart boot
4-7[1,0,0], [1,0,1], [1,1,0], [1,1,1]非 2SDIO boot

boot mode 4~7 为 SDIO 的不同的协议标准, 包括低速 (lowspeed) 和高速 (highspeed), 版本号(V1, V2)等, 但并非所有 MCU 都会同时支持这些标准。

  • 12
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值