Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak skompilować najprostszy program w WinAVR ?? - wywala mi

Fakiros 22 Sty 2005 00:33 1804 7
  • #1 22 Sty 2005 00:33
    Fakiros
    Poziom 12  

    Witam .
    Zainstalowałem WinAVR i mam problem z kompilacją najprostszego programu:

    #include <avr/io.h>

    Code:

    #define LED_ON sbi(DDRB,PB1);sbi(PORTB,PB1)

    int main (void)
    {
       LED_ON;
       for (;;)
       {

       }
        return (0);     
    }


    wywala mi taki błąd:


    Code:

    > "make.exe" all
    MAKE Version 5.2  Copyright (c) 1987, 1998 Inprise Corp.
    Error makefile 361: Colon expected
    Error makefile 389: Too many rules for target '%.o'
    Error makefile 415: Command syntax error
    *** 3 errors during make ***

    > Process Exit Code: 1



    w pliku makefile znajdują się w wybranych linijkach :

    Code:

    359      # Link: create ELF output file from object files.
    360     .SECONDARY : $(TARGET).elf
    361     .PRECIOUS : $(OBJ)
    362      %.elf: $(OBJ)

    ----

    388        # Target: clean project.
    389        clean: begin clean_list finished end
    390
    391         clean_list :
    392 @echo
    393 @echo $(MSG_CLEANING)
    394 $(REMOVE) $(TARGET).hex
    395 $(REMOVE) $(TARGET).eep
    396 $(REMOVE) $(TARGET).obj
    397 $(REMOVE) $(TARGET).cof
    398 $(REMOVE) $(TARGET).elf
    399 $(REMOVE) $(TARGET).map
    400 $(REMOVE) $(TARGET).obj
    401 $(REMOVE) $(TARGET).a90
    402 $(REMOVE) $(TARGET).sym
    403 $(REMOVE) $(TARGET).lnk
    404 $(REMOVE) $(TARGET).lss
    405 $(REMOVE) $(OBJ)
    406 $(REMOVE) $(LST)
    407 $(REMOVE) $(SRC:.c=.s)
    708 $(REMOVE) $(SRC:.c=.d)
    409 $(REMOVE) .dep/*

    -----------

    414         # Include the dependency files.
    415          -include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
    416
    ---------------------



    Czy ktoś wie co może byc tego przyczyną ?

    jak powinien wyglądać makefile w moim przypadku ??
    a może popełniam inny błąd ??
    moj plik makefila dodaje do załącznika

    0 7
  • #3 22 Sty 2005 13:48
    Fakiros
    Poziom 12  

    tym razem zrobiłem tak jak jest na stronie to opisane - krok po kroku
    i wywala mi takie coś :

    Code:
    > "make.exe" all
    
    MAKE Version 5.2  Copyright (c) 1987, 1998 Inprise Corp.
    Fatal: 'led.o' does not exist - don't know how to make it

    > Process Exit Code: 1


    dodam że makefile jest też tak jak na stronie.
    Wszystko zainstalowałem pod systemem Win98SE.

    może mam jakąś inną wersję WinAVR ??
    (ściągnołem ją z tej strony: http://sourceforge.net/projects/winavr )

    a może oprócz WinAVR musze coś jeszcze doinstalować ??

    0
  • #4 22 Sty 2005 15:36
    GienekS
    Poziom 32  

    WinAVR wymaga konfiguracji do poprawnej pracy. Też z tym miałem podobny problem i przeszedłem na środowisko polskie czyli AVRSide i niema już kłopotu.

    0
  • #5 22 Sty 2005 15:44
    Jacu$
    Poziom 27  

    Kiedyś zainstalowałem sobie pod Win98SE WinAVR + Avrside (bo muszę się w końcu przemóc do C) więc teraz otworzyłem Avrside, wkleiłem Twój programik i... skompilował się bez błędów. Niestety, jestem lewy w tym temacie więc nie wiem, dlaczego wszystko poszło dobrze.

    0
  • #7 22 Sty 2005 17:53
    bialy
    Poziom 15  

    Przeciez wyraznie napisal co go boli :

    Code:
    Fatal: 'led.o' does not exist - don't know how to make it 

    Potrzebuje on plik led.o ktory jest kompilowany z led.c aby go utozyc trzeba dodac wpisac do makefile.
    Jezli dobrze pamietam to pod konsola tworzymy go tak: gcc -c -o led.o led.c led.h

    0
  • #8 22 Sty 2005 18:24
    Fakiros
    Poziom 12  

    Ok problem się rozwiązał i tkwił gdzie indziej, po prostu mam zainstalowanego Delphi który też podaje ścieżki dostępu w pliku autoexec.bat do własnego pliku makefile.
    I tym sposobem zrobił się problem bo WinAVR zaczoł używać borlandowskiego makefile.
    po prostu zachaszowałem ścieżki dostępu do Delphi w autoexec.bat zrestartowałem i wszystko śmiga.
    ( niestety teraz jednocześnie nie popracuje na delphi :) i WinAVR)

    dzieki za wszelką chęć pomocy.

    0