Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 30 kwi 2025, o 08:28


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
    Autor Wiadomość
    PostNapisane: 26 sie 2012, o 17:10 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Jako, że konfiguracja Smoczka z lochów pod ATMELEM nastręcza sporo problemów postaram się
    pokrótce pokazać jak to ugryźć.

    1. libUSB dla Windows czyli jak można sobie narobić problemów.

    O co więc chodzi ?? ano panowie to wyjątkowo proste , kupiliśmy Dragona
    zainstalowaliśmy i w AS działa super .... tak ale nigdzie indziej nie będzie :(

    Dlaczego ... to proste żaden normalny program poza chińskim AS nie będzie rozmawiać ze smokiem
    w jego języku czyli na poziomie driverów Jungo. Zamiast tego, musisz zainstalować libusb-win32
    i poprosić o podanie alternatywnego dostępu do USB dla WinAVR. No ale nie jet tak kolorowo jak się
    wam wydaje :)

    Trudność po zainstalowaniu libusb polega na tym że:
    -- jeśli driver Jungo nie jest aktywny, AVR Studio nie działa ze Smoczkiem.
    Więc jeśli jesteś podobny do mnie i chcesz zachować popping między środowiskami,
    to masz zonka bo trzeba ciągle zmieniać sterowniki. Dobre jest to przynajmniej, że jest łatwe do
    zrobienia, ale trzeba wykonać niepotrzebne ruchy .
    Nie alternatywnego sposobu na to, albo tylko ja nie mogłem go znaleźć.

    --- JEDZIEMY

    Więc trzeba nam libusb-win32 do tego. Użyłem wersji 1.2.6 . Istnieje wersja, która ​jest wewnątrz katalogu WinAVR, ale nie udało się zmusić jej do pracy.

    AVR studio zainstalowany i smok też , można sprawdzić w Menedżerze urządzeń systemu Windows, że masz sterownik "Jungo", a AVR Dragon jest z nim związany.Teraz rozpakuj libusb-win32, i zajrzyj
    do pliku "install-inf.exe". Inf instalatora dla Smoka, który wykorzystuje libusb.

    Obrazek
    Obrazek

    Możesz nacisnąć przycisk "Zainstaluj teraz", aby właściwie zainstalować sterownik.

    Od tej, jeśli masz zamiar iść tam i z powrotem między AVR Studio i WinAVR musisz nauczyć się jak
    przełączać między Jungo, a libusb. Jest to dość łatwe. Z podłączonym Dragonem odpalamy
    menedżera urządzeń. Wybieramy sterownik jaki jest zainstalowany, klikamy prawym przyciskiem
    gryzonia i wybieramy "odinstaluj."
    Nie martwcie się, nic się nie usuwa, sterownik jest dalej w systemie komputera jedynie zniknie z listy
    Menedżera urządzeń. Odłączamy i ponownie podłączamy Smoka do USB i Windows nas poinformuje iż
    "Znaleziono nowy sprzęt". Teraz Spacer po kreatorze instalacji nowego sprzętu, ale nie pozwólmy
    na to by automatycznie zainstalował cokolwiek. Wybieramy "Zainstaluj z listy lub określonej lokalizacji" i "Nie szukaj. Wybiorę sterownik do zainstalowania ". Teraz możesz wybrać między sterownikiem Jungo i sterownikiem libusb.

    Obrazek

    No dobra wybraliśmy libUSB to teraz patrzymy czy działa z avrdude to co nas interesuje:

    Do kompa ze Smokiem podłączamy kabel ISP, przełączamy się na libusb , jak opisałem wcześniej.
    Otwieramy wiersz polecenia (Start -> Uruchom -> cmd). Przechodzimy do folderu avrdude. WinAVR, zwykle ustawia zmienną PATH, więc można wpisać avrdude polecenia z dowolnego katalogu.
    ale znając życie 3ch będzie kombinować z WinAVR i nic nie będzie działać:P

    Teraz sprawdzimy , czy nasz smok odpowiada. Użyjemy konfiga dragon_isp z avrdude:

    Kod:
    avrdude -p atmega168 -c dragon_isp -P usb


    efektem tego wpisu powinno być coś takiego:

    Kod:
    avrdude: AVR device initialized and ready to accept instructions
    Reading | ################################################## | 100% 0.17s
    avrdude: Device signature = 0x1e9406
    avrdude: safemode: Fuses OK
    avrdude done.  Thank you.


    Czasem trzeba wywołać komendę kilka razy, zanim smok zacznie mówić <wyjątkowo wredne i uparte bydle z niego> :)
    Usłyszysz dźwięk "ding" to Dragon się resetuje , a jeśli spróbujesz wywołać avrdude zbyt szybko to nie odpowie poprawnie.
    Zainstalowany sterownik libusb pozwala podłączyć / odłączyć Smoka kiedy chcecie i będzie zawsze korzystał z libusb.
    Nie wróci do Jungo o ile nie zostanie odinstalowane libusb ręcznie

    Jak zobaczycie coś takiego:

    Kod:
    avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch
             System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"
             Using Port                    : usb
             Using Programmer              : dragon_isp
    avrdude: usbdev_open(): did not find any USB device "usb"


    wielu zobaczy tylko to :P

    To oznacza, że ​​macie problemy z USB. Sprawdźcie , sterownik libusb. Spróbujcie wykonać replugging smoka i zobaczyć czy to pomaga.
    Dla jeszcze bardziej szczegółowych informacji, należy użyć flagi -v w avrdude:

    Kod:
    avrdude -p atmega168 -c dragon_isp -Pusb -v


    Otrzymacie więcej informacji np takich:

    Kod:
    avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch
             System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"
             Using Port                    : usb
             Using Programmer              : dragon_isp
    avrdude: usbdev_open(): Found AVRDRAGON, serno: 00A200011176
    JTAG ICE mkII sign-on message:
    Communications protocol version: 1
    M_MCU:
      boot-loader FW version:        255
      firmware version:              7.21
      hardware version:              1
    S_MCU:
      boot-loader FW version:        255
      firmware version:              7.21
      hardware version:              7
    Serial number:                   00:a2:00:01:11:76
    Device ID:                       AVRDRAGON
             AVR Part                      : ATMEGA168
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PC2
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             serial program mode           : yes
             parallel program mode         : yes
             Timeout                       : 200
             StabDelay                     : 100
             CmdexeDelay                   : 25
             SyncLoops                     : 32
             ByteDelay                     : 0
             PollIndex                     : 3
             PollValue                     : 0x53
             Memory Detail                 :
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom        65     5     4    0 no        512    4      0  3600  3600 0xff 0xff
               flash         65     6   128    0 yes     16384  128    128  4500  4500 0xff 0xff
               lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
             Programmer Type : DRAGON_ISP
             Description     : Atmel AVR Dragon in ISP mode
             Vtarget         : 5.0 V
             SCK period      : 8.00 us
    avrdude: AVR device initialized and ready to accept instructions
    Reading | ################################################## | 100% 0.16s
    avrdude: Device signature = 0x1e9406
    avrdude: safemode: lfuse reads as FF
    avrdude: safemode: hfuse reads as DF
    avrdude: safemode: efuse reads as 0
    avrdude: safemode: lfuse reads as FF
    avrdude: safemode: hfuse reads as DF
    avrdude: safemode: efuse reads as 0
    avrdude: safemode: Fuses OK
    avrdude done.  Thank you.


    Jeśli wszystko zrobiliście wszystko jak opisałem to będziecie mieli działającego Smoka
    pod Avrdude , a co za tym idzie i w eclipse i w mkCalkulatorze we wszystkich trybach
    czyli :

    ISP/JTAG/PDI :)


    P.S ... do malkontentów --- nie kupujcie dragona wystarczy wam stk200 lub Baskom programer :P

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 sie 2012, o 17:47 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    Nie mam wprawdzie smoczka, ale cieszę się bardzo, że powstał taki solidny poradnik - ponieważ sam otrzymuję sporo maili z zapytaniami o to. Teraz będę mógł wskazać fajne rozwiązanie ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 sie 2012, o 08:48 

    Pomógł: 0

    Oooooo dzięki ci zbawco! :D masz u mnie duże dobre piwo :).



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 gru 2012, o 15:57 
    Offline
    Nowy

    Dołączył(a): 09 kwi 2012
    Posty: 20
    Pomógł: 0

    Czyli powyższa procedura odnosi się także do programatora JTAGICE mkII? Bo w menadzerze widzę go tylko pod Jungo, a pod usb nie ma nic.
    Chciałbym ten programator używać w eclipse w miarę komfortowo tzn. zarówno programować/odczytywać flash, fusy itd.. w trybie ISP (avrdude) oraz debuggować (AVaRice). Czy jest jakieś sprytne rozwiązanie, żeby się zbytnio nie wysilać przełączając pomiędzy ISP a debuggerem dla JTAGICE mkII?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 gru 2012, o 16:19 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Niestety nie ma :(
    trzeba podmieniać sterowniki i tyle

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 gru 2012, o 12:28 
    Offline
    Nowy

    Dołączył(a): 09 kwi 2012
    Posty: 20
    Pomógł: 0

    1. No fajnie, ale który sterownik z listy wybrać bo dla Dragona jest a dla JTAGICE mkII nie widzę? Wprawdzie sugerują żeby przejść dalej i ręcznie wpisać jakiś opis urządzenia, ale czy to będzie działać?

    2. Jak rozumiem, aby połączyć się z avarice przez usb z JTAGICE mkII i debuggować też trzeba podmienić te sterowniki?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 gru 2012, o 14:49 
    Offline
    Nowy

    Dołączył(a): 09 kwi 2012
    Posty: 20
    Pomógł: 0

    Znalazłem pewne ciekawe uzupełnienie odnośnie driverów libusb:
    http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=530927

    Z tego wynika, że są dwa typy sterowników libusb:
    1. Regular device driver - służy do komunikacji z urządzeniami, które nie posiadają zainstalowanych innych sterowników w windows - domyślnie dostarczany z WINAVR (jeśli wogóle program avrdude ma wsparcie libusb)
    2. Filter device driver - to jest sterownik filtrujący (alternatywny), który po zainstalowaniu będzie umozliwiał komunikację z urządzeniem dla którego istnieją inne sterowniki w systemie windows - tego sterownika nie ma w WINAVR standardowo

    Autorzy WINAVR wskazują dwa rozwiązania problemu z komunikacją USB:
    1. To opisane przez kolegę SunRivera z czyli ciągła ręczna podmiana sterowników pomiędzy Jungo i libusb
    2. Usunięcie regular device driver, który jest dostarczany z WINAVR i zastąpienie go wersją filter device driver

    Ciekawi mnie drugie rozwiązanie. Wprawdzie twórcy WINAVR odradzają takich sztuczek, chyba dlatego, że może to spowodować problemy w komunikacji z innymi programatorami, które są obsługiwane z regular drivera (mają zainstalowany sterownik USB - są widoczne jako COM w menadzeże zadań windowsa), ale jest to ciekawe rozwiązanie.
    Jeśli dobrze zrozumiałem to powinno to umożliwić uruchomienie JTAGICE mkII w AvrStudio i pod avrdude bez dodatkowych zmian konfiguracji.

    Zastanawiam się, czy jest możliwe stworzenie w eclipse dwóch konfiguracji w których:
    1. Korzysta ze standardowego avrdude z katalogu WINAVR - do obsługi standardowych programatorów widzianych w windowsie pod USB jako COM...
    2. Korzysta z przerobionego katalogu np. WINAVR_libusbfil (w którym podmieniono sterownik libusb) - do obsługi urządzeń (programatorów/debuggerów) nie widzianych w windowsie pod USB (ale np. jako Jungo)

    Oczywiście minusem byłaby konieczność stworzenia dwóch alternatywnych katalogów (WINAVR,WINAVR_libusbfil) i konieczność przełączania pomiędzy nimi.

    Ciekawi nie również plik install-filter.exe znajdujący się w katalogu C:/WINAVR/utils/libusb/bin, czy on nie ma coś wspólnego z tym o czym napisałem powyżej?

    Nie wiem czy dobrze to wszystko zrozumiałem, dlatego chciałbym się dowiedzieć czy moje rozumowanie jest ok?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 gru 2012, o 15:47 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    więc tak:

    install filter odnosi się do libUSB -- zawiera po prostu filtry wspomagające dla LibUSB czasem konieczne

    Nie korzystałem z drugiego rozwiązania , bowiem za dużo było kłopotów potem z uruchamianiem czegokolwiek , np siadała mi komunikacja z J-linkiem , St-linkiem i PK3

    Jest taka możliwość --- eclipse konfigurację przechowuje w WORKSPACE folder .metadata
    zawsze można mieć 2 eclipsy i odrębne workspace-y dla nich

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 gru 2012, o 19:05 
    Offline
    Nowy

    Dołączył(a): 09 kwi 2012
    Posty: 20
    Pomógł: 0

    Po wielu poszukiwaniach wreszcie się udało udostępnić JTAGICE mkII zarówno w AvrStudio jak i Eclipse bez potrzeby ręcznej zmiany sterowników;)

    Odpowiedź znalazłem tutaj:
    http://avrhelp.mcselec.com/index.html
    Trzeba wpisać libusb w search i to będzie pierwszy link zatytułowany:
    Using USB programmers in BASCOM-AVR

    Wprawdzie jest to poradnik dla użytkowników języka BASCOM ale działa pięknie;)

    W skrócie chodzi o to, że trzeba zainstalować sterownik filter driver libusb, który działa równolegle ze sterownikiem Jungo.
    Aby to zrobić trzeba:
    1. Ściągnąć i zainstalować: libusb-win32-devel-filter-1.2.6.0.exe ze strony sourceforge (koniecznie oznaczony filter)
    2. Odszukać w ProgramFiles windowsa katalog LibUSB-Win32/bin
    3. Odpalić plik install-filter-win.exe
    4. Podpiąć pod usb swój programator JTAGICE mkII/Dragon
    5. Zaakceptować, aby został stworzony alternatywny sterownik USB dla naszego programatora (istotne, że jeśli posiadamy więcej urzadzeń obsługiwanych domyślnie przez Jungo to analogicznie trzeba wykonać to dla każdego programatora)
    6. Od tej chwili urządzenie jest widziane przez avrdude zarówno z linii poleceń, jak i przez interferjs Eclipse (można dodać np Atmel JTAGICE mkII in ISP mode i programować -sprawdzone;))

    ------------------------ [ Dodano po: 6 minutach ]

    Niestety nadal nie udało mi się skonfigurować debuggera. Za każdym razem wywala taki komunikat:

    AVaRICE version 2.9, Jan 7 2010 22:42:57

    Defaulting JTAG bitrate to 250 kHz.

    JTAG config starting.
    Failed to synchronise with the JTAG ICE (is it connected and powered?)


    Coś z synchronizacją nie tak w samym avrrice ale nie wiem zbytnio o co może chodzić?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 gru 2012, o 20:48 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    coś możesz mieć z serwerem GDB debugera
    zobacz czy się odpalił w ogóle.

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 gru 2012, o 13:38 
    Offline
    Nowy

    Dołączył(a): 09 kwi 2012
    Posty: 20
    Pomógł: 0

    No są z tym problemy:

    AVaRICE version 2.9, Jan 7 2010 22:42:57

    Defaulting JTAG bitrate to 250 kHz.

    Found JTAG ICE, serno: 070000004696
    Attempting synchronisation at bitrate 19200

    command[0x01, 1]: 01
    recv: timeout

    command[0x01, 2]: 01
    recv: timeout

    command[0x01, 3]: 01
    recv: timeout
    Attempting synchronisation at bitrate 115200

    command[0x01, 1]: 01
    recv: timeout

    command[0x01, 2]: 01
    recv: timeout

    command[0x01, 3]: 01
    recv: timeout
    Attempting synchronisation at bitrate 57600

    command[0x01, 1]: 01
    recv: timeout

    command[0x01, 2]: 01
    recv: timeout

    command[0x01, 3]: 01
    recv: timeout
    Attempting synchronisation at bitrate 38400

    command[0x01, 1]: 01
    recv: timeout

    command[0x01, 2]: 01
    recv: timeout

    command[0x01, 3]: 01
    recv: timeout
    Attempting synchronisation at bitrate 9600

    command[0x01, 1]: 01
    recv: timeout

    command[0x01, 2]: 01
    recv: timeout

    command[0x01, 3]: 01
    recv: timeout
    JTAG config starting.
    Failed to synchronise with the JTAG ICE (is it connected and powered?)


    Coś takiego się pojawia nie wiem co może być przyczyną czemu się nie synchronizuje skoro urządzenie zostało wykryte?
    Dodam, że układ połączeń jest raczej ok bo w AtmelStudio 6.0 łączy się przez Jtag i wykrywa mikrokontroler bez zarzutu.
    Ustawienia procka: JTAGEN - ustawiony OCDEN - nie ustawiony Czy to może mieć znaczenie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 gru 2012, o 15:13 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    czyli serwer DBG się nie odpalił masz wykryte , ale bez ciągłości , spróbuj na innych sterownikach
    np pod lib USB

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO