C-Source compilieren

Gast #526531
Lesenswert?
• ▲
▼
Hallo,

ich habe die Schaltung (von Thomas Pfeifer) zur Temperaturregelung
meines Laminators nachgebaut. Nun mein Problem:

Die Software muß kalibriert werden. Da ich kein C "spreche" stehe ich 
vor diversen Fehlermeldungen (siehe Anhang). Zum Compilieren der 
Software verwende ich AVR-Studio 4.12 Build 472, in Kombination mit 
WinAVR 20070122.   Um es gleich vorweg zu nehmen: ...ich benötige keinen 
Lehrgang in C-Programmierung, sondern lediglich eine Hilfe um das File 
zu compilieren.



Hier der Link zu Thomas´ Software:

http://thomaspfeifer.net/

Vielen Dank
Blobb
Angehängte Dateien:
Gast #526535
Lesenswert?
• ▲
▼
Das erste warning kommt weil sich der pfad zu delay.h geändert hat, er 
ssagt dir ja sogar, wiw der neue heisst.
Die Signatur von fdevopen hat sich wohl geändert, in der Doku von der 
avr-libc steht sie jetzt als:

FILE* fdevopen   ( int(*)(char, FILE *)   put,
      int(*)(FILE *)  get
           )

Die 0 muss weg...
Gast #526709
Lesenswert?
• ▲
▼
"AVR-Studio 4.12 Build 472, in Kombination mit
WinAVR 20070122.  "

Zumindest nach offiziellen Angaben von Atmel benötigt das aktuelle 
WinAVR mindestens die Studio-Version 4.13. Das Problem mit dem 
geänderten fdevopen löst das aber auch nicht.

Ich würde es mal mit der letzten 2006-WinAVR-Version probieren.

Oliver
Gast #526923
Lesenswert?
• ▲
▼
Hallo,

ich habe jetzt versucht mit einer älteren Version von WinAVR 
(20050214)zu compilieren. Folgendes Ergebnis:


> "make.exe" all
avr-gcc -g -Wall -Os -mmcu=atmega8    -c -o Laminator.o Laminator.c
Laminator.c: In function `main':
Laminator.c:87: warning: 'pwm' might be used uninitialized in this 
function
avr-gcc -g -Wall -Os -mmcu=atmega8  -Wl,-Map,Laminator.map -o 
Laminator.elf Laminator.o
avr-objdump -h -S Laminator.elf > Laminator.lst
avr-objcopy -j .text -j .data -O ihex Laminator.elf Laminator.hex
avr-objcopy -j .text -j .data -O binary Laminator.elf Laminator.bin
avr-objcopy -j .text -j .data -O srec Laminator.elf Laminator.srec
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex 
Laminator.elf Laminator_eeprom.hex
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O binary 
Laminator.elf Laminator_eeprom.bin
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O srec 
Laminator.elf Laminator_eeprom.srec

> Process Exit Code: 0




Hierbei stört mich folgende Zeile:
Laminator.c:87: warning: 'pwm' might be used uninitialized in this 
function


Kann mir einer von Euch helfen ? Es geht mir lediglich darum das File zu 
compilieren, es in den AVR zu brennen, damit die Temparaturregelung 
korrekt arbeitet. Was mache ich eigentlich mit dem "makefile" ? Benötige 
ich das zum fehlerfreien compilieren ?

Gruß,
Gast #526942
Lesenswert?
• ▲
▼
"Was mache ich eigentlich mit dem "makefile" ? Benötige
ich das zum fehlerfreien compilieren ?"

Nix. Du hast schon fertig compiliert. Das hex-file findest du im Ordner 
"default".

"warning: 'pwm' might be used uninitialized in this
function" sagt genau das, was da steht. Der Compiler ist der Meinung, 
daß es eventuell möglich ist, daß die Variable pwm uninitialisiert 
benutzt werden kann. Das liegt nicht am Compiler, sondern am Sourcecode. 
Erfahrungsgemäß liegt der gcc mit der Warnung aber nicht immer richtig. 
Also kannst du dich jetzt beim Autor beschweren, oder das Problem selber 
lösen, oder es einfach so lassen. Fehlerfreie Software gibt es sowieso 
nicht :-)

Oliver

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.