• 关闭不同型号的 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
    
    • 1
    • 2

    在这里插入图片描述


    当使用 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
    
    • 1

    ❥ 关闭 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
    
    • 1

    ❥ 关闭 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
    
    • 1

  • 相关阅读:
    Mysql - 从一个小 case 理解 MVCC
    2023年汉字小达人市级比赛在线模拟题来了,四种练习助力好成绩
    Vue中axios拦截器怎么使用
    6.使用leetcode去练习语言
    因子模型:套利定价理论APT
    Spring-ReactiveKafkaConsumer(反应式消费kafka消息)
    【Linux - 操作技术】八 软件包管理
    kafka 消费者
    对于女生来说,软件测试和前端,学哪一个更好啊
    六月集训(30)拓扑排序
  • 原文地址:https://blog.csdn.net/Marchtwentytwo/article/details/128148509