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

  • 相关阅读:
    不就是Java吗之数组的定义和使用
    5000+封号血泪史,造就这16条WhatsApp防死号秘籍
    医保移动支付和接口对接开发
    基于SSM的会议管理系统设计与实现
    C++ 结合mysql写一个服务端
    关于电路的输入阻抗与输出阻抗的理解
    R语言选择data.table数据中的多个数据列并重命名筛选的数据列
    后端Boy转为数据库Boy基础最流行的SQL题,学完可以巩固几乎所有的查询,推荐分享
    metersphere 接口自动化
    简易留言板
  • 原文地址:https://blog.csdn.net/Marchtwentytwo/article/details/128148509