Laczen opened a new pull request, #20699: URL: https://github.com/apache/nuttx/pull/20699
## Summary Integrate the esp-idf format into the esp32_sections and flat_memory scripts. Update all esp32 boards to include the change. The linker flag "-u esp_app_desc" in case of esp-idf format is to ensure support for espflash (from esp-rs). ## Impact The update removes the legacy_sections.ld linker script. This reduces maintenance and makes sure that future changes are applied for esp-idf bootloader support. ## Testing Tested on a esp32-devkitc for simpleboot, esp-idf bootlooader and mcuboot: simpleboot: ```console rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3ffb2068,len:1756 ho 0 tail 12 room 4 load:0x40080000,len:17948 entry 0x40081c3c *** Booting NuttX *** dram: lma 0x00001020 vma 0x3ffb2068 len 0x6dc (1756) iram: lma 0x00001704 vma 0x40080000 len 0x461c (17948) padd: lma 0x00005d38 vma 0x00000000 len 0xa2e0 (41696) imap: lma 0x00010020 vma 0x400d0020 len 0x15554 (87380) padd: lma 0x0002557c vma 0x00000000 len 0xaa9c (43676) dmap: lma 0x00030020 vma 0x3f400020 len 0x34e4 (13540) total segments stored 6 ESP32 chip revision is v1.0 WARNING: NuttX supports ESP32 chip revision >= v3.0 (chip is v1.0). Ignoring this error and continuing because `ESP32_IGNORE_CHIP_REVISION_CHECK` is set... THIS MAY NOT WORK! DON'T USE THIS CHIP IN PRODUCTION! NuttShell (NSH) NuttX-13.1.0 nsh> uname -a NuttX 13.1.0 63b7382441 Oct 16 2026 11:40:14 xtensa esp32-devkitc ``` esp-idf bootloader: ```console rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0040,len:6240 load:0x40078000,len:15820 load:0x40080400,len:3964 entry 0x40080640 I (27) boot: ESP-IDF v6.1-beta1-497-g14f663f003e 2nd stage bootloader I (27) boot: Multicore bootloader I (27) boot: chip revision: v1.0 I (29) boot.esp32: SPI Speed : 40MHz I (32) boot.esp32: SPI Mode : DIO I (36) boot.esp32: SPI Flash Size : 4MB I (39) boot: Enabling RNG early entropy source... I (44) boot: Partition Table: I (46) boot: ## Label Usage Type ST Offset Length I (53) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (59) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (66) boot: 2 factory factory app 00 00 00010000 003f0000 I (72) boot: End of partition table I (76) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=038c4h ( 14532) map I (88) esp_image: segment 1: paddr=000138ec vaddr=3ffb2078 size=00c14h ( 3092) load I (92) esp_image: segment 2: paddr=00014508 vaddr=40080000 size=03550h ( 13648) load I (104) esp_image: segment 3: paddr=00017a60 vaddr=00000000 size=085b8h ( 34232) I (117) esp_image: segment 4: paddr=00020020 vaddr=400d0020 size=16b30h ( 92976) map I (153) boot: Loaded app from partition at offset 0x10000 I (153) boot: Disabling RNG early entropy source... ESP32 chip revision is v1.0 WARNING: NuttX supports ESP32 chip revision >= v3.0 (chip is v1.0). Ignoring this error and continuing because `ESP32_IGNORE_CHIP_REVISION_CHECK` is set... THIS MAY NOT WORK! DON'T USE THIS CHIP IN PRODUCTION! NuttShell (NSH) NuttX-13.1.0 nsh> uname -a NuttX 13.1.0 63b7382441 Oct 16 2026 11:35:23 xtensa esp32-devkitc ``` mcuboot: ```console rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff7c98,len:7132 ho 0 tail 12 room 4 load:0x40078000,len:13884 load:0x40090000,len:8712 entry 0x400794d4 [esp32] [INF] *** Booting MCUboot build v2.2.0-151-g8a07053d *** [esp32] [INF] [boot] chip revision: v1.0 [esp32] [INF] [boot.esp32] SPI Speed : 40MHz [esp32] [INF] [boot.esp32] SPI Mode : DIO [esp32] [INF] [boot.esp32] SPI Flash Size : 4MB [esp32] [INF] [boot] Enabling RNG early entropy source... [esp32] [INF] Primary image: magic=good, swap_type=0x1, copy_done=0x3, image_ok=0x1 [esp32] [INF] Scratch: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3 [esp32] [INF] Boot source: primary slot [esp32] [INF] Image index: 0, Swap type: none [esp32] [INF] Disabling RNG early entropy source... [esp32] [INF] br_image_off = 0x20000 [esp32] [INF] ih_hdr_size = 0x20 [esp32] [INF] Loading image 0 - slot 0 from flash, area id: 1 [esp32] [INF] DRAM segment: start=0x22b30, size=0x634, vaddr=0x3ffb2048 [esp32] [INF] IRAM segment: start=0x20080, size=0x2ab0, vaddr=0x40080000 [esp32] [INF] start=0x400814b8 IROM segment aligned lma 0x00040000 vma 0x400d0000 len 0x01558c (87436) DROM segment aligned lma 0x00030000 vma 0x3f410000 len 0x0034f8 (13560) ESP32 chip revision is v1.0 WARNING: NuttX supports ESP32 chip revision >= v3.0 (chip is v1.0). Ignoring this error and continuing because `ESP32_IGNORE_CHIP_REVISION_CHECK` is set... THIS MAY NOT WORK! DON'T USE THIS CHIP IN PRODUCTION! NuttShell (NSH) NuttX-13.1.0 nsh> uname -a NuttX 13.1.0 63b7382441 Oct 16 2026 11:45:13 xtensa esp32-devkitc ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
