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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren