close_uart0_rom_code_printf
关闭 uart0 的 ROM code 打印
简介
每次 uart0 在上电重启、deepsleep、或者其它复位启动的时候,都会打印一大段 ROM code 里面的信息。这个打印会影响启动的速度,如果想要加快一些启动速度,那么就可以选择关闭这个打印信息。
关闭配置
- 由上图可知,控制关闭 ROM code 的打印有三个控制变量。
临时关闭
-
只需要将 RTC_CNTL_RTC_STORE4_REG[0] 寄存器的值写为 1 ,就能在下次启动时临时关闭 ROM code 的打印。
-
这个只能生效一次,所以每次重启之前都需要操作一下这个寄存器。
-
这个寄存器里面的值,不能断电保存,所以在断电重启时,这个寄存器不会生效。
//提供一种在ESP32-S3 里面快捷使能临时关闭 ROM code 打印的方案,直接操作寄存器的值。 (* (uint32_t *) 0x600080c0)=1;
永久关闭
- 可以通过写 eFuse 的相关值为 3 。这样就直接关闭了,不受其它条件的影响。
- 当 eFuse 不为 3 时,只能可以通过外部上下拉 GPIO46 来对其进行控制。
注
- 这篇文章是参看 ESP32-S3 的手册所写的,其它的型号可能会不一样。
- RTC_CNTL_RTC_STORE4_REG[0] 的值可以任意多次读写,而 eFuse 仅可烧写一次。因此,RTC_CNTL_RTC_STORE4_
REG[0] 可用于临时关闭 ROM 日志打印,而 eFuse 可用于永久关闭 ROM 日志打印。 - GPIO46 的上下拉,只能通过外部的上拉电阻或者下拉电阻进行,程序里面的上下拉在启动时是检测不到的。