I have been playing with (gcc/binutils)-arm-none-eabi recently and they have this 'flash configuration field' in those cortex m0plus thingies. It is 16 bytes large and sits at address 0x400 of the flash memory. There's usable flash before and after it. Currently I am having this config field in its own section and I am using a linker script to place it at a fixed address. this does generate a memory hole before it. in the .S file: [...] .section .fconf __fconf: .byte BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3 .byte BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7 .byte 0xFF, 0xFF, 0xFF, 0xFF .byte EEPROT, FPROT, FSEC, FOPT .size __fconf, . - __fconf [...] in the linker script: [...] SECTIONS { .text : { KEEP(*(.isr_vector)) KEEP(*(.isr_vector_noncore)) . = 0x400; KEEP(*(.fconf)) *(.text*) [...] Now I would like to use this space between the end of the isr vectors and the start of fconf. How to do that?