stm32: Rename ROMFS partition config variables to start at index 0.

Change ROMFS partition configuration variables to use index 0 as the
starting partition number (instead of index 1).

Reasons to do this:
- `vfs.rom_ioctl()` numbers the partitions starting from 0
- `mpremote romfs -p <partition id>` numbers the partitions starting from 0

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George
2025-03-11 13:23:13 +11:00
parent 416c6cf0c8
commit bf9cdd2189
6 changed files with 21 additions and 21 deletions

View File

@@ -41,8 +41,8 @@ _heap_start = _ebss; /* heap starts just after statically allocated memory */
_heap_end = _sstack;
/* ROMFS location */
_micropy_hw_romfs_part1_start = ORIGIN(FLASH_ROMFS);
_micropy_hw_romfs_part1_size = LENGTH(FLASH_ROMFS);
_micropy_hw_romfs_part0_start = ORIGIN(FLASH_ROMFS);
_micropy_hw_romfs_part0_size = LENGTH(FLASH_ROMFS);
/* Define output sections */
SECTIONS

View File

@@ -67,7 +67,7 @@ void board_sleep(int value);
// ROMFS config
#define MICROPY_HW_ROMFS_ENABLE_EXTERNAL_QSPI (1)
#define MICROPY_HW_ROMFS_QSPI_SPIFLASH_OBJ (&spi_bdev2.spiflash)
#define MICROPY_HW_ROMFS_ENABLE_PART1 (1)
#define MICROPY_HW_ROMFS_ENABLE_PART0 (1)
// SPI flash #1, for R/W storage
#define MICROPY_HW_SOFTQSPI_SCK_LOW(self) (GPIOE->BSRR = (0x10000 << 11))

View File

@@ -38,7 +38,7 @@ _heap_start = _ebss; /* heap starts just after statically allocated memory */
_heap_end = _sstack;
/* ROMFS location */
_micropy_hw_romfs_part1_start = ORIGIN(FLASH_ROMFS);
_micropy_hw_romfs_part1_size = LENGTH(FLASH_ROMFS);
_micropy_hw_romfs_part0_start = ORIGIN(FLASH_ROMFS);
_micropy_hw_romfs_part0_size = LENGTH(FLASH_ROMFS);
INCLUDE common_bl.ld

View File

@@ -48,7 +48,7 @@
// ROMFS config
#define MICROPY_HW_ROMFS_ENABLE_EXTERNAL_QSPI (1)
#define MICROPY_HW_ROMFS_QSPI_SPIFLASH_OBJ (&spi_bdev2.spiflash)
#define MICROPY_HW_ROMFS_ENABLE_PART1 (1)
#define MICROPY_HW_ROMFS_ENABLE_PART0 (1)
// Extra UART config
#define MICROPY_HW_UART7_TX (pyb_pin_W16)

View File

@@ -77,16 +77,16 @@
#define MICROPY_HW_ROMFS_ENABLE_EXTERNAL_QSPI (0)
#endif
// Whether to enable ROMFS partition 0.
#ifndef MICROPY_HW_ROMFS_ENABLE_PART0
#define MICROPY_HW_ROMFS_ENABLE_PART0 (0)
#endif
// Whether to enable ROMFS partition 1.
#ifndef MICROPY_HW_ROMFS_ENABLE_PART1
#define MICROPY_HW_ROMFS_ENABLE_PART1 (0)
#endif
// Whether to enable ROMFS partition 2.
#ifndef MICROPY_HW_ROMFS_ENABLE_PART2
#define MICROPY_HW_ROMFS_ENABLE_PART2 (0)
#endif
// Whether to enable storage on the internal flash of the MCU
#ifndef MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE
#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (1)

View File

@@ -36,6 +36,13 @@
#if MICROPY_VFS_ROM_IOCTL
#if MICROPY_HW_ROMFS_ENABLE_PART0 && !defined(MICROPY_HW_ROMFS_PART0_START)
#define MICROPY_HW_ROMFS_PART0_START (uintptr_t)(&_micropy_hw_romfs_part0_start)
#define MICROPY_HW_ROMFS_PART0_SIZE (uintptr_t)(&_micropy_hw_romfs_part0_size)
extern uint8_t _micropy_hw_romfs_part0_start;
extern uint8_t _micropy_hw_romfs_part0_size;
#endif
#if MICROPY_HW_ROMFS_ENABLE_PART1 && !defined(MICROPY_HW_ROMFS_PART1_START)
#define MICROPY_HW_ROMFS_PART1_START (uintptr_t)(&_micropy_hw_romfs_part1_start)
#define MICROPY_HW_ROMFS_PART1_SIZE (uintptr_t)(&_micropy_hw_romfs_part1_size)
@@ -43,22 +50,15 @@ extern uint8_t _micropy_hw_romfs_part1_start;
extern uint8_t _micropy_hw_romfs_part1_size;
#endif
#if MICROPY_HW_ROMFS_ENABLE_PART2 && !defined(MICROPY_HW_ROMFS_PART2_START)
#define MICROPY_HW_ROMFS_PART2_START (uintptr_t)(&_micropy_hw_romfs_part2_start)
#define MICROPY_HW_ROMFS_PART2_SIZE (uintptr_t)(&_micropy_hw_romfs_part2_size)
extern uint8_t _micropy_hw_romfs_part2_start;
extern uint8_t _micropy_hw_romfs_part2_size;
#endif
#define ROMFS_MEMORYVIEW(base, size) {{&mp_type_memoryview}, 'B', 0, (size), (void *)(base)}
static const mp_obj_array_t romfs_obj_table[] = {
#if MICROPY_HW_ROMFS_ENABLE_PART0
ROMFS_MEMORYVIEW(MICROPY_HW_ROMFS_PART0_START, MICROPY_HW_ROMFS_PART0_SIZE),
#endif
#if MICROPY_HW_ROMFS_ENABLE_PART1
ROMFS_MEMORYVIEW(MICROPY_HW_ROMFS_PART1_START, MICROPY_HW_ROMFS_PART1_SIZE),
#endif
#if MICROPY_HW_ROMFS_ENABLE_PART2
ROMFS_MEMORYVIEW(MICROPY_HW_ROMFS_PART2_START, MICROPY_HW_ROMFS_PART2_SIZE),
#endif
};
mp_obj_t mp_vfs_rom_ioctl(size_t n_args, const mp_obj_t *args) {