logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[AVR] i [Linux (+WINE)] - programatory, środowiska

c64club 11 Maj 2011 10:55 3357 14
  • #1 9494501
    c64club
    Poziom 18  
    Temat można by przykleić, jeśli odpowiedzi będą sensowne. Takie małe kompendium dla linuksiarzy
    Witajcie.
    Chcę wykorzystać PC z Linuksem do programowania procków. Zacząć od popularnych AVR, bo i kompilator C pod to jest literatury "trochę". Na razie sobie "koduję" na kartce, ale pora by to umiecić w układzie.

    Zasadniczym problemem jest dla mnie to, że nie mam w komputerze portu Centronics (lp) ani nawet RS (więc STK 200/300/500 odpada), a nie chcę się wykosztować (nawet kilkadziesiąt zł) na jakiś winprogramator. Najlepiej jakby się go dało zrobić samemu (u brata na kompie mógłbym pod Windą odpalić STK200). Obsługa z konsoli mnie nie razi absolutnie.
    Czego używacie pod Linuksem i jak się sprawuje? W sieci są jakies opisy, ale zazwyczaj sprzed kilku lat.

    Druga sprawa do środowisko. Oczywiście podstawą jest avr-gcc (lub skompilowanie gcc z opcją mmcu=nazwa_procka), ale czy istnieje jakieś choćby skromne IDE, które da się odpalić? Pod czystym Linuksem czy też pod WINE. Np. czy obsługa programatora jest możliwa z jakiegoś windowsowego IDE uruchomionego pod WINE.

    Byłoby miło, gdyby wypowiedzieli się praktycy i igyby uniknąć odpowiedzi w stylu "program X powinien się dać odpalić".
  • #2 9495088
    polprzewodnikowy
    Poziom 26  
    AVR-GCC + AVRdude i eclipse z wtyczką da AVRów jako IDE. Wine jest ci nie potrzebny. Jako programator polecam USBasp.
  • #3 9495149
    c64club
    Poziom 18  
    Zapomniałem zupełnie o Eclipse. Parę lat temu to po wgraniu 2-3 wtyczek przestawało być stabilne i jakoś wyleciało mi z głowy.
    Jak widzę z opisu, wtyczka ma edytor fusebitół i obsługuje AVRdude, świetne ułatwienie.

    Jak tylko skonfiguruję, to dam opis dla Slackware i Ubuntu
  • #4 9495296
    McMonster
    Poziom 32  
    Tam nie ma prawie nic do opisywania, wystarczy zainstalować Eclipse, CDT, avrdude i avr-gcc z repozytoriów jedną komendą, dorzucić wtyczkę z Update Site (jak ostatnio sprawdzałem, to nie było jej w repozytoriach popularnych dystrybucji, reszta powinna być dosłownie wszędzie), utworzyć nowy projekt i wybrać programator USBasp w preferencjach projektu. Tylko tyle i można pisać i programować scalaka.

    Już ciężej zainstalować na Windowsie, jak się niedawno przekonałem, bo trzeba dociągnąć osobno Eclipse, WinAVR, zainstalować sterowniki do programatora, skonfigurować wszystko itp.

    Natomiast Eclipse'a dalej można "zabić" wtyczkami, ale trzeba je na oślep i w dużej liczbie instalować.
  • #5 9495974
    pancio
    Poziom 16  
    a ja proponuje (używam) zamiast ociężałego Eclipse edytora Geany (avrdude i avr-gcc z repo) - bardzo lekkie i przyjemne i uruchamia się natychmiast :-)

    [AVR] i [Linux (+WINE)] - programatory, środowiska
  • #6 9497357
    Nagus
    Poziom 27  
    Programatory: avrdude + usbasp i avrisp mkII. Chodzą bez problemu. Przy robieniu avrisp-a nie trzeba nawet kombinacji jajko-kura bo ATmega U ma fabrycznie wgrany bootloader czyli Atmel DFU (obsługa przez dfu-programmer, też warto się zaopatrzyć).

    IDE dowolne. Używam Code::Blocks, ale mam taki makefile, że nie chciało mi się go nawet konfigurować - używam tylko do edycji plików.

    W Eclipse zarządzanie projektami doprowadzało mnie do szału (chociaż pluginy od avr faktycznie sprawnie działały). Poza tym (w moim przypadku) na Mandrivie Eclipse bardzo ciężko było zainstalować - trudno domyśleć się, których pakietów brakuje. Zresztą, dzięki CodeRed (LPCXpresso), które nie zauważyło że od 10 lat są procki 64-bitowe, mam już taki bajzel w systemie, że postawienie normalnego Eclipse jest praktycznie niemożliwe...
  • #7 9497501
    c64club
    Poziom 18  
    Mnogo tego. Geany bardzo polubiłem, odkąd dostałem je w dystrybucji Zenwalk. Tak samo cenię xvim.

    @Nagus chyba jednak kombinacja Jajo vs Kura musi być. Obojętnie, czy musiałbym sflashować procka przez bootloader czy przez STK200 "kabel-version", to jakieś kable podpiąć trzeba. W końcu telepatycznie tego programatora nie zaprogramuję :) Ale jednorazowa zabawa na innym kompie mi nie przeszkadza (:
    Pobawię się tymi IDE

    Wyrzeźbię to (może z paczkami dla slacka) to wrzucę w temat.
    OT:
    Ja tam (chyba?) mam procek 64 bity, ale i tak wykorzystuję 10% jego możliwości, więc
    postawiłem 32-bitowy system i mam spokój. Ale dzięki za dodatkowa uwagę.
    EOT
  • #8 9529521
    gmp
    Poziom 19  
    Ja używam CodeBlocks jako edytora.
    Właśnie znalazłem bardzo skromną wersje bootloader'a kavr (caviar) na stronie : http://sourceforge.net/projects/kavr/
    Po skompilowaniu program zajmuje 498 bajtów. Trudno zrobić coś mniejszego z taką funkcjonalnością.
    Ale najlepsze to ze nie potrzeba do tego żadnego programu do programowania.
    Wystarczy(pod Win) prosty plik bat w katalogu gdzie jest plik hex:
    
    mode com5 baud=19200 DATA=8 PARITY=n STOP=1 XON=on
    copy *.hex COM5
    

    Oczywiście blik BAT trzeba skonfigurować pod swój system. Przerobienie tego na Linuxa nie powinno być żadnym problemem.

    Po skonfigurowaniu TOOL w edytorze, wywołuje ten plik i nie muszę nawet opuszczać edytora.

    W pliku C dodałbym podciągniecie RX i to tyle.
    Konfiguracja UART jest w makefile.

    Zaponiałbym dodać : trzaba mieć port COM, najlepiej przejściówkę USB na FTDI z wyprowadzonymi sygnałami TTL 5V ub 3,3V
  • #9 9535178
    c64club
    Poziom 18  
    Miłe to. W dodatku pozwoli na update choćby z palmtopa :) Do niektórych projektów powino się przydać, a pół kilobajta w większości przypadków niczemu nie zaszkodzi. Dzięki.
    Bootloader i tak jakoś będę musiał wrzucić do procka, więc jak już będę brata komputer do tego zaprzęgać, to od razu zaprogramuję sobie flash USBASP-a a nie będę wykorzystywać LPT->kavr->wsad usbasp, ale w innych urządzeniach się przyda.

    Instalacja softu wydała się prostsza niż sądziłem. Kilka paczek, pod Slackiem
    installpkg paczka.tgz paczka2.txz paczka3.tgz
    , pod Ubuntu
    apt-get install nazwasoftu
    . Żadnej dodatkowej pracy.
  • #10 9554050
    waldix

    Poziom 18  
    Bardzo fajny choć słabo rozwijany jest kontrollerlab. Link
    Ma wbudowaną obsługę najpopularniejszych programatorów, jest bardzo intuicyjny w obsłudze.
  • Pomocny post
    #11 9562619
    krdln
    Poziom 13  
    Popieram pancio, też używam Geany :) Eclipse, jako że jest w javie, jest po prostu za wolny i jakoś do mnie nie przemawia. Do kompilacji projektów przeważnie są gotowe Makefile, a do pojedynczych plików używam własnych skryptów:
    kompilacja
    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    wrzucanie:
    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    Co do avrdude, trochę irytuje, że pod linuksem wymaga roota, można temu zaradzić za pomocą
    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    wtedy avrdude będzie zawsze się uruchamiać z uprawnieniami roota.
  • #12 9563069
    pancio
    Poziom 16  
    krdln napisał:


    Co do avrdude, trochę irytuje, że pod linuksem wymaga roota, można temu zaradzić za pomocą
    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    wtedy avrdude będzie zawsze się uruchamiać z uprawnieniami roota.


    z tym rootem to troszki pojechałeś po bandzie, nigdy ale to NIGDY nie należy korzystać z uprawnień root-a bez potrzeby. W przypadku avrdude trzeba tylko dodać usera do odpowiedniej grupy (usb?) oraz dodać odpowiedni wpis w /etc/udev/rules.d np taki wpis:


    
    pancio@plapik:~$ sudo vim /etc/udev/rules.d/60-programator.rules 
    


    
    # Programator AVR USBasp
    ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", ATTRS{product}=="USBasp", GROUP="usb", MODE="0664"
    


    w powyższym wpis dotyczy programatora USBasp.
  • #13 9564576
    krdln
    Poziom 13  
    @pancio
    Fakt, masz rację, że to dość niebezpieczna sprawa, nie powinienem tej metody polecać. Z mojego kompa korzystam tylko ja, więc się za bardzo nie przejmowałem.

    Dzięki poza tym za podanie porządnej metody :)
  • #14 9565154
    pancio
    Poziom 16  
    @krdln

    zdarza sie, że podczas aktualizacji systemu do wyższej wersji (szczególnie Ubuntu) lub po zmianie pakietu trzeba na nowo nadać uprawnienia co może być irytujące ("wczoraj jeszcze działało!"). Wtedy trzeba raz posłużyć się kontem roota do przywrócenia uprawnień.
  • #15 9567951
    gadula88
    Poziom 15  
    waldix napisał:
    Bardzo fajny choć słabo rozwijany jest kontrollerlab. Link
    Ma wbudowaną obsługę najpopularniejszych programatorów, jest bardzo intuicyjny w obsłudze.

    Niestety, ale można powiedzieć że ten projekt już umarł... W dodatku większość dystrybucji już dawno przeszła na QT4/KDE4, co może być dodatkowym problemem dla początkujących. A szkoda, swego czasu sam korzystałem z tego programu :)
REKLAMA