Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

AVR Lab++ (obsługa AVR) by Slawek K.

Slawek K. 04 Mar 2018 18:19 23676 115
Altium Designer Computer Controls
  • AVR Lab++ (obsługa AVR) by Slawek K.

    Chciałbym się z Wami podzielić moim programikiem do obsługi AVR''ów.
    Klepanie komend avrdude z konsoli zaczęło mnie mocno irytować i postanowiłem sobie napisać na to narzędzie nakładkę.
    Zawiera ona następujące funkcjonalności:
    - odczyt uC - pobiera sygnaturę i wyświetla nazwę uC oraz jego specyfikację (lub wybranego z listy);
    - odczyt fuse bitów - program odczytuje aktualne fuse bity i wyświetla ich nazwy i oznacza wartości - podczas odczytu uC pobierane są też fabryczne wartości fuse bitów i prezentowane w zakładce Fuse bity;
    - ustawianie fuse bitów - program umożliwia trzy sposoby zmiany ich wartości: pierwszy - poprzez oznaczanie "fajek" przy odpowiednich flagach, co powoduje zmianę wartości hexydecymalnej fusów dla poszczególnej grupy; drugi to wpisanie wartości fusów z ręki i naciśnięcie Ustaw pod nimi, wtedy nastąpi oznaczenie "fajek" przy każdej z flag; i trzeci to ustawienie fabrycznych fusów. I w tym miejscu ważna uwaga - program blokuje możliwość zmiany flag SPIEN i RSTDISBL, które są powodem 95% przypadków nieświadomego zablokowania uC - wtedy jak wiadomo - pozostaje użycie innych narzędzi, aby to naprawić;
    - zgrywania i wgrywanie hex oraz eep (eeprom) - można też ustawiać dodatkowe opcje podczas wgrywania oraz jest możliwość zmiany prędkości SPI w przypadku taktowania uC niskimi częstotliwościami;
    - narzędzie do wgrywania bootloaderów Adruino dla podstawowej gamy płytek i AVR - obsługa w trzech prostych krokach, odczytanie podłączonego uC, na tej podstawie wyświetlenie możliwej listy Arduino i AVR, wgranie bootloadera - program robi wszystko za użytkownika, ustawia odpowiednie fuse bity i wgrywa właściwy bootloader, użytkownik nie musi się stresować i zastanawiać, co i jak po kolei robić;
    - terminal COM np. do debugowania, komunikacji z wszelkimi modułami, które posiadają możliwość transmisji szeregowej po UART;
    - ustawienia programu.

    Nie jest to jakaś wielka skomplikowana kobyła - po prostu program, który ma być prosty i skuteczny, i taki moim zdaniem jest.
    Program napisany w C#, wersja portable, a więc nie wymaga instalacji, wystarczy rozpakować i uruchomić *.exe.

    Program nie posiada żadnych ograniczeń jak inne na polskim rynku, wszystkie uC obsługiwane przez program są dostępne.

    Dostępna wersja w języku polskim i tylko taka będzie dostępna, przynajmniej na ten moment nie widzę potrzeby innych wersji językowych - jak taka potrzeba będzie, to poświęcę na to cenny czas i dorobię.

    Nie będę w tym momencie opisywał szeroko programu, gdyż wydaje mi się, że jest na tyle prosty, że każdy, kto cokolwiek się orientuje w uC poradzi sobie bez problemu. ;)

    Zachęcam do korzystania i zgłaszania ew. uwag i pomysłów na nowe funkcjonalności, za co będę bardzo wdzięczny. ;)

    Program będzie rozwijany, więc jak coś zmienię/dodam, to będę udostępniał na bieżąco.

    Poniżej kilka przykładów ekranów :

    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.
    AVR Lab++ (obsługa AVR) by Slawek K.


    Wersja 2.4

    AVRLab.rar Download (3.74 MB)Points: 4 for user




    Pozdr
    Sławek

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    Slawek K.
    Level 35  
    Offline 
  • Altium Designer Computer Controls
  • #2
    HD-VIDEO
    Level 42  
    ... wystarczy rozpakować i oraz mieć zainstalowany NET Framework a ja nie korzystam i co teraz będzie.
  • #3
    Slawek K.
    Level 35  
    No tu koledze nic nie poradzę, zakładałem, że ktoś, kto dłubie w uC ma takie toolsy zainstalowane, zresztą nic skomplikowanego i do pobrania wszędzie ;)
    Pomyślę zatem nad wersją instalowaną.

    Pozdr
    Sławek
  • #4
    tronics
    Level 38  
    Fajniejsza edycja fuse niż w avrdudess. I chyba tu jest główny plus :)
  • #5
    LA72
    Level 40  
    Z pobieżnych testów warto by było zrobić:
    - pomoc "bąbelkami" dla poszczególnych fusebitów,
    - jakieś narzędzie do aktualizacji.

    Teraz pochwały.
    Całkiem ciekawe narzędzie.
    Gratuluję.
  • Altium Designer Computer Controls
  • #6
    miszczo997
    Level 28  
    W momencie, gdy zaznaczam jakikolwiek ptaszek w ustawieniach fusebitów dostaję
    Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu. Coś nie tak z systemem(W10), bo w sumie już dawno nie aktualizowałem?
    Code: bash
    Log in, to see the code
  • #7
    Slawek K.
    Level 35  
    Próbujesz ustawić fuse bity gdy nie jest odczytany żaden uC, niemniej muszę ten wyjątek oprogramować, dzięki za info ;)

    Pozdr
  • #8
    mariomario
    Level 18  
    Gdzie znajdę listę obsługiwanych uC przez ten program ?
  • #9
    Slawek K.
    Level 35  
    W pierwszym poście nowa wersja - 2.1.

    Listę uC masz na pierwszej zakładce po rozwinięciu listy :

    AVR Lab++ (obsługa AVR) by Slawek K.

    Pozdr
    Sławek

    Dodano po 2 [minuty]:

    LA72 wrote:
    Z pobieżnych testów warto by było zrobić:
    - pomoc "bąbelkami" dla poszczególnych fusebitów,
    - jakieś narzędzie do aktualizacji.

    Teraz pochwały.
    Całkiem ciekawe narzędzie.
    Gratuluję.

    Dziękuję za uwagi ;)
    Oba punkty w planie.
  • #10
    HD-VIDEO
    Level 42  
    Ale pisz co zmieniasz/dodajesz/zgłoszone błędy/poprawione błędy z postu #, w kolejnej wersji programu / dodaj historie zmian do archiwum programu.

    1. Program przy braku pliku konfiguracji "AVR Lab.exe.Config",wysypuje się, przy braku takiego pliku powinien odtwarzać domyślny.

    2. Zakładka fuse bity, bez odczytu procesora,"fabryczne", przycisk Ustaw > "Błąd, Błędne dane ", pozostałe przyciski nie reagują.

    3. Zakładka "flash" Pobieranie z HEX ?" (to samo niżej) powinna raczej nazywać się FLASH, typ plików powinno być rozszerzone o bin, e2p.

    4.
    mariomario wrote:
    Gdzie znajdę listę obsługiwanych uC przez ten program ?


    Ta lista powinna być bardziej widoczna, okno powinno domyślnie wyświetlać np. "Wybierz typ AVR"
  • #11
    Slawek K.
    Level 35  
    Dziękuje koledze za uwagi ;)

    1. Można w sumie usunąć wszystkie pliki programu, tylko po co i w jakim celu ?
    2. A co ma ustawic jak nie wie jaki uC ? Skąd ma program wiedzieć jakie fabryczne wyświetlić ? Przyciski nie reagują zgodnie z założeniem, po odczytaniu uC (co jest kluczowe) wyświetlają sie właściwe flagi fuse bitów i wtedy można je modyfikować - w nowej kolejnej wersji przyciski bedą nieaktywne gdy nie bedzie odczytany uC
    3. Pobierz "FLASH" ? co do dodatkowych formatów, to mam to w planie
    4. Słuszne uwaga, dodam label o takiej treści

    Pozdr
    Sławek
  • #12
    dasej
    Level 32  
    Witam.

    Mam klona AVR ISP MKII ( firmy sibit )

    AVR Lab++ (obsługa AVR) by Slawek K.

    I coś jest nie tak.
  • #15
    Slawek K.
    Level 35  
    To dziwne, powinno być raczej odwrotnie. Jest jakiś błąd ?
    Sprobuj zainstalowac Winrar i nim rozpakuj, wbudowane narzedzia w windows niezbyt dobrze radza sobie z archiwami rar.

    Pozdr
    Slawek
  • #17
    jackfinch
    Level 17  
    Witam

    Program podobny do avrdudess z tym, że wyświetla dużo więcej informacji. Odpaliłem usbasp pod win 7 64bit i atmega 2560 odczytał bez problemu.
    Pytanie na początek w głównym oknie co to są "kamparatory"?

    Pozdrawiam
  • #18
    bodek60
    Level 13  
    rs6000 wrote:
    To dziwne, powinno być raczej odwrotnie. Jest jakiś błąd ?
    Sprobuj zainstalowac Winrar i nim rozpakuj, wbudowane narzedzia w windows niezbyt dobrze radza sobie z archiwami rar.

    Pozdr
    Slawek


    Właśnie tak się dzieje przy rozpakowywaniu zewnętrznym Winrar. Nie ma żadnych błędów. Spróbuję jeszcze z tym powalczyć, ogólnie program działa bardzo fajnie i jest przyjazny szczególnie dla początkującego. Wielkie słowa uznania.
    Pozdrowienia
    Bogdan
  • #19
    Slawek K.
    Level 35  
    miszczo997 wrote:
    @dasej to jest najpewniej wina avrdude. Mam ten sam problem nie tylko z tą nakładką. Wiem, że jakoś go uruchomiłem ostatecznie ale w jaki sposób nie pamiętam. Teraz na szybko próbowałem to dalej nie działa.
    @rs6000 programator działa pod USB. https://www.elektroda.pl/rtvforum/topic2054775.html

    Raczej tak, mam tez tem programator i w zaleznosci czy ma byc widziany pod Atmel Studio czy nie, to trzeba wgrac inny firmware do niego.

    Pozdr
    Slawek

    Dodano po 2 [minuty]:

    jackfinch wrote:
    Witam

    Program podobny do avrdudess z tym, że wyświetla dużo więcej informacji. Odpaliłem usbasp pod win 7 64bit i atmega 2560 odczytał bez problemu.
    Pytanie na początek w głównym oknie co to są "kamparatory"?

    Pozdrawiam

    Ardiuno mega mozna czytac bezposrednio bez usbasp, wystarczy wybrac programator WIRING i odpowiedni COM pod ktorym zglosi sie mega.

    Pozdr
  • #20
    tplewa
    Level 39  
    HD-VIDEO wrote:
    ... wystarczy rozpakować i oraz mieć zainstalowany NET Framework a ja nie korzystam i co teraz będzie.


    Windows w zależności od wersji ma standardowo .NET... chyba że kolega pisząc program użył jakąś najnowszą którą w starszych systemach trzeba doinstalować. Choć patrząc na to co program robi to jakiś bajerów z nowych .NET raczej nie potrzeba i można śmiało użyć starszą wersję (będzie mniej problematyczne dla posiadaczy Visty czy Win7)...

    Z drugiej strony tak się zastanawiam co było celem pisania kolejnej nakładki graficznej na avrdude. Z tego co kojarzę to nakładek było dość sporo...
  • #21
    ghost2000
    Level 18  
    Plików *ELF nieobsługuje
    CKSEL, BOOTSZ i inne w nieprzyjaznej formie. Zdecydowanie lepiej jest to zrobione w AtmelStudio czy AvrStudio. Jak pamiętam, nawet Bascom ma to lepiej zrobione niż ten program. Tu, bez noty katalogowej ani rusz. Manipulując CKSEL nie zablokują sobie przypadkiem AVRka?

    Taki Burn-O-Mat.
  • #22
    jackfinch
    Level 17  
    rs6000 wrote:
    Ardiuno mega mozna czytac bezposrednio bez usbasp, wystarczy wybrac programator WIRING i odpowiedni COM pod ktorym zglosi sie mega.


    Jeżeli masz namyli podpięcie pod usb to u mnie to nie działa, wyświetla błąd:
    avrdude.exe: stk500v2_ReceiveMessage(): timeout
    avrdude.exe: stk500v2_ReceiveMessage(): timeout
    avrdude.exe: stk500v2_ReceiveMessage(): timeout
    avrdude.exe: stk500v2_ReceiveMessage(): timeout
    avrdude.exe: stk500v2_ReceiveMessage(): timeout
    avrdude.exe: stk500v2_ReceiveMessage(): timeout
    avrdude.exe: stk500v2_getsync(): timeout communicating with programmer

    avrdude.exe done. Thank you.
  • #23
    tplewa
    Level 39  
    ghost2000 wrote:
    Plików *ELF nieobsługuje
    CKSEL, BOOTSZ i inne w nieprzyjaznej formie. Zdecydowanie lepiej jest to zrobione w AtmelStudio czy AvrStudio. Jak pamiętam, nawet Bascom ma to lepiej zrobione niż ten program. Tu, bez noty katalogowej ani rusz. Manipulując CKSEL nie zablokują sobie przypadkiem AVRka?

    Taki Burn-O-Mat.


    W sumie też kiedyś robiłem w programatorze do AVR-ów na wzór AvrStudio bo wydawało mi się bardzo intuicyjne. Jedyna wada to trzeba było robić plik z definicjami - więc trochę klepania xml-a dla każdego procka... No ale coś za coś ;)

    ot coś takiego:
    AVR Lab++ (obsługa AVR) by Slawek K.

    https://www.elektroda.pl/rtvforum/viewtopic.php?p=10932040

    W .NET było by to bardzo łatwe do zrobienia, ja miałem trochę dłubaniny w własne kontrolki itd. pod Win API... Tylko właśnie trzeba by wprowadzić definicje dla wszystkich procków co jest najbardziej czasochłonne...
  • #25
    ghost2000
    Level 18  
    tplewa wrote:

    ot coś takiego:
    AVR Lab++ (obsługa AVR) by Slawek K.

    To mi się podoba. Jest wygodne i intuicyjne. A rozwiązanie CKSEL0..3 to tak jakby program był pisany dla wroga. Takie rozwiązania były dobre w poprzednim tysiącleciu a nie teraz.
    Co do klepania. Ja używam kilku procków z rodziny AVR, wiec roboty niedużo. Ponadto jednorazowa robota. Można zrobic bazę w necie, którą tworza wszyscy użytkownicy.
  • #26
    Freddy
    Level 43  
    rs6000 wrote:
    Chciałbym się z Wami podzielić moim programikiem do obsługi AVR'ów.
    Klepanie komend AVRdude z konsoli zaczęło mnie mocno irytować i postanowiłem sobie napisać na to narzędzie nakładkę.
    Nie neguje Twojej wykonanej pracy, ale przekonaj mnie, że Twoja nakładka jest lepsza niż istniejąca AVRdude GUI i jej mam używać :)
  • #27
    Slawek K.
    Level 35  
    Freddy wrote:
    rs6000 wrote:
    Chciałbym się z Wami podzielić moim programikiem do obsługi AVR'ów.
    Klepanie komend avrdude z konsoli zaczęło mnie mocno irytować i postanowiłem sobie napisać na to narzędzie nakładkę.
    Nie neguje Twojej wykonanej pracy, ale przekonaj mnie, że Twoja nakładka jest lepsza niż istniejąca AVRdude GIU i jej mam używać :)

    Akurat Ciebie to do niczego nie zamierzam przekonywać ;)

    Dodano po 1 [minuty]:
    tplewa wrote:
    HD-VIDEO wrote:
    ... wystarczy rozpakować i oraz mieć zainstalowany NET Framework a ja nie korzystam i co teraz będzie.


    Windows w zależności od wersji ma standardowo .NET... chyba że kolega pisząc program użył jakąś najnowszą którą w starszych systemach trzeba doinstalować. Choć patrząc na to co program robi to jakiś bajerów z nowych .NET raczej nie potrzeba i można śmiało użyć starszą wersję (będzie mniej problematyczne dla posiadaczy Visty czy Win7)...

    Z drugiej strony tak się zastanawiam co było celem pisania kolejnej nakładki graficznej na avrdude. Z tego co kojarzę to nakładek było dość sporo...

    Dla przyjemności :)

    Pozdr
  • #28
    tplewa
    Level 39  
    rs6000 wrote:

    Dla przyjemności :)
    Pozdr


    No i to zmienia trochę postać rzeczy ;) ot przynajmniej ja rozumiem bo czasem z nudów też jakieś bzdury piszę (często nikomu do niczego niepotrzebne)...

    Tak jeszcze z ciekawości co do wersji .NET jakiej używasz że ktoś tutaj ma problem (ot lenistwo nie chce mi się pobierać apki i sprawdzać) ? Wychodzi że od 4 w górę i ktoś używa Win 7 lub starszy system, wtedy fakt musi doinstalować... pytanie czy możesz zejść do 3.5 (tzn. czy używasz funkcji z nowszego .NET) - problem powstał by jedynie dla ludzi z Win XP i Vista (trzeba doinstalować osobno).
  • #29
    Freddy
    Level 43  
    rs6000 wrote:
    Akurat Ciebie to do niczego nie zamierzam przekonywać
    Miły jesteś :) pokazałeś co potrafisz :D
    Po prostu chciałem się dowiedzieć o różnicach między Twoim programem a AVRdude GUI.
    No ale cóż szkoda dalszej dyskusji, bo widzę, że się nie dowiem nic.
  • #30
    ghost2000
    Level 18  
    tplewa wrote:
    z nudów też jakieś bzdury piszę (często nikomu do niczego niepotrzebne).

    Ja tez ale na forum tym się nie chwalę. Jak pisze program czy buduje urzadzenie, to takie co ma funkcje niespotykane w innych rozwiązaniach albo jest tańsze od innych rozwiązań.

    To, co zaprezentował autor, poza wersją PL nie ma nic innowacyjnego. Owszem, fajny bajer wiedzieć ile uC ma pamięci flash, co akurat wynika z pierwszych cyfr w oznaczeniu układu, ram (tu już trzeba zaglądać do noty) itp, ale oczywista oczywistość, że AVR ma przetworniki 10-bit, XMEGA 12-bit. Na pamięć wiem, które AVRmega mają 2 usarty, 4 te w obudowie 100pin. Znam wielkość pamięci RAM. W sumie, jak dla mnie, funkcjonalność taka sobie.

    Program, "sztuka dla sztuki". Nic ciekawego w stosunku do konkurencji w nim nie ma.