Forum: Compiler & IDEs AVRLIB Installationsproblem?


von Axel R. (Gast)


Lesenswert?

Nach der Installation der AVRLIB habe ich testweise die mmctest.c 
compiliert und erhalte folgenden Output:

> "make.exe" all
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=mmctest.lst -mmcu=atmega163 -I. mmctest.c -o mmctest.o
In file included from mmctest.c:27:
C:\Programme\AVRlib/mmc.h:35:1: warning: multi-line comment
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/buffer.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/buffer.c -o C:\Programme\AVRlib/buffer.o
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/uart.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/uart.c -o C:\Programme\AVRlib/uart.o
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/rprintf.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/rprintf.c -o C:\Programme\AVRlib/rprintf.o
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/timer.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/timer.c -o C:\Programme\AVRlib/timer.o
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/vt100.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/vt100.c -o C:\Programme\AVRlib/vt100.o
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/spi.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/spi.c -o C:\Programme\AVRlib/spi.o
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/mmc.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/mmc.c -o C:\Programme\AVRlib/mmc.o
In file included from C:\Programme\AVRlib/mmc.c:31:
C:\Programme\AVRlib/mmc.h:35:1: warning: multi-line comment
avr-gcc -c -g  -Os -Wall -Wstrict-prototypes -IC:\Programme\AVRlib 
-Wa,-ahlms=C:\Programme\AVRlib/debug.lst -mmcu=atmega163 -I. 
C:\Programme\AVRlib/debug.c -o C:\Programme\AVRlib/debug.o
avr-gcc  mmctest.o C:\Programme\AVRlib/buffer.o 
C:\Programme\AVRlib/uart.o C:\Programme\AVRlib/rprintf.o 
C:\Programme\AVRlib/timer.o C:\Programme\AVRlib/vt100.o 
C:\Programme\AVRlib/spi.o C:\Programme\AVRlib/mmc.o 
C:\Programme\AVRlib/debug.o   -Wl,-Map=mmctest.map,--cref 
-mmcu=atmega163 -o mmctest.elf
avr-objcopy --debugging -O coff-ext-avr \
  --change-section-address   .data-0x800000 \
  --change-section-address    .bss-0x800000 \
  --change-section-address .noinit-0x800000 \
  --change-section-address .eeprom-0x810000 \
  mmctest.elf mmctest.cof
Warning: file C:/DOCUME~1/EWEDDI~1/LOCALS~1/Temp/cceudaaa.s not found in 
symbol table, ignoring
Warning: ignoring function __vectors() outside any compilation unit
Warning: ignoring function __bad_interrupt() outside any compilation 
unit
avr-objcopy -O binary -R .eeprom mmctest.elf mmctest.bin
avr-objcopy -O ihex   -R .eeprom mmctest.elf mmctest.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" 
--change-section-lma .eeprom=0 -O ihex   mmctest.elf mmctest.eep
avr-size mmctest.elf
   text     data      bss      dec      hex  filename
   6292        0      179     6471     1947  mmctest.elf
Errors: none
rm C:\Programme\AVRlib/rprintf.o C:\Programme\AVRlib/uart.o 
C:\Programme\AVRlib/debug.o C:\Programme\AVRlib/mmc.o 
C:\Programme\AVRlib/vt100.o C:\Programme\AVRlib/spi.o 
C:\Programme\AVRlib/buffer.o C:\Programme\AVRlib/timer.o

> Process Exit Code: 0
> Time Taken: 00:03

Interessant ist dieser Teil:
Warning: file C:/DOCUME~1/EWEDDI~1/LOCALS~1/Temp/cceudaaa.s not found in 
symbol table, ignoring
Warning: ignoring function __vectors() outside any compilation unit
Warning: ignoring function __bad_interrupt() outside any compilation 
unit

Wo steht denn bitte die "Verlinkung" nach 
<<C:/DOCUME~1/EWEDDI~1/LOCALS~1/Temp/cceudaaa.s>>

Ich habe garkein Userprofil namnes EWEDDI irgentwas... komisch.

Ich wollte endlich mal anfangen - nun wieder nichts -oder einfach 
ignorieren?

Danke

AxelR.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Axel Rühl wrote:

> Interessant ist dieser Teil:
> Warning: file C:/DOCUME~1/EWEDDI~1/LOCALS~1/Temp/cceudaaa.s not found in
> symbol table, ignoring

> Wo steht denn bitte die "Verlinkung" nach
> <<C:/DOCUME~1/EWEDDI~1/LOCALS~1/Temp/cceudaaa.s>>

Auf Eric Weddington (eweddington)'s Entwicklungsrechner.

Er hat wohl vergessen, eine der ausgelieferten Bibliotheken zu
avr-strip -g'en.

> Warning: ignoring function __vectors() outside any compilation unit
> Warning: ignoring function __bad_interrupt() outside any compilation
> unit

Known issue des COFF-Konverters.  Wird nicht mehr repariert.  Solange
es nicht mehr als diese beiden sind, ist es harmlos.  Leider kann der
Konverter die harmlosen Dinge wie diese hier nicht von ggf. wirklich
wichtigen unterscheiden.

von Axel R. (Gast)


Lesenswert?

Jörg Wunsch wrote:

>
> Er hat wohl vergessen, eine der ausgelieferten Bibliotheken zu
> avr-strip -g'en.
>
Danke für die rasche Reaktion!
Was mach ich denn jetzt?
Denn die compilierte Datei rprintf.hex, die man ja - wenn man das alles 
nach Anleitung macht, weil man nicht so der C-Profi ist - inm Testlauf 
auf der Konsole compiliert, ist nur halb so groß, wie im Netz 
beschrieben, wenn man mal die Ausgaben vergleicht.
Selbst strip -g'en kann ich wohl vergessen, da mir die Quelle fehlt.
Ob ich mal den Eric 'ne Mail schreibe?
Ich bin doch sicher der erste und einzige, dem das auffällt, oder doch?
Andererseits ist es ja nur eine Warnung und kein Error, aber die 
erzeugte Dateigröße sollte doch wohl mit der aus der Anleitung 
übereinstimmen..
(Sch.. wenn man keine Ahnung hat ;-) )

Schönen Abend und vielen Dank nochmal

AxelR.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Selbst strip -g'en kann ich wohl vergessen, da mir die Quelle fehlt.

Nein, das bezieht sich auf die Objektdatei.  Ich kann dir nur nicht
sagen, auf welche. ;-)  Ich vermute, eine der vielen crt*.o-Dateien
(oder alle).  Du darfst alle *.a und *.o-Dateien, die du im WinAVR-
Baum findest, mit avr-strip -g behandeln (aber bitte nicht ohne
das -g).  Das entfernt die Debug-Information, die dir ohnehin nichts
nützt, da du den Quellcode ja nicht installiert hast.

> Ich bin doch sicher der erste und einzige, dem das auffällt, oder doch?

Bist du nicht, ja.

> Andererseits ist es ja nur eine Warnung und kein Error, aber die
> erzeugte Dateigröße sollte doch wohl mit der aus der Anleitung
> übereinstimmen..

Keine Ahnung, über welche Dateigröße du schreibst.  Aber ,rohe'
Dateigrößen spielen bei Objektdateien (und in gewissem Maße bei
Intel-Hex-Dateien) keine Rolle.  Die tatsächliche Größe des
erzeugten Codes hast du ja oben bereits zitiert.

von Axel R. (Gast)


Lesenswert?

Ich habe mich nun eingehend in der FAQ und der Hilfe belesen...
Hätte ich mal gleich machen sollen - Danke trotzdem!


AxelR.

Da muss man die ersten Tage wahrscheinlich ganz geschmeidig an die Sache 
rangehen... Ist halt neu für mich

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
Noch kein Account? Hier anmelden.