• 关闭不同型号的 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】存储引擎
    SpringMVC简介
    前端工作总结295-uni-增加表单验证
    保姆级教程--容器化部署prometheusd监控系统(yaml文件、docker命令均有详细解释、大白话描述服务作用、适合小白)
    【Python】【技能树评测】技巧实例-说明改进和实践【04】访问限制
    动态规划之线性DP
    chrome108 版本跨域问题
    Dev C++编写C/C++程序 出现[Error] ld returned 1 exit status报错分析及解决
    truffle
    网站接入微信支付后如何实现退款和取消预约?
  • 原文地址:https://blog.csdn.net/Marchtwentytwo/article/details/128148509