diff --git a/src/peripheral/scb.rs b/src/peripheral/scb.rs index 188f3b7a9b82a3f1a61a98149109f88ea06e4663..2a986182b280e3180cabe85f81bb774e14473646 100644 --- a/src/peripheral/scb.rs +++ b/src/peripheral/scb.rs @@ -78,6 +78,11 @@ impl RegisterBlock { } /// Sets FPU access mode + /// + /// *IMPORTANT* Any function that runs fully or partly with the FPU disabled must *not* take any + /// floating-point arguments or have any floating-point local variables. Because the compiler + /// might inline such a function into a caller that does have floating-point arguments or + /// variables, any such function must be also marked #[inline(never)]. pub fn set_fpu_access_mode(&self, mode: FpuAccessMode) { let mut cpacr = self.cpacr.read() & !SCB_CPACR_FPU_MASK; match mode {