problem när jag kompilerar

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

problem när jag kompilerar

Inlägg av Virr3 »

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++
Användarvisningsbild
Macce
Inlägg: 4301
Blev medlem: 29 maj 2003, 16:40:58

Inlägg av Macce »

Och koden är..?
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

#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 »

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 »

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.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

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 »

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 :)
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

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 »

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 »

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 »

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?
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

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 »

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..
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

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 »

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:)
Skriv svar