mikrocontroller.net

Forum: Compiler & IDEs AVRLIB Installationsproblem?


Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.