[quote user="Chris Sterzik"]The FPU is not enabled after reset. www.ti.com/lit/pdf/slau356 Page 81 www.ti.com/.../slau356d.pdf In the CCS settings the variable is _FPU_USED is defined and in the system_ msp432p401r .c the FPU is enabled. void SystemInit(void) { // Enable FPU if used #if (__FPU_USED == 1) /* __FPU_USED is defined in core_cm4.h */ SCB->CPACR |= ((3UL > 16 LDR r0, [ r1 ] MOV r3, #0xf0 ORR r0,r0,r3, LSL #16 STR r0, [ r1 ] ;*---------added by Charles Chen------------------------ ;*---------reset pipeline ------------------------------ ;*---------according to MSP432P4xx.pdf------------------ ;DSB ISB .thumb .endif ; __TI_TMS470_V7M4__ & __TI_VFP_SUPPORT__ .endif ; !__TI_ARM_V7M & !__TI_ARM_V6M0__ These are the very codes that enable FPU of MSP432. So no need to re-enable FPU in C file. While good news is that I have found the cause of the issue I posted. It is related with uCOS-3 v3.05 source files about FPU register stacking handling. Thank you still the same.
↧