Hallo,
ich bekomme folgende Fehlermeldung. Welhe ich zum ersten mal sehe.
Compiling C: fscontroll.c
avr-gcc -c -mmcu=atmega1280 -I. -gdwarf-2 -DF_CPU=16000000UL -DGERMAN
-O3 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
-Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/fscontroll.lst
-std=gnu99 -Wundef -MD -MP -MF .dep/fscontroll.o.d fscontroll.c -o
obj/fscontroll.o
fscontroll.c: In function 'meas_sensors':
fscontroll.c:685: error: unable to find a register to spill in class
'POINTER_REGS'
fscontroll.c:685: error: this is the insn:
(insn 416 414 417 36 fscontroll.c:627 (set (reg:SF 46 [ D.1966 ])
(mem/s:SF (post_inc:HI (reg/v/f:HI 14 r14 [orig:63 adc ] [63]))
[6 <variable>.float_ch+4 S4 A8])) 15 {*movsf} (insn_list:REG_DEP_TRUE
415 (nil))
(expr_list:REG_INC (reg/v/f:HI 14 r14 [orig:63 adc ] [63])
(nil)))
fscontroll.c:685: confused by earlier errors, bailing out
make.exe : *** [obj/fscontroll.o] Error 1
Was bedeutet diese Fehlermeldung.
Dies entsteht durch folgedne Zeilen:
1 | sensor->pressurereservend=sensor->mreserve*adc->float_ch[0]+sensor->breserve;
|
2 | sensor->pressurereservehpleft=MPRESERVELEFT*adc->float_ch[1]+BPRESERVELEFT;
|
3 | sensor->pressurereservehpright=MPRESERVERIGHT*adc->float_ch[2]+BPRESERVERIGHT;
|
4 | sensor->pressuresystem=sensor->msystem*adc->float_ch[3]+sensor->bsystem;
|
5 | sensor->pressureafterfilter=sensor->mfilter*adc->ch[4]+sensor->bfilter;
|
1 | Durch umsoriteren der Zeilen verschwindet der Fehler.
|
2 | sensor->pressureafterfilter=sensor->mfilter*adc->ch[4]+sensor->bfilter;
|
3 | sensor->pressurereservend=sensor->mreserve*adc->float_ch[0]+sensor->breserve;
|
4 | sensor->pressurereservehpleft=MPRESERVELEFT*adc->float_ch[1]+BPRESERVELEFT;
|
5 | sensor->pressurereservehpright=MPRESERVERIGHT*adc->float_ch[2]+BPRESERVERIGHT;
|
6 | sensor->pressuresystem=sensor->msystem*adc->float_ch[3]+sensor->bsystem;
|