Strony

niedziela, 2 lutego 2014

ECLIPSE - pierwszy program od A do Z

Witam,

Z uwagi na napływającą do mnie, na prawdę, ogromną ilość zapytań i to nie tylko w postaci maili, pytań na skype ale także telefonów, postanowiłem po raz już bodajże OSTATNI rozprawić się nie tylko z tematem instalacji Eclipse od początku ale także tym jak napisać w nim i skompilować pierwszy program, tak aby dało radę wgrać go do najbardziej popularnego procka jakim jest ATmega8. Większość z was motywowała swoją prośbę tym, że o ile komuś udawało się już nawet odpalić Eclipse to z kolei były ponoć rzekomo ;) wielkie problemy z tym aby skompilować najprostszy program do migania diodą LED, z wygenerowaniem pliku HEX czy w końcu z wgraniem tego do mikrokontrolera AVR. Ja dodałem jeszcze jak to zwykle jest w moim stylu, omówienie wielu błędów jakie jednak popełniacie przy instalacji Eclipse, pomimo to że w poradnikach poprzednich praktycznie wszystko omawiałem. Czasem zdarzało się jednak że pomijałem jakieś drobne i oczywiste dla mnie sprawy a tymczasem dla was stanowiło to poważny problem. Pomimo to że znowu kosztowało mnie to nieco pracy to postanowiłem jeszcze raz i ostatni raz podejść do tego zagadnienia. Myślę, że dzięki temu już nie będę musiał odpisywać na setki maili z pytaniami w tej dziedzinie bo ten poradnik rozwiąże wszystkie wasze zagadki ;)


zapraszam na film:

AKTUALIZACJA - zapraszam do tego:  


;)

44 komentarze:

  1. Masz Mirku anielską cierpliwość, dzięki za kolejne super wideo, na pewno wszyscy na tym tylko skorzystają.

    OdpowiedzUsuń
  2. Dzięki za poradnik.Małe pytanko od początkującego.
    Wiem że ten obszerny poradnik przygotowany jest pod avr ale czasami przydało by się na szybko sprawdzić działanie/wynik funkcji itp na konsoli (bez wgrywania programu,podłączania terminala UART itp).
    I tu pytanie: Czy da się na takim eclipse na szybko skompilować plik exe (co trzeba by było zmienić w ustawieniach).
    Dzięki.Pozdrawiam.

    OdpowiedzUsuń
    Odpowiedzi
    1. No do exe nigdy w życiu - tu się chyba koledze mocno coś pomyliło albo ja czegoś nie rozumiem ... Mówimy o programach do procka - a to tylko wsad HEX i uruchamiany w procku a nie na kompie w postaci pliku exe

      Być może chodziło ci o jakieś symulatory - to wtedy też bez żadnego exe - masz np symulator w Atmel Studio

      ja jednak osobiście wolę sam mieć procka pod ręką do tego np terminal i żadna tam symulacja tylko operacja na żywo ;)

      Usuń
    2. Oki - dzięki za rozwianie wątpliwości:)

      Usuń
    3. A ja myślę, że koledze chodzi o pisanie programów w C na PC. Co do pytania (o ile zgadłem :) ) to: tak, w Eclipse można pisać w C na peceta i wystarczy dograć jakiś kompilator pod C, np MinGW32 oraz utworzyć nowy workspace. W taki sposób możemy skonfigurować swojego Eclipse'a i pod mikrokontrolery avr i pod peceta. Ja mam Eclipse w którym mogę pisać w C na PC, w C dla AVR, w C++ na PC. Z tego co widziałem to nie będzie problemów z ARMami itd. To jest właśnie przewaga Eclipse'a nad np AVR Studio.

      Co do pliku exe, to po każdej poprawnej kompilacji znajduje się on w pliku projektu, więc nie ma problemu z otwarciem pliku wykonywalnego.

      Pozdrawiam

      Usuń
    4. Możliwe, ja siłą rzeczy pomyślałem o C dla procków, jeśli się pomyliłem co do intencji pytania to sorki oczywiście

      Usuń
    5. może w pytaniu troszkę zagmatwałem...właśnie sprawdziłem i o dziwo przy pomocy mingw udało mi się skompilować exeka nawet w tym samym workspace co programy dla avr(działa i to i to:)
      dzięki za zainteresowanie.

      Usuń
  3. Mala poprawka winavr można instalować gdzie się da , ale tylko jak wybierze folder docelowy i bez polskich liter, nie można przenosić winavr po instalacji do innego folderu czy dysku , chyba ze edytuje zmiennych środowiskowe w systemie "komputer -> właściwości -> z awansowane ustawienia systemu -> zaawansowane -> zmienne środowiskowe"(uwaga dla osób orientujących w systemie Windows!!) a pana klient na pewno zainstalował na c: potem przeniósł na e: i nie poprawił zmiennych środowiskowych, a co do eclipse to swietny program dzięki niemu i pana poradnikowi dot szablonow kodów i skrotu ctrl + spacja mi pisanie w arduino ułatwiło pisanie tych samych bloków kodu za każdym razem ;).eclipse jako edytor do arduino z pluginem http://www.baeyens.it/eclipse/ dobrze współpracuje z zestawem atb 1.04 ;). /*foreste*/

    OdpowiedzUsuń
  4. A czy są jakieś negatywne skutki, jeśli nie instaluje winavr w ogóle, tylko sam nowy toolchain? Tak mam od reinstalki systemu (XP) i wszystko działa.

    OdpowiedzUsuń
    Odpowiedzi
    1. żadne negatywne skutki ;) jak tak masz to ok ... ja jednak zawsze wolę mieć pod ręką również WinAVR bo tam jest chociażby dobra dokumentacja w PDF. A fakt że oba są w kompie zainstalowane niczemu kompletnie nie przeszkadza ;)

      Usuń
  5. Ja z kolei miałem problem z Winavr, pod Eclipsem nie działał programator, robiłem wszystko według poradnika tego ostatniego i tych wcześniejszych, próbowałem nie raz na dwóch komputerach to samo, zaczęło działać dopiero po instalacji atmelowskiego toolchaina

    OdpowiedzUsuń
  6. Jak zwykle wspaniały poradnik, będę musiał się nauczyć pchnąc dalej dla znajomych. "piotr"

    OdpowiedzUsuń
  7. Panie Mirku, "gadulec" na zakończenie poradnika obowiązkowo musi być.Bez tego nie wyobrażam sobie poradników :-) Dziękuje za kolejną porcję informacji,pozdrawiam,Piotr.

    OdpowiedzUsuń
  8. Dziękuję za wspaniały poradnik - wszystko działa - pozdrawiam Darulek

    OdpowiedzUsuń
  9. Świetny poradnik ,dzięki niemu i niebieskiej książce udało mi się odpalić ,tu mam pytanie bo w książce pisze coś o błędzie pliku konfiguracyjnego avrdude.cfg (strona 460) ,wgrałem WINAVR z płyty więc chyba nie ma się czego obawiać?

    Dodam też ,że używam firewalla ZONEALARM ,który nie ułatwiał sprawy ,bo oprócz połączenia z netem ,monitoruje podejrzane zachowania i podczas zakładania nowego projektu musiałem zezwolić na założenie folderu. Już nie raz mi robił takie niespodzianki ,więc wiedziałem czego się spodziewać. Gdyby nie poradnik ,pewnie odpadłbym w tym momencie. Dlatego jeszcze raz dziękuję ,za świetny poradnik i życzę wielu innych równie udanych.

    P.S. zajrzałem też do lekcji video :)

    OdpowiedzUsuń
    Odpowiedzi
    1. avrdude to proszę sobie zainstalować z programu MkAvrCalculator. Jak ? proszę obejrzeć poradniki video o tym programie ok ? ;)

      Usuń
  10. Po zainstalowaniu eclipse indygo nie mam ekranu z obrazkiem Workbench.
    Mam XP a instalacja jest na C jak w instrukcji???

    OdpowiedzUsuń
    Odpowiedzi
    1. a jaki obrazek masz ? Zapraszam na nasze forum, tam zadaj pytanie , wklej zrzut ekranu itp - ok?

      www.forum.atnel.pl

      Usuń
  11. W poradniku mówiłeś o starym toolchainie. Mógł byś podać link do niego?

    OdpowiedzUsuń
  12. Gdzie mozna zakupic ten zestaw:
    Niebieska ksiazka, plyta i ten programmer???

    OdpowiedzUsuń
    Odpowiedzi
    1. w sklepie internetowym:

      http://www.sklep.atnel.pl/pl/p/KSIAZKA-I-wydanie-2-ATB-USBASP/78

      Usuń
  13. Witam. W moim przypadku wystąpił problem - nie mogłem wybrać w ogóle mikrokontrolera pod jaki miałbym pisać program(nie wyświetlała się lista,ani jeden ;/ ), do tego w "Paths" wyskakiwały błędy.. na szczęście jedyne co trzeba było zrobić to ponownie zainstalować WinAVR. Podziało się tak dlatego, że zainstalowałem WinAVR na dysku C, a później tylko przeniosłem go do innego folderu również na dysku C. To wystarczyło, żeby wystąpiły problemy... Piszę dla informacji, ponieważ jeśli ktoś miałby podobny problem, ten post
    przydałby się. Co do podradnika... lepszego nie można było zrobić ;)

    OdpowiedzUsuń
  14. Witam . Mam zainstalowanego Eclipsa na laptopie z win 8.1 , oczywiście zainstalowałem wszystko jak na filmie pana Mirka , i podczas kompilacji wyskakuje mi błąd avr-gcc.exe błąd aplikacji , nie wiem z czym moze być to związane . Proszę o pomoc .

    OdpowiedzUsuń
    Odpowiedzi
    1. tutaj zajrzyj:

      http://mirekk36.blogspot.com/2013/03/usbasp-win8-instalacja.html

      Usuń
  15. Dzięki , działa . Jak by pan kiedykolwiek był w Krakowie to stawiam piwo :) .
    Pan wie o kogo chodzi :)

    OdpowiedzUsuń
    Odpowiedzi
    1. No nie wiem o kogo chodzi - bo nick "Anonimowy" to ma milion osób ;) ale cieszę się że udało się poradzić z problemem ;)

      Usuń
  16. Witam :) zainstalowałam eclipse, jednak póki co jestem zmuszona jeszcze wykonywać programu z printf i tutaj mam problem. Czy mam ściągnąć MinGW32 i podbnie załadować jak AVR plugin i wtedy będzie mi wyświetlać tekst? z góry bardzo dziękuję za odpowiedź :)

    OdpowiedzUsuń
    Odpowiedzi
    1. O przepraszam ale w sprawie kompilator C na PC nie podpowiem. Ale nie dlatego że nie chcę czy coś ;) ... po prostu wiem tyle co ty na ten temat albo i znacznie mniej.

      Usuń
    2. Rozumiem :) spróbuję jeszcze powalczyć z tym :)

      Usuń
    3. Jakby ktoś kiedyś miał podobny problem to na podstawie tego linka można doprowadzić do stworzenia takiej konsoli w eclipse :) http://www3.ntu.edu.sg/home/ehchua/programming/howto/eclipsecpp_howto.html pozdrawiam :)

      Usuń
  17. Witam
    Jaka może być przyczyna takiego komunikatu w console po próbie wgrania programu

    Launching D:\WinAVR-20100110\bin\avrdude -pm8 -cusbasp -Uflash:w:TEST.hex:a
    Output:
    avrdude: error: no usb support. please compile again with libusb installed.
    avrdude finished

    z góry dzięki za pomoc.

    OdpowiedzUsuń
    Odpowiedzi
    1. Obejrzyj te poradniki od początku do końca: http://mirekk36.blogspot.com/2012/12/avr-jak-zaczac.html

      Usuń
  18. Witam.
    Nie wiem jaka może być przyczyna, że Eclipse nie chce kompilować nawet najprostszego programu z poradnika, w konsoli wyskakuje:

    **** Build of configuration Release for project test ****

    make all
    Building file: ../main.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
    avr-gcc.exe: CreateProcess: No such file or directory
    make: *** [main.o] Error 1

    **** Build Finished ****

    Zauważyłem brak pliku includes pod ikonką z nazwą projektu, podkreślenie #include nigdy nie znika, nie widzę procesorów.
    Robiłem wszystko jak w poradniku, Winavr zainstalowany bezpośrednio na C, plugin wgrany, w window > preferences> AVR > Paths ścieżki wydają się być prawidłowe.

    Z góry dzięki za pomoc.

    OdpowiedzUsuń
    Odpowiedzi
    1. Pewnie masz Windows 8.1 a tego nawet nie napisałeś, i nie przeczytałeś sekcji UPDATE! (zaznaczonej na czerwono) w tym artykule:

      http://mirekk36.blogspot.com/2013/03/usbasp-win8-instalacja.html

      przeczytaj więc, zastosuj i działaj

      Usuń
  19. Dziękuje za odpowiedź. Mam Windows 8, sekcję update przeczytałem i wykonałem podmienienie pliku, niestety nadal brak poprawy.

    OdpowiedzUsuń
    Odpowiedzi
    1. To znaczy, że robisz jakiś inny trywialny błąd ... sprawdź czy ci antyvirus nie wpiernicza plików toolchaina bo jak niektóre antyvirusy mają włączoną kretyńską opcję "przewidywanie zagrorżeń" to wrzucają sporą część toolchaina do kwarantanny i masz kichę, nie mówię że u ciebie to musi być to ale może być - sprawdź. Kolejna rzecz - z takimi pytaniami dawaj dalej ale już na naszym forum a nie tutaj ok?

      www.forum.atnel.pl

      bo tu mega ciężko się pisze o tym, nie można ani kodu wstawić ani screenshota itp - OK ?

      Usuń
  20. OK. Jeszcze raz dziękuje za odpowiedź.

    OdpowiedzUsuń
  21. Jak usunąć w eclipse Luna program w grany do mikrokontrolera, po to żeby móc wgrać następny?

    OdpowiedzUsuń
    Odpowiedzi
    1. Ludzie - skąd wam takie pomysły przychodzą do głowy? czy nie łatwiej jest napisać i wgrać nowy program i niczym się nie przejmować? zamiast pisać i się zastanawiać dniami i nocami ? ;) .... Nic nie trzeba usuwać i powiem więcej to nie ma NIC A NIC wspólnego z Eclipse .... obojętnie jakim narzędziem, bierzesz i wgrywasz nowy wsad (plik HEX) i nie przejmujesz się żadnym kasowaniem poprzedniego.

      Usuń
  22. Panie Mirku, miałbym do Pana następujące pytanie: pamięta Pan przykład z migającą diodą z Pana poradnika z Youtube'a "Mikrokontrolery - jak zacząć"? No więc miałem i mam nadal taki zmontowany układ, który po niedługiej przerwie w czasie postanowiłem odpalić na nowo. Przed przerwą układ oczywiście działał, w czym jeszcze upewniałem się, zmieniając np. opóźnienie w miganiu diody. Po wspomnianej przerwie układ znów zadziałał, ale... po próbie wprowadzenia jakichkolwiek modyfikacji w kodzie i wybraniu opcji Upload w Eclipse, o dziwno jest bez zmian, jakby w ogóle nie dało się zmodyfikować programu ani w żaden sposób w niego zaingerować. Nawet jak usunąłem połowę kodu, to jest tak samo. Nic w czasie tej przerwy czasowej nie zmienialem - jedyne co musiałem zrobić, to pobrać na nowo mkavrcalculator, w którym postarałem się jednak odtworzyć ustawienia (np. z taktowaniem zegara). Zaznaczam też, że nie zrobiłem żadnych modyfikacji wcześniej (ani przed przerwą ani po) wykraczającą poza drugą część Pana poradnik. Czy może to być objaw zablokowania mikrokontrolera? Chodzi oczywiście o ATmega8. Pozdrawiam, Krzysiek

    OdpowiedzUsuń
    Odpowiedzi
    1. To może być objaw TYLKO jednego coś źle robisz i to bardzo źle, i pewnie nawet nie zwracasz uwagi na komunikaty błędów np po wgraniu do procka... tzn na pewno nie zwracasz uwagi - widzę to po tym co piszesz ...

      Zapamiętaj, jeśli procka można odczytać np MkAvrCalculatorem to oznacza jedno - NIE JEST ZABLOKOWANY ...

      Wejdź lepiej na nasze przyjazne forum i tam dokładnie opisz i pokaż co robisz to pewnie się uda znaleźć gdzie robisz babola

      Usuń
  23. Wesołego Jajka! Eclipse może się też przydać do programowania modułów ESP (wifi) bez frameworku Arduino: https://forbot.pl/forum/topic/17811-programowanie-esp-w-czystym-c

    OdpowiedzUsuń