PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 17:01:37
tjenare..
när jag kompilerar min kod i programmers notepad så får jag följande felmedelande:
Kod: Markera allt
-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
avr-gcc -Wl,-Map=test.map,--cref -lm -o .o
E:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/lib/crts8515.o(.init9+0x0): undefined reference to `main'
make: *** [.o] Error 1
> Process Exit Code: 2
programerat i c/c++
Macce
Inlägg: 4301 Blev medlem: 29 maj 2003, 16:40:58
Inlägg
av Macce » 26 maj 2005, 18:03:18
Och koden är..?
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 18:11:02
#include <avr/io.h>
#include <avr/delay.h>
#include <inttypes.h>
int main()
{
uint16_t i, j;
DDRB = _BV(PB0) | _BV(PB1) | _BV(PB2);
while (1)
{
PORTB |= _BV(PB0);
PORTB &= ~_BV(PB1);
for (i=0;i<2;i++)
{
for (j=0;j<1000;j++)
_delay_loop_2(1000);
PORTB ^= _BV(PB0);
}
PORTB &= ~_BV(PB0);
PORTB |= _BV(PB1);
for (i=0;i<2;i++)
{
for (j=0;j<1000;j++)
_delay_loop_2(1000);
PORTB ^= _BV(PB1);
}
}
return 1;
}
cyr
Inlägg: 2712 Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:
Inlägg
av cyr » 26 maj 2005, 18:26:44
Du har nog missat att ställa in något, verkar inte som din kod kompileras alls.
Din c-fil borde nämnas på gcc-raden iaf...
typ avr-gcc bla bla bla minfil.c -o minfil.o
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 18:43:13
oj, hade gjort en tabbe i makefilen:oops:
men det blir fortfarande fel:(
Kod: Markera allt
-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
make: *** No rule to make target `.elf', needed by `elf'. Stop.
$tiff
Inlägg: 4941 Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:
Inlägg
av $tiff » 26 maj 2005, 18:56:22
Fortfarande fel i makefilen vad jag kan se. Sno en från ett annat projekt och prova...
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 19:16:56
felet är de att jag har ingen annan just nu..
formaterade nyss och har inget kvar från tidigare projekt:(
men då vet jag vart jag ska kolla..
det vore snällt i fall någon kunde dela med sig av en fungerande makefile
karlstedt
EF Sponsor
Inlägg: 966 Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:
Inlägg
av karlstedt » 26 maj 2005, 19:30:49
Det finns ett program med i WinAVR-paketet som hetet MFile [WinAVR]..
Kör den och generera en fungerande Makefile med de inställningar du vill ha.
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 19:44:46
funkar inte..
-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
make: *** No rule to make target `Test.o', needed by `Test.elf'. Stop.
> Process Exit Code: 2
så ser den ut nu efter att jag har ändrat i mfile..
ska ja posta min makefile?
Rymdninja
Inlägg: 330 Blev medlem: 15 december 2003, 13:41:25
Ort: Göteborg
Inlägg
av Rymdninja » 26 maj 2005, 19:52:08
så här ser min makefil ut:
Kod: Markera allt
compile:
avr-gcc -mmcu=atmega8515 -Os -Wall -Wstrict-prototypes -mcall-prologues -o test.elf *.c
avr-objcopy -j .text -j .data -O ihex test.elf out.hex
burn:
avrdude -p m8515 -U flash:w:out.hex
det kanske kan hjälpa
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 20:10:10
den klagar på att det inte finnns någon "separator" eller nått i den stilen..
ska prova att tanka hem en äldre verson av WinAvr
men, det är väl inget mer än makefilen som ska finnas i mappen där man skapar sina "hex-filer"
jag har MEGA32ISP och bränner in koden med.. så jag vill inte bränna i winavr utan bara få fram mina hexfiler..
jag har inget minne av att man ska ha mer än makefilen, sen ska man spara den utan någon filendelse?
och sen "make all" eller gör jag fel nu?
cykze
EF Sponsor
Inlägg: 1539 Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala
Inlägg
av cykze » 26 maj 2005, 21:18:12
Det ska vara tabbar i Makefilen inte mellanslag.
edit: I början av raderna som börjar med "avr".
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 21:23:26
nu får jag:
> "make" all
make: *** No rule to make target `all'. Stop.
> Process Exit Code: 2
fan, bara massor med felmedelande, olika med för den delen..
erixon
Inlägg: 380 Blev medlem: 27 augusti 2003, 10:21:58
Inlägg
av erixon » 26 maj 2005, 21:41:21
Har du testa använda mfile som följer med Winavr?
Den under lättar en heldel....
Virr3
Inlägg: 840 Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg
Inlägg
av Virr3 » 26 maj 2005, 21:45:42
funkar inte:(
ska installera om de och kolla samplefilen igen, för den borde väl funka?
Edit: JAAAA!!!
hittade felet, kan ni lista ut va de va?
jo ett litet "t" som ville va ett stort "T"
men nu funkar det utmärkt:)