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.

Programowanie uC w Ubuntu

lopez123 19 Sie 2008 20:54 4934 21
  • #1 19 Sie 2008 20:54
    lopez123
    Poziom 13  

    Witam.
    Mam Ubuntu 8.04 i teraz jak zaprogramować przez stk200 atmega8? Jaki program itp? Bo dopiero zaczynam z tym zabawe

    0 21
  • #2 19 Sie 2008 21:19
    todevor
    Poziom 11  

    Tutaj masz najprościej jak się da Link. Następnym razem z korzystaj z google;]

    0
  • #3 20 Sie 2008 14:22
    lopez123
    Poziom 13  

    A czy mógłby ktoś powiedzieć jak instalować te programy w ubuntu? Bo zabardzo nie wiem.

    0
  • #6 22 Sie 2008 13:28
    lukisio
    Poziom 11  

    Sprawa jest prosta jak drut.
    Potrzebujesz avrdude i programiku o nazwie AVR8_Burn-O-Mat. Pierwszy jest w repozytorium a drugi tutaj.
    Z tego co pamiętam, wystarczy go tylko rozpakować i skonfigurować.
    WAŻNE! W Additional options wpisz koniecznie "-b 115200" bez cudzysłowów.
    U mnie działa jak bajka. Bascom odpalisz przez Wine.
    Ubuntu jest super, tak poza tematem. Dobry wybór! :)

    0
  • #7 22 Sie 2008 17:46
    lopez123
    Poziom 13  

    A mógłby ktoś jeszcze powiedzieć jak zainstalować PonyProg'a? Bo zabardzo nie wiem jak to robić.

    0
  • Pomocny post
    #10 23 Sie 2008 17:40
    Mad Bekon
    Poziom 23  

    To ja może po napiszę krok po kroku, jak w Ubuntu zacząć z C dla AVR.
    1. Korzystając z Synaptica, albo APT-GET instalujemy: avrdude, avr-libc, binutils-avr, gcc-avr.
    2. Ściągamy Kontrollerlab, dla ubuntu : http://sourceforge.net/project/showfiles.php?group_id=177228
    3. Dodajemy naszego użytkownika do grupy, do której należy nasz programator
    (/dev/parport0 dla STK200, u mnie do grupy root do której należą urządzenia USB (USBasp) )
    4. Odpalamy Kontrollerlab
    5. Wchodzimy w Project -> New project, zapisujemy w jakims folderku
    6. Project -> Configure Project. Wybieramy używany procek, i prędkość taktowania. W zakladce Compiler, zaznaczamy Define F_CPU... oraz Optimalizaton Level na 2 (tak zeby dzialaly standardowe funkcje z delay.h). Klik w OK
    7. Project -> Configure Programmer. Zaznaczamy ze Avrdude, a w zakładce AVRDUDE wybieramy typ programatora, ewentualnie port. OK albo Set as default.
    8. File -> New -> New (Ctrl + N). wybieramy C source, jakaś nazwa. OK

    9. Piszemy KOD a potem do wyboru Project -> Rebuild All, Upload itd.
    Ja najbardziej lubię Shift + F9 (Ignite) kompiluje i wgrywa do proca.

    Mysle, że napisane tak łopatologicznie, że można do FAQ wrzucić

    0
  • #11 23 Sie 2008 22:39
    romario4
    Poziom 16  

    Cytat:
    To ja się z pytaniem dorzucę, Co zrobic, zeby w ubuntu nie musiec avrdude odpalac z uprawnien roota? Bo bez tego avrdude nie ma permissionsów do portów :/

    dodaj siebie do grupy do której należy port np. u mnie parport0 nalezy do grupy scanner

    0
  • #12 24 Sie 2008 01:04
    bobbyAIR
    Poziom 20  

    Ustaw bit suid na program avrdude jako root i wtedy użytkownik będzie odpalał program z prawami roota.

    Code:
    [root@bobby ~]# type avrdude
    
    avrdude is /usr/local/bin/avrdude
    [root@bobby ~]# chmod +s /usr/local/bin/avrdude
    [root@bobby ~]# ls -al /usr/local/bin/avrdude
    -rwsr-sr-x 1 root root 548455 gru  8  2007 /usr/local/bin/avrdude
    [root@bobby ~]#


    napisał:

    3. Odpalamy Kontrollerlab, na uprawnieniach roota. Np, terminal potem su potem kontrollerlab &

    Niezbyt mądry pomysł jeśli wystarczy ustawić tylko bit SUID w avrdude.

    A jeśli chodzi o pobranie Kontrolerllab z paczek to jednak polecam swoją do której dałem linka. Jest spatchowana i obsługuje również USBasp (domyślnie nie moża wybrać go z listy programatorów dla avrdude)

    0
  • #13 24 Sie 2008 10:03
    Mad Bekon
    Poziom 23  

    romario4 napisał:

    dodaj siebie do grupy do której należy port np. u mnie parport0 nalezy do grupy scanner

    Ja korzystam z USBasp. Szukając po dev'ach, USBeki były w grupie root, sie dodałem, ale nie pomogło.


    U mnie chmod +s nie pomagało.
    Nadal dostaję:
    Code:
    madbekon@madbekon-laptop:/usr/bin$ avrdude -p m8 -c usbasp
    
    avrdude: Warning: cannot query manufacturer for device: error sending control message: Operation not permitted
    avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc

    0
  • #14 24 Sie 2008 10:33
    romario4
    Poziom 16  

    Cytat:
    Ja korzystam z USBasp. Szukając po dev'ach, USBeki były w grupie root, sie dodałem, ale nie pomogło.

    A zrestartowałeś kompa, u siebie musiałem restartować aby zmiany dały efekt. Też korzystam z USBasp i nieźle się musiałem nakombinować, ale działa.

    0
  • #15 24 Sie 2008 10:40
    Mad Bekon
    Poziom 23  

    Faktycznie, po dodaniu do grupy root mojego użytkownika i restarcie, avrdude działa bez zarzutu. Wystarczyło, że się wylogowałem i zalogowałem ponownie.

    W sumie logiczne rozwiązanie, dzięki kolego

    0
  • #16 24 Sie 2008 13:55
    bobbyAIR
    Poziom 20  

    A teraz jak ci sie ktoś włamie na kompa i podłoży rootkit będziesz zastanawiał się czemu. Ustawienie bitu SUID musi dać zamierzony efekt o ile nada go użytkownik root.

    0
  • #17 11 Paź 2011 16:41
    Slkkk
    Poziom 14  

    Odkopię stary temat, bo ten sam problem pojawił się u mnie kilka dni temu po aktualizacji systemu, znalazłem między innymi ten wątek, a ładnego rozwiązania tu nie widzę. Podam więc, może przyda się komuś jeszcze. Problem spowodowany jest tym, że nie posiadamy uprawnień do korzystania z urządzenia USB, którym jest programator. Za regulowanie takich uprawnień w nowych Linuksach odpowiedzialny jest podsystem udev, który można skonfigurować następująco:

    1. Wyjmujemy programator z portu USB
    2. Uruchamiamy terminal
    3. Wykonujemy polecenie:

    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    I sprawdzamy, czy na liście znajduje się grupa plugdev. Jeśli nie, to zapamiętujemy ten fakt.
    4. Przełączamy użytkownika na roota, zwykle poleceniem:
    Kod: bash
    Zaloguj się, aby zobaczyć kod

    Może to wymagać potwierdzenia hasłem, a po udanym wykonaniu znak zachęty (po lewej od kursora) zmieni się z $ na #
    5. Jeśli w kroku trzecim stwierdziliśmy brak grupy plugdev na liście dodajemy się do tej grupy wykonując polecenie:
    Kod: bash
    Zaloguj się, aby zobaczyć kod

    Oczywiście nazwę użytkownika zmieniamy na swoją.
    5. Jako root możemy już skonfigurować udev wykonując po kolei polecenia:
    Kod: bash
    Zaloguj się, aby zobaczyć kod

    Pierwsze z nich tworzy plik /etc/udev/rules.d/95-usbasp.rules, w którym umieszcza regułę nadającą wszystkim użytkownikom z gruply plugdev uprawnienia do korzystania z urządzenia 16c0:05dc (są to VID i PID programatora USBasp), zaś drugie wczytuje pliki z regułami (zamiast niego można po prostu zrestartować komputer).

    Zamykamy co mieliśmy otwarte, podłączamy programator do portu USB -- powinien już działać poprawnie.

    0
  • #18 11 Paź 2011 22:46
    blue_17
    Poziom 32  

    Panowie oto rozwiązanie działa w 100%

    https://www.elektroda.pl/rtvforum/viewtopic.ph...u+usbasp&sid=a8261bc827ba6fa8a967ee1f3d3484d0


    Jeden mały pliczek tylko należy to zrobić z konta roota

    Najprościej kiedy otwiera się folder kliknąć na niego prawym przyciskiem i wybrać otwórz jako administrator i w folderze mamy prawa roota - to tak gdyby ktoś nie lubił konsoli ;)

    Czy z eclipsem czy code bloksem działa dobrze

    Tu jeszcze opisałem jak pod ubuntu zainstalować eclipse oraz wtyczke do pisania na AVR

    https://www.elektroda.pl/rtvforum/viewtopic.ph...ight=gcc&sid=a8261bc827ba6fa8a967ee1f3d3484d0

    miłej zabawy

    Pizdrawiam

    0
  • #19 11 Paź 2011 22:52
    Slkkk
    Poziom 14  

    No tak, pod linkiem jest dokładnie to samo rozwiązanie, co opisane przeze mnie, ale hurtem dla większości programatorów USB, czyli bardzo ładnie.

    0
  • #20 11 Paź 2011 22:57
    blue_17
    Poziom 32  

    Fajnie by to było gdzieś przykleić bo linux jest przecież najlepszą platforma do programowania całość za free ;)

    A problem jest częsty, chyba napisze nawet artykuł o tym na blogu żeby jak ktoś w googlach szuka to żeby szybko znalazł :)

    Pozdrawiam

    0
  • #21 12 Paź 2011 20:18
    McMonster
    Poziom 32  

    Ja chyba opiszę kiedyś swoje, właśnie wdrażane rozwiązanie w dziedzinie platformy do elektroniki dla posiadaczy laptopów. Opiera się ono na tanim pececie z Linuksem (bez X), na którym postawiona jest maszyna wirtualna z WinXP, do której podpięte są porty szeregowe i równoległy. Wyszło mnie taniej, niż przejściówka na FTDI, do tego z izolacją galwaniczną i jeszcze serwer domowy mogę postawić. Jeszcze muszę tylko odkurzyć swoją wiedzę z zakresu programowania daemonów i modułów kernela, bo mam zamiar zmajstrować jeszcze parę ficzerów do takiego zestawu.

    0