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.

Błąd wgrywania skompilowanego programu.

kwlgrupa 30 Kwi 2007 18:19 1038 3
  • #1 30 Kwi 2007 18:19
    kwlgrupa
    Poziom 14  

    Witam
    Mam mały problem.
    http://www.patron.net.pl/artykuly/AVR_tutorial.htm
    Zaczynam zabawę z mikrokontrolerami bazując na powyższej stronie.
    Napisałem pierwszy program z diodą i skompilowałem go, gdy próbuje zaprogramować to jest pisze :

    >"make.exe" program.
    make.exe *** No rule to make target 'program' stop
    >process exit code 2

    Oznacza to ze programator jest nie włączony ?

    0 3
  • #2 30 Kwi 2007 18:34
    MirekCz
    Poziom 35  

    Program make nie służy do zapisania skompilowanego programu na procesor, tylko do kompilowania programu.

    Procedura powinna wyglądać tak:
    1.Piszesz kod i tworzysz plik makefile (kopiujesz z tutoriala)
    2.Uzywasz make żeby stworzyc z kodu źródłowego kod skompilowany - zrozumiały dla mikrokontrolera
    3.Kopiujesz skompilowany kod na mikrokontroler (przy pomocy avrstudio, uisp, avrdude, ponyprog czy co tam masz pod ręką)

    Generalnie make.exe używa się w pkt.2
    Więc pytanie czy ty nie skompilowałeś jeszcze kodu (wtedy musisz mieć plik makefile - patrz tutorial) czy może go już skompilowałeś i niepotrzebnie wywołujesz make - tym nie przegrasz skompilowanego kodu na mikrokontroler.

    0
  • #3 30 Kwi 2007 20:09
    Marianekk
    Poziom 13  

    Rozumię, żę piszesz program w WinAvr. WinAvr za pomocą make kompiluje program i tworzy plik wynikowy *.hex ,który następnie musisz załadować do np. PonyProga za pomocą którego zaprogramujesz procek.
    Do projektu dodaj plik Makefile skopiuj go najlepiej do katalogu w którym masz zapisany twój program.
    W makefile musisz wprowadzić zmiany, poszukaj na necie jakie, nie jest to skomplikowane.

    Dodano po 35 [minuty]:

    Myśle, że twój błąd wynika z tego że nie ustawiłeś Makefile.
    Skopiuj makefile, dołącz do projektu i zmień w nim:
    TARGET = (nazwa twojego projektu)
    SRC = (nazwa pliku z programem z rozszerzeniem *.c)
    no i jeszcze częstotliwość taktowania i typ procka.
    Pozatym polecam na początek inny program np:

    #include <avr\io.h>
    #include <avr\delay.h>

    int main(void)
    {
    DDRD = 0xff; //Ustawienie wyjść

    for(;;) //Nieskończona pętla
    {
    PORTD = 0xff; //wyłączenie diod
    _delay_loop_2(0xffff); //opóźnienie
    PORTD = 0; //włączenie diod
    _delay_loop_2(0xffff); //opóźnienie

    }
    return 0;
    }

    Program miga diodami dołączonymi do portu D.
    Pozdro

    Dodano po 1 [minuty]:

    Zamiast bużki w programie ma być for( ; ; )

    0
  • #4 30 Kwi 2007 20:56
    kwlgrupa
    Poziom 14  

    juz wiem co było źle musiałem stworzyc plik zaprogramuj w zakładce tools tylko może mi ktos powiedziec kto przeglądał podany przezemnie link bo mi zamiast tekstu po zaprogramowaniu wywala że jakby nie mógł znalesc avrdude.exe? ale po zaprogramowaniu wyświetla ze proces exit code: 0 czyli jakby sie zaprogramował tylko dioda nie świeci ? moze to dlatego ze wziełem diode z czerwoną bańką 5mm i opornik 3,3k i za mały prąd poleciał?

    0