Hallo.. ich bekomme folgende Warnung angezeigt kann damit aber nicht wirklich was anfangen. Compiling C: lib_rdm_in.c avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./lib_rdm_in.lst -std=gnu99 -Wundef -MMD -MP -MF .dep/lib_rdm_in.o.d lib_rdm_in.c -o lib_rdm_in.o C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s: Assembler messages: C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s:552: Warning: expression dangerous with linker stubs C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s:553: Warning: expression dangerous with linker stubs im Anhang die lib_rdm_in.c Danke, Markus
> C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s: Assembler messages:
Das ist eine vom GCC generierte Datei.
Um den Fehler darin nachzuvollziehen, müsste man am besten die Datei
haben oder sie sich notfalls erzeugen.
Für ersteres ist der Anhang falsch und für zweiteres fehlen Dateien
(lib_rdm_in.h) und Angaben zur Version der Toolchain.
hier noch die .h avr-gcc (GCC) 4.2.2 (WinAVR 20071221) Danke, Markus
Es handelt sich wohl um diese Stelle, wo bei POS1/POS2 eine der acht Spungadressen (L73-L80) ab Label L81 indirekt (ijmp) angesprungen werden soll:
1 | .LVL29: |
2 | .L70: |
3 | .LM84: |
4 | lds r24,RxState |
5 | .LVL30: |
6 | ldi r25,lo8(0) |
7 | movw r30,r24 |
8 | sbiw r30,1 |
9 | cpi r30,8 |
10 | cpc r31,__zero_reg__ |
11 | brlo .+2 |
12 | rjmp .L98 |
13 | subi r30,lo8(-(gs(.L81))) ; ### POS1 ### |
14 | sbci r31,hi8(-(gs(.L81))) ; ### POS2 ### |
15 | ijmp |
16 | .data |
17 | .section .progmem.gcc_sw_table, "ax", @progbits |
18 | .p2align 1 |
19 | .L81: |
20 | .data |
21 | .section .progmem.gcc_sw_table, "ax", @progbits |
22 | .p2align 1 |
23 | rjmp .L73 |
24 | rjmp .L74 |
25 | rjmp .L75 |
26 | rjmp .L76 |
27 | rjmp .L77 |
28 | rjmp .L78 |
29 | rjmp .L79 |
30 | rjmp .L80 |
Das Problem ist bekannt http://osdir.com/ml/hardware.avr.libc.devel/2006-11/msg00005.html Und sollte in neueren Toolchains weg sein http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=420928 Bei dem Atmega8515 sollte man die Warnung auch sicher ignorieren können.
Stefan B. wrote:
> Bei dem Atmega8515 sollte man die Warnung auch sicher ignorieren können.
Du kannst die Warnung praktisch immer ignorieren. Bei neueren
Toolchains wird sie auch einfach nur gar nicht mehr generiert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.