esp8266/boards: Add FLASH_2M_ROMFS variant with 320k ROM partition.

The same as the 2M flash variant but with a 320KiB ROM partition.

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George 2025-03-01 17:22:03 +11:00
parent 75ff8e5465
commit 6bec36a4ee
3 changed files with 38 additions and 1 deletions

View file

@ -17,7 +17,8 @@
"variants": {
"OTA": "OTA compatible",
"FLASH_1M": "1MiB flash",
"FLASH_512K": "512kiB flash"
"FLASH_512K": "512kiB flash",
"FLASH_2M_ROMFS": "2MiB flash with ROMFS"
},
"vendor": "Espressif"
}

View file

@ -0,0 +1,12 @@
LD_FILES = boards/esp8266_2MiB_ROMFS.ld
MICROPY_PY_ESPNOW ?= 1
MICROPY_PY_BTREE ?= 1
MICROPY_VFS_FAT ?= 1
MICROPY_VFS_LFS2 ?= 1
# Add asyncio and extra micropython-lib packages (in addition to the port manifest).
FROZEN_MANIFEST ?= $(BOARD_DIR)/manifest_2MiB.py
# Configure mpconfigboard.h.
CFLAGS += -DMICROPY_ESP8266_2M -DMICROPY_VFS_ROM=1

View file

@ -0,0 +1,24 @@
/* GNU linker script for ESP8266 with 2M or more flash, and includes a ROMFS partition
Flash layout:
0x40200000 36k header + iram/dram init
0x40209000 668k firmware (irom0)
0x402c0000 320k ROMFS
0x40300000 1M+ filesystem (not memory mapped)
*/
MEMORY
{
dport0_0_seg : org = 0x3ff00000, len = 16
dram0_0_seg : org = 0x3ffe8000, len = 80K
iram1_0_seg : org = 0x40100000, len = 32K
irom0_0_seg : org = 0x40209000, len = 1M - 36K - 320K
FLASH_ROMFS : org = 0x402b0000, len = 320K
}
/* define ROMFS extents */
_micropy_hw_romfs_start = ORIGIN(FLASH_ROMFS);
_micropy_hw_romfs_size = LENGTH(FLASH_ROMFS);
/* define common sections and symbols */
INCLUDE boards/esp8266_common.ld