Ads_700x200

niedziela, 18 marca 2012

ECLIPSE - jak szybko sprawdzić np nazwy wektorów przerwań

Tym razem w odpowiedzi na wiele pytań drogą mailową i nie tylko, chciałbym pokazać kolejne zalety środowiska programistycznego ECLIPSE w porównaniu do innych. Bardzo często wiele osób chcąc na przykład wpisać nazwę wektora jakiegoś przerwania zaczyna zastanawiać się jaka może być nazwa tego wektora dla makra ISR() ???? Zaczynają się wtedy poszukiwania w internecie, na forach, na blogach, w poradnikach itp. Tymczasem rzadko kto sięga na swój własny dysk twardy a na nim ma wszystko pod nosem, wystarczy tylko pogrzebać w folderach gdzie zainstalowany jest kompilator WinAVR. Za to mając Eclipse, nie musimy nawet tego grzebania stosować ;) ..... wszystko umożliwi nam sam Eclips, poniżej.... (na dole UPDATE artykułu - zajrzyj)




prezentuję mały filmik instruktażowy - bo chyba w ten sposób najlepiej uda mi się to przedstawić, jest to kolejna z serii porad dla Eclipse jako środowiska dla AVR - zapraszam do obejrzenia i przede wszystkim do korzystania z Eclipse a nie z kociej najnowszej wersji AVR Studio 5 (lub 6)


UPDATE! ..... 2013-06-05:

w związku nadal częstymi pytaniami na forum, np:


Postanowiłem przedstawić jeszcze jedną alternatywną metodę poszukiwania właściwych nazw wektorów przerwań, nawet dla tych osób, którym nie chce się filmiku obejrzeć ;) ... ale także skorzystać z prześlicznych możliwości ECLIPSA bo w nim samym mamy podgląd nie tylko na wektory przerwań ale i rejestry w danym procesorze - proszę bardzo, wystarczy skorzystać z zakładki: AVR Device Explorer.

na forum często podpowiadamy początkującym na temat tej zakładki, ja sam kiedyś dowiedziałem się o jej istnieniu od kolegi SunRiver bo sam nie zauważyłem ;) .... ale i tak okazuje się, że często po świeżym zainstalowaniu nie widać jej w tym dolnym panelu, i niektórzy piszą - że niestety ale ich Eclipse nie ma tej zakładki. Nieprawda - Każdy Eclipse z pluginem AVR ją posiada wystarczy tylko skorzystać z opcji aby ją uwidocznić jak na obrazku niżej:

Gdy już jest widoczna w dolnym panelu to sami widzicie na pierwszym obrazku że w tak niewysokim panelu (trzeba byłoby go wciąż rozszerzać) ciężko coś oglądać, więc warto zmniejszyć ten panel (mało potrzebny) po prawej stronie:

A następnie mychą przeciągnąć interesujący nas panel z dołu w to miejsce:

Wtedy zobaczycie w panelu jakiś tam procek pierwszy z listy w rozwijanym polu

A w zakładce Interrupts - stare wektory przerwań zaczynające się od SIGNAL ...., spójrzcie - można wybrać nowszy z procków z rozwijanej listy np ATmega328P:

i w zakładkach niżej podejrzeć jakie procek ma nazwy rejestrów żeby nie szukać koniecznie od razu w nocie PDF (tylko tu mieć pod ręką)

także nazwy portów jakie posiada:

oraz to co nas w tej chwili najbardziej interesuje czyli NAZWY WEKTORÓW PRZERWAŃ ;)

Jak widzicie są to już nowe nazwy z końcówką _vect. Ale dla starszych procków takich jak np ATmega8 mamy pięknie pokazane i zgrupowane w jednym miejscu zarówno stare nazwy wektorów i odpowiadające im nowe nazwy wektorów:

i niech mi ktoś powie, że Eclipse jest niewygodne - to jest jedna z dużej ilości zalet jakimi bije na głowę Eclipse nawet najnowsze AtmelStudio. A jak wiecie podczas wielogodzinnego pisania kodów - wygoda środowiska to podstawa ;)

10 komentarzy:

  1. Czy w Eclipse można używać 'snippetów' bo nie mogę znaleźć rozsądnych informacji na ten temat. Czy istnieje jakiś dobry plugin tego typu do C?

    OdpowiedzUsuń
    Odpowiedzi
    1. Ale pytasz ogólnie o Eclipse ? czy konkretnie o to co związane z językiem C (pluginem dla AVR)?

      Bo są jakieś proste snippety pod kombinacją klawiszy CTRL+SPACE dla takich podstawowych słów kluczowych jak for(), switch() itp .... plus podpowiedzi kontekstowe dla nazw rejestrów itp

      ale czy można definiować jakieś własne ? hmmm sam nie wiem ale rzeczywiście może czasem by się przydało. ;)

      Usuń
    2. Tak chodzi mi głównie o snippety do C (C+AVR). Jest to bardzo przydatna rzecz i znacznie przyspiesza i ułatwia pisanie programów. Używam ich w VIMie i teraz poszukuję w Eclipse.

      Usuń
  2. Można też skorzystać z zakładki na dole AVR Device Explorer, aby ją włączyć należy wejść Window->Show View -> AVR Device Explorer (ewentualnie ...->Other->AVR Device Explorer). Szkoda tylko, że z tego widoku nie można sobie skopiować nazwy :(

    OdpowiedzUsuń
  3. witam, mam 2 problemy...

    1) poinstalowałem wszystko jak w przewodniuku, mam wersję juno, tworze projekt c, później plik źródłowy c i piszę program, chciał bym aby odpalił się w konsoli (nie ma być to program na avr tylko taki regularny typu"witaj swiecie") klikam wykonaj i wyskakuje coś takiego;"the selectionon cannot be launched, and there are no recent launches." w internecie znalazłem coś żeby przełączyć widok i odpalić przez wykonaj jako-> aplikacja Java z tym że nie mam takiego czegoś, pozatym to nie jest w javie tylko w c... jest ktoś w stanie w miare łopatologicznie to wytłumaczyć jak to odpalić?, kod jest ok, w dev c++ działa

    2)problem z wgraniem programu na atmege8, po kliknieciu znaczka z avr wyskakuje mi; no programer has been set on this project, pleas select a programer in the project properities( properities> avr dude->programmer) no i wchodzę tam i dodaje w programmer configuration dodaję mój programator usbasp nic innego nie zmieniając no i dalej nic...

    proszęo pomoc, bo ten program niesamowicie kusi ale niestety juz 2 dzień siedzę nad nim i nic

    Łukasz

    OdpowiedzUsuń
    Odpowiedzi
    1. Łukasz - dobrze, że cię kusi ;) warto wejść w Eclipse ale:

      1. Obejrzyj to:

      http://mirekk36.blogspot.com/2012/04/eclipse-instalacja-avr-plugin.html

      2. pobierz sobie Eclipse ale w wersji INDIGO zamiast Juno na początek wersja:

      Eclipse IDE for C/C++ Developers

      i zrób dokładnie to co w tym filmiku na moim blogu z tym pluginem, WinAVR i tak dalej

      Wtedy ci wszystko wyjdzie zgodnie z filmem

      A wersję JUNO zostaw sobie na później dobra ??? Jak ci ruszy z tym co podałem wyżej to daj znać ;)

      Usuń
  4. po długiej nieobceności;

    działa, program jest wgrywany na atmegę po dodaniu programatora, window->preferences-> avrDude i trzeba dodać programator np usb-asp, a następnie kliknąć raz na folder projektu aby był podświetlony i file ->properties avr ->avrdudes i dodać programator do projektu,

    wie ktoś może jak rozwikłać drugą część mojego problemu? kompilacja i odpalanie programu w C w okienku dosowskim?

    Łukasz

    OdpowiedzUsuń
  5. Jeśli chodzi o wektory przerwania to najszybciej otworzyć notę i w rozdziale Interrupts na początku jest tabelka wszystko wyjaśniająca,
    pozdrawiam

    OdpowiedzUsuń
    Odpowiedzi
    1. Kolega chyba bardzo czegoś mocno nie rozumie (bez urazy proszę) ... owszem nota PDF to PODSTAWA PODSTAW ! zgadzam się - ale w nocie PDF nie ma i nie znajdziesz NAZW WEKTORÓW przerwań ani dla AVR GCC ani dla IAR ani dla żadnego innego kompilatora - bo to są specyficzne rzeczy dla kompilatora i czytać / szukać informacji trzeba właśnie gdzie indziej.

      I o tym tu mowa a nie o tym jak działają wektory przerwań.

      Usuń
  6. Czy mi sie nie dobrze zdaje, ale chyba było to już poruszane, przy watchdogach, między innymi ?

    OdpowiedzUsuń