При желании исключить прямое указание адреса в исходнике цепочка определений существенно длиннее icf:
place in ROM_My_region { section .My_Flash }; // при этом регион должен быть определен (начало, конец, и внутри ROM)
source:
#pragma location = ".My_Flash"
const uint32_t my_const = MY_CONST;