Skip to content

arch/xtensa: remove _info from startup of ESP32#18769

Merged
xiaoxiang781216 merged 1 commit intoapache:masterfrom
fdcavalcanti:bugfix/esp32-startup-ets
Apr 21, 2026
Merged

arch/xtensa: remove _info from startup of ESP32#18769
xiaoxiang781216 merged 1 commit intoapache:masterfrom
fdcavalcanti:bugfix/esp32-startup-ets

Conversation

@fdcavalcanti
Copy link
Copy Markdown
Contributor

Summary

  • arch/xtensa: remove _info from startup of ESP32

During startup we should avoid using _info since the system is not
fully initialized. Default to use ets_printf which is safe for
this scenario.

This PR fixes an issue where _info gets stuck trying to print to serial. At this point, we should be using the ets_printf function instead, which is at ROM level.

Impact

Impact on user: Fixes issue where espnow defconfig failed to boot properly.

Impact on build: No.

Impact on hardware: ESP32 only.

Impact on documentation: No.

Impact on security: No.

Impact on compatibility: No.

Testing

  • ./tools/configure.sh esp32-devkitc:espnow
  • Enabled DEBUG_ASSERTIONS and other debug features
  • Make and flash

Results

  • Before the change:
    Device would get stuck during startup while _info was called for the efuse revision info.
 esp32 defconfig would fail to boot (could be seen with espnow + debug features enabled).
Log:
*** Booting NuttX ***
I (65) boot: chip revision: v3.1
I (65) boot.esp32: SPI Speed      : 40MHz
I (65) boot.esp32: SPI Mode       : DIO
I (67) boot.esp32: SPI Flash Size : 4MB
I (70) boot: Enabling RNG early entropy source...
dram: lma 0x00001020 vma 0x3ffbaa70 len 0x43e0   (17376)
iram: lma 0x00005408 vma 0x40080000 len 0x18070  (98416)
padd: lma 0x0001d488 vma 0x00000000 len 0x2b90   (11152)
imap: lma 0x00020020 vma 0x400d0020 len 0x8178c  (530316)
padd: lma 0x000a17b4 vma 0x00000000 len 0xe864   (59492)
dmap: lma 0x000b0020 vma 0x3f400020 len 0x1a26c  (107116)
total segments stored 6
AB
  • After the change:
    Device boots properly.
...
ABESP32 chip revision is v3.0
I (120) cpu_start: Pro cpu start user code
I (120) cpu_start: cpu freq: 240000000 Hz
I (144) wifi_init: rx ba win: 6
I (144) wifi_init: LWIP disabled
I (149) phy_init: phy_version 4863,a3a4459,Oct 28 2025,14:30:06
telnetd [6:100]

NuttShell (NSH) NuttX-10.4.0
nsh> 

During startup we should avoid using _info since the system is not
fully initialized. Default to use ets_printf which is safe for
this scenario.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
@github-actions github-actions Bot added Arch: xtensa Issues related to the Xtensa architecture Size: XS The size of the change in this PR is very small labels Apr 20, 2026
@xiaoxiang781216 xiaoxiang781216 merged commit c47a984 into apache:master Apr 21, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Arch: xtensa Issues related to the Xtensa architecture Size: XS The size of the change in this PR is very small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants