Adjust memory layout to account for increased sizes * Reduced I2C client memory allocations * Added memory access permissions for i2c server
diff --git a/target/ast1060-evb/i2c-slave/system.json5 b/target/ast1060-evb/i2c-slave/system.json5 index 0c1ce5b..2eaa7fb 100644 --- a/target/ast1060-evb/i2c-slave/system.json5 +++ b/target/ast1060-evb/i2c-slave/system.json5
@@ -14,11 +14,11 @@ arch: { type: "armv7m", vector_table_start_address: 0x00000000, - vector_table_size_bytes: 1280, + vector_table_size_bytes: 1664, // 0x680 (includes vector table + annotations) }, kernel: { - flash_start_address: 0x00000500, - flash_size_bytes: 129792, + flash_start_address: 0x00000680, + flash_size_bytes: 129408, ram_start_address: 0x00060000, ram_size_bytes: 131072, },
diff --git a/target/ast1060-evb/i2c/system.json5 b/target/ast1060-evb/i2c/system.json5 index 6f79426..df3dccc 100644 --- a/target/ast1060-evb/i2c/system.json5 +++ b/target/ast1060-evb/i2c/system.json5
@@ -16,11 +16,11 @@ arch: { type: "armv7m", vector_table_start_address: 0x00000000, - vector_table_size_bytes: 1280, // 0x500 (272 vectors + thread/stack/process annotations) + vector_table_size_bytes: 1664, // 0x680 (includes vector table + annotations) }, kernel: { - flash_start_address: 0x00000500, // After vector table + annotations - flash_size_bytes: 129792, // ~126KB (ends at 0x00020000, power-of-2 boundary) + flash_start_address: 0x00000680, // After vector table + annotations + flash_size_bytes: 129408, // ~126KB (ends at 0x00020000, power-of-2 boundary) ram_start_address: 0x00060000, // After all flash regions ram_size_bytes: 131072, // 128KB }, @@ -56,6 +56,20 @@ type: "wait_group", }, ], + memory_mappings: [ + { + name: "i2c_controllers", + type: "device", + start_address: 0x7e7b0000, + size_bytes: 0x2000, // I2Cglobal + 14 controllers + 14 buff regions + }, + { + name: "scu", + type: "device", + start_address: 0x7e6e2000, + size_bytes: 0x1000, // SCU register block (scu310 at +0x310 read for APB clock) + }, + ], threads: [ { name: "i2c server thread", @@ -68,8 +82,8 @@ // Sends I2C read/write requests to the server via IPC. { name: "i2c_client", - flash_size_bytes: 131072, // 128KB for client/test code - ram_size_bytes: 65536, // 64KB RAM + flash_size_bytes: 65536, // 64KB for client/test code + ram_size_bytes: 32768, // 32KB RAM process: { name: "i2c client process", objects: [