fix(i2c): increase vector_table_size_bytes to 1280 to accommodate IRQ and WaitGroup objects Commit 6ca6be4 added I2C2_IRQ and WG IPC objects to i2c/system.json5 but did not update vector_table_size_bytes. The annotations sections overflowed the 0x4A0 (1184 byte) allocation causing a linker overlap error. Bumped to 0x500 (1280 bytes) matching i2c-slave/system.json5 which was correctly updated in the same commit.
diff --git a/target/ast1060-evb/i2c/system.json5 b/target/ast1060-evb/i2c/system.json5 index 8a20b2d..6f79426 100644 --- a/target/ast1060-evb/i2c/system.json5 +++ b/target/ast1060-evb/i2c/system.json5
@@ -5,8 +5,8 @@ // 768KB SRAM (640KB usable), executes from RAM // // Memory Layout (PMSAv7-friendly, power-of-2 aligned regions): -// 0x00000000 - 0x000004A0: Vector table + kernel annotations (1184 bytes) -// 0x000004A0 - 0x00020000: Kernel code (~126KB) +// 0x00000000 - 0x00000500: Vector table + kernel annotations (1280 bytes) +// 0x00000500 - 0x00020000: Kernel code (~126KB) // 0x00020000 - 0x00060000: App flash (256KB: 2 apps × 128KB) // 0x00060000 - 0x00080000: Kernel RAM (128KB) // 0x00080000 - 0x000A0000: App RAM (128KB: 2 apps × 64KB) @@ -16,11 +16,11 @@ arch: { type: "armv7m", vector_table_start_address: 0x00000000, - vector_table_size_bytes: 1184, // 0x4A0 (272 vectors + thread/stack annotations) + vector_table_size_bytes: 1280, // 0x500 (272 vectors + thread/stack/process annotations) }, kernel: { - flash_start_address: 0x000004A0, // After vector table + annotations - flash_size_bytes: 129888, // ~126KB (ends at 0x00020000, power-of-2 boundary) + flash_start_address: 0x00000500, // After vector table + annotations + flash_size_bytes: 129792, // ~126KB (ends at 0x00020000, power-of-2 boundary) ram_start_address: 0x00060000, // After all flash regions ram_size_bytes: 131072, // 128KB },