#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m0 -xc ; command above MUST be in first line (no comment above!) ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* #define FLASH_SIZE 0x00200000 #define SRAM_SIZE (1024*248) #define STACK_0_SIZE (1024*4) #define STACK_1_SIZE (1024*1) #define HEAP_0_SIZE (1024*32) #define HEAP_1_SIZE (1024*1) #define RAMSIZE_VALID (SRAM_SIZE - \ STACK_1_SIZE - HEAP_1_SIZE - \ STACK_0_SIZE - HEAP_0_SIZE - 0x100) LR_STAGE2_BOOT 0x10000000 0x100 { ER_STAGE2_BOOT +0 0x100 { compile_time_choice.o (+RO) } ER_FILL ImageLimit(ER_STAGE2_BOOT) FILL 0xDEADBEEF 0x100 - ImageLength(ER_STAGE2_BOOT) { } } LR_IROM1 0x10000100 FLASH_SIZE - ImageLength(LR_STAGE2_BOOT) { ; load region size_region ER_FLASH +0 0x00200000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) * (+RO-DATA) startup_RP2040.o (+RO) * (+RO-CODE) * (+XO) } ER_RAM_VECTOR_TABLE 0x20000000 { * (.ram_vector_table) } ARM_LIB_STACK +0 ALIGN 8 EMPTY STACK_0_SIZE { } ARM_LIB_STACK_ONE +0 ALIGN 8 EMPTY STACK_1_SIZE { } ARM_LIB_HEAP +0 ALIGN 8 EMPTY HEAP_0_SIZE { } ARM_LIB_HEAP_ONE +0 ALIGN 8 EMPTY HEAP_1_SIZE { } ER_MUTEX_ARRAY +0 { * (.mutex_array.*) * (.mutex_array) } ;ER_PREINIT_ARRAY +0 { ; * (.preinit_array.*) ; * (.preinit_array) ;} RW_IRAM +0 RAMSIZE_VALID { ; RW data .ANY (+RW +ZI) } RW_IRAM_NOINIT +0 UNINIT { ; RW data .ANY (.bss.noinit) } }