nuttx/boards
Marco Casaroli 1a061d9b4e boards/esp32s3-devkit: Add kernel_n8r2, a kernel build for 2 MB PSRAM.
kernel_oct targets a WROOM-2 N32R8V:  octal flash, and 8 MB of PSRAM for the
page pool.  The defaults size the pool for that part, with 8 pages of 64 KiB
for each of the text, data and heap regions, so 1.5 MB per process.  fork()
duplicates the address environment, so a parent and a child need 3 MB at once
and a module with 2 MB of PSRAM cannot do it.

kernel_n8r2 sizes the same build for such a module.  Each region is 2 pages,
so a process takes 384 KiB and a fork() peaks at 768 KiB, inside a 1.5 MB pool
placed at 0x80000 to leave the start of the PSRAM alone.

The flash is quad and runs in DIO mode, so this configuration also exercises
the CONFIG_ESP32S3_FLASH_MODE_OCT guard in kernel-space.ld from the quad side,
which kernel_oct cannot.

This is tight by construction.  ostest has 115 KiB of text against a 128 KiB
text region.  A larger program needs a module with more PSRAM, not a larger
pool.

Verified on an ESP32-S3-DevKitC with an N8R2 module, 8 MB flash in DIO mode
and 2 MB of embedded quad PSRAM.  ostest reports "Parent and child had
independent memory" and exits with status 0.

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-09-26 11:13:57 -03:00
..
arm arch/arm/imxrt: Clean up TRDC configuration 2026-09-26 17:05:34 +08:00
arm64 boards/qemu-armv8a: add S2OPC server configuration 2026-09-15 14:55:24 +02:00
avr !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
dummy
hc/m9s12 !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
mips arch/mips/jz4780: Add HDMI EDID parsing and dynamic display modes 2026-08-29 11:08:25 -03:00
misoc/lm32/misoc
or1k/mor1kx/or1k !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
renesas !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
risc-v boards/risc-v/esp32c2/esp8684-devkitm: add ESP8684-DevKitM board 2026-09-25 21:08:00 +08:00
sim/sim/sim boards/sim: Fix coding style to let the PR pass 2026-09-25 10:36:28 +02:00
sparc
tricore
x86/qemu/qemu-i486 boards/x86/qemu/qemu-i486: Switch nsh/vga_fb from nsh to nxinit. 2026-09-17 16:21:59 +08:00
x86_64/qemu/qemu-intel64 boards/qemu-intel64: add citest configuration 2026-09-15 18:33:47 +08:00
xtensa boards/esp32s3-devkit: Add kernel_n8r2, a kernel build for 2 MB PSRAM. 2026-09-26 11:13:57 -03:00
z16/z16f/z16f2800100zcog
z80
.gitignore
Board.mk !tools/mkpasswd: PBKDF2 host tool and ROMFS passwd build integration 2026-07-21 20:19:14 +08:00
boardctl.c !boards/boardctl: Remove BOARDIOC_INIT 2026-05-26 09:57:29 +08:00
CMakeLists.txt cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR) 2026-08-09 11:13:08 -03:00
dummy.c
Kconfig boards/risc-v/esp32c2/esp8684-devkitm: add ESP8684-DevKitM board 2026-09-25 21:08:00 +08:00
Makefile tools: fix stale archive members surviving a Kconfig-driven CSRCS change 2026-07-28 21:26:03 -03:00