I have been doing this ugly thing: ```rust #[macro_export] macro_rules! itcm_static { (static $name:ident : $type:ty = $expr:expr) => { #[allow(non_snake_case)] let $name = { static mut INIT_FLAG: bool = false; core::assert!(!core::mem::replace(&mut unsafe { INIT_FLAG }, true)); #[link_section = ".itcm"] static mut $name: core::mem::MaybeUninit<$type> = core::mem::MaybeUninit::uninit(); #[allow(clippy::macro_metavars_in_unsafe)] unsafe { (*(&raw mut $name)).write($expr) } }; }; } ```