Global_init_slot | |work|

.init_slots : __init_slots_start = .; KEEP(*(.init_slots.001)) KEEP(*(.init_slots.002)) /* higher priorities may be overridden by explicit ordering */ __init_slots_end = .; >FLASH Startup code:

GLOBAL_INIT_SLOT(clock_init, 001); GLOBAL_INIT_SLOT(gpio_init, 002); global_init_slot

Linker script collects all .init_slots.* into an array: .init_slots : __init_slots_start = .