| // Licensed under the Apache-2.0 license |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| // AST10x0 User ipc Test Configuration |
| // ARM Cortex-M4 @ 200 MHz with 768KB SRAM (0x00000000 - 0x000BFFFF) |
| // NOTE: AST10x0 does not support XIP - firmware executes from RAM. |
| // |
| // PMSAv7-Friendly Memory Layout: |
| // 0x00000000 - 0x00000500: Vector table (1280 bytes) |
| // 0x00000500 - 0x00020000: Kernel code (~126KB, ends at 128KB boundary) |
| // 0x00020000 - 0x00060000: ipc multi-process app code (256KB, two processes) |
| // 0x00060000 - 0x00080000: Kernel RAM (128KB) |
| // 0x00080000 - 0x000A0000: App RAM (128KB) |
| // |
| // Schema: matches the pinned upstream multi_process_app shape — a single |
| // `apps` entry whose name matches the `multi_process_app(name = "ipc")` |
| // target, containing two child processes named to match the upstream |
| // `rust_process(name = "initiator"|"handler")` targets. |
| { |
| arch: { |
| type: "armv7m", |
| vector_table_start_address: 0x00000000, |
| vector_table_size_bytes: 1280, // 0x500 |
| }, |
| kernel: { |
| flash_start_address: 0x00000500, // After vector table |
| flash_size_bytes: 129792, // ~126KB (ends at 0x00020000) |
| ram_start_address: 0x00060000, // After all flash regions |
| ram_size_bytes: 131072, // 128KB |
| }, |
| apps: [ |
| { |
| name: "ipc", |
| flash_size_bytes: 262144, // 256KB (power-of-2 aligned) |
| processes: [ |
| { |
| name: "initiator", |
| ram_size_bytes: 65536, // 64KB |
| objects: [ |
| { |
| name: "ipc", |
| type: "channel_initiator", |
| handler_process: "handler", |
| handler_object_name: "ipc", |
| }, |
| ], |
| threads: [ |
| { |
| name: "initiator_thread", |
| kernel_stack_size_bytes: 2048, |
| }, |
| ], |
| }, |
| { |
| name: "handler", |
| ram_size_bytes: 65536, // 64KB |
| objects: [ |
| { |
| name: "ipc", |
| type: "channel_handler", |
| }, |
| ], |
| threads: [ |
| { |
| name: "handler_thread", |
| kernel_stack_size_bytes: 2048, |
| }, |
| ], |
| }, |
| ], |
| }, |
| ], |
| } |