I have already found some part of code to "enable" explicitly the FPU:
; CPACR is located at address 0xE000ED88
LDR.W R0, =0xE000ED88
; Read CPACR
LDR R1, [R0]
; Set bits 20-23 to enable CP10 and CP11 coprocessors
ORR R1, R1, #(0xF << 20)
; Write back the modified value to the CPACR
STR R1, [R0]
But I don't found any explanation of this register in the RM.
I use MQX: this is not done by an OS services?
And then, why this work without any add with Tower K70?
I will test this code...
I add and call this code before float manipulation:
void vPortEnableVFP(void)
{
/* The FPU enable bits are in the CPACR. */
__asm volatile (
" ldr.w r0, =0xE000ED88 \n" /* CAPCR, 0xE000ED88 */
" ldr r1, [r0] \n" /* read CAPR */
" orr r1, r1, #(0xf<<20) \n" /* Enable CP10 and CP11 coprocessors */
" str r1,[r0] \n" /* store to new value back */
: /* no output */
: /* no input */
: "r0","r1" /* clobber */
);
But this not work again.:smileyconfused: