Closed
Description
Let's say FPU is disabled at entry in main()
as it usually is, and you want to do some FP operations. Presto!
fn main() {
cortex_m::interrupt::free(|cs| {
let scb = tm4c129x::SCB.borrow(cs);
scb.enable_fpu();
// some FP-using code
});
}
... or something like that. Well, not so easy. Since the code below enable_fpu
changes callee-save FP registers, LLVM will try to stack those at the top of main... using the vpush
instruction. Which is not available until FPU is enabled. Oops.
I don't know how to fix this.
Metadata
Metadata
Assignees
Labels
No labels