关闭不同型号的 ESP 芯片的 ROM Code 上电启动日志的流程

【说明】

  • 芯片 ROM Code 上电启动日志,不会对应用固件产生任何影响。
  • 通过 ROM Code 上电日志能够判断芯片启动模式是处于什么状态。若关闭此日志打印,当芯片进入下载模式或进入 Flash 启动模式等都不会有任何日志提示,不利于检查芯片状态,通常我们不建议关闭此日志的打印。

当使用 v5.0及更高版本的 esp-idf SDK 时:

  • 关闭 ROM Code 日志只需要在软件配置中开启如下设置即可:
 → Boot ROM Behavior → Permanently change Boot ROM output   	
	→ (X) Permanently disable logging

在这里插入图片描述


当使用 v4.4 及更低版本的 esp-idf SDK 时:

❥ 关闭 ESP32 芯片的 ROM Code 上电启动日志

ESP32 芯片的 ROM Code 上电启动日志打印由 MTDO(GPIO15)的电平控制, MTDO(GPIO15)上电电平默认为"高电平" 。当 MTDO(GPIO15)上电电平为 “高电平” 时,U0TXD 上电时将正常打印 ROM Code 上电启动日志。当 MTDO(GPIO15)上电电平为 "低电平" 时,U0TXD 上电时将不打印 ROM Code 上电启动日志。请参见《ESP32 技术规格书》中 “Strapping 管脚” 说明。如下:

在这里插入图片描述


❥ 关闭 ESP32-S2 芯片的 ROM Code 上电启动日志

  • ESP32-S2 芯片的 ROM Code 上电启动日志默认开启打印,不受GPIO46 的电平控制,GPIO46 上电电平默认为"低电平" 。

  • 若要关闭 ESP32-S2 芯片的 Rom Code 的上电启动日志打印,可以使用 esptool 工具,通过烧写 Efuse 的 UART_PRINT_CONTROLSets the default UART boot message output mode = Enabled R/W (0b00))控制信息来关闭 ROM Code 日志打印。

  • ESP32-S2 eFuse 的 UART_PRINT_CONTROL

    • 0 (0x00)时,上电正常打印,不受 GPIO46 控制。
    • 1 (0x01)时,GPIO46 为 0:上电正常打印;GPIO46 为 1:上电不打印。
    • 20x02)时,GPIO46 为 0:上电不打印;GPIO46 为 1:上电正常打印。
    • 3 (0x03)时,上电不打印,不受 GPIO46 控制。

请参见《ESP32-S2 技术规格书》"Strapping 管脚" 说明。

烧写 Efuse 的 UART_PRINT_CONTROL 控制指令如下:

espefuse.py burn_efuse UART_PRINT_CONTROL 0x3

❥ 关闭 ESP32-S3 芯片的 ROM Code 上电启动日志

  • ESP32-S3 芯片的 ROM Code 上电打印默认同时通过 UART0(U0TXD 管脚)和 USB Serial/JTAG 控制器打印,不受GPIO46 的电平控制,GPIO46 上电电平默认为"低电平" 。请参见《ESP32-S3 技术规格书》"Strapping 管脚" 说明。

  • 若要关闭 ESP32-S3 芯片的 Rom Code 的上电启动日志打印,可以通过配置寄存器和 eFuse 来配置关闭 ROM Code 上电打印。详细信息请参考《ESP32-S3 技术参考手册》中的章节 芯片 Boot 控制

ESP32-S3 的 EFUSE_UART_PRINT_CONTROL 表示 UART Boot 信息的默认打印方式。

  • 00(0x00): 使能打印;
  • 01(0x01): GPIO46 低电平复位时,使能打印;
  • 10(0x02): GPIO46 高电平复位时,使能打印;
  • 11(0x03): 关闭打印。(RO)
  • 可以使用 esptool 工具,通过烧写 Efuse 的 UART_PRINT_CONTROLSets the default UART boot message output mode = Enabled R/W (0b00))控制信息来关闭 ROM Code 日志打印。

烧写 Efuse 的 UART_PRINT_CONTROL 控制指令如下:

espefuse.py burn_efuse UART_PRINT_CONTROL 0x3

❥ 关闭 ESP32-C3/ESP32-C2 芯片的 ROM Code 上电启动日志

  • ESP32-C3/ESP32-C2 芯片的 ROM Code 默认上电正常打印日志,不受 Strapping 管脚 GPIO8 的电平控制,GPIO8 上电默认为"悬空" 。请参见《ESP32-C3 技术规格书》"Strapping 管脚" 说明。

  • 若要关闭 ESP32-C3/ESP32-C2 芯片的 Rom Code 的上电启动日志打印,可以通过设置 eFuse e 的 EFUSE_UART_PRINT_CONTROL 字段来关闭 ROM Code 上电打印。

ESP32-C3/ESP32-C2 的 eFuse 的 EFUSE_UART_PRINT_CONTROL 字段为

  • 0(0x00) 时(初始默认值):上电正常打印,不受 GPIO8 控制。
  • 1(0x01) 时: 若 GPIO8 为 0,上电正常打印;若 GPIO8 为 1,上电不打印。
  • 2(0x02) 时: 若 GPIO8 为 0,上电不打印;若 GPIO8 为 1,上电正常打印。
  • 3(0x03) 时: 上电不打印,不受 GPIO8 控制。

请参见《ESP32-C3 技术规格书》/《ESP32-C2 技术规格书》"Strapping 管脚" 说明。

  • 可以使用 esptool 工具,通过烧写 Efuse 的 UART_PRINT_CONTROLSets the default UART boot message output mode = Enabled R/W (0b00))控制信息来关闭 ROM Code 日志打印。

烧写 Efuse 的 UART_PRINT_CONTROL 控制指令如下:

espefuse.py burn_efuse UART_PRINT_CONTROL 0x3

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值