In rust source: ```rust #[link_section = ".ba_src"] #[used] static BA_SRC: GroundedArrayCell = GroundedArrayCell::uninit(); #[link_section = ".ba_dst"] #[used] static BA_DST: GroundedArrayCell = GroundedArrayCell::uninit(); ``` in linker section: ``` MEMORY { BOOT2 : ORIGIN = 0x10000000, LENGTH = 0x100 /* This is the storage for BOOT3 */ /* WAY oversized - we currently need ~2K, but */ /* rounding up makes things easier to align */ FLASH : ORIGIN = 0x10000100, LENGTH = 32K - 0x100 /* This is the storage for APP BOOT */ BA_SRC : ORIGIN = 0x10008000, LENGTH = 224K APP : ORIGIN = 0x10040000, LENGTH = 2048K - 256K /* This is the storage for APP BOOT */ BA_DST : ORIGIN = 0x20000000, LENGTH = 224K /* This is the RAM usable for BOOT3 and later */ /* APP BOOT */ RAM : ORIGIN = 0x20038000, LENGTH = 264K - 224K - 256 SHARE : ORIGIN = 0x20041F00, LENGTH = 256 } SECTIONS { .ba_src (NOLOAD) : { KEEP(*(.ba_src .ba_src.*)); } > BA_SRC .ba_dst (NOLOAD) : { KEEP(*(.ba_dst .ba_dst.*)); } > BA_DST } ```