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



Teraz jest 22 gru 2024, o 13:37


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
Avatar użytkownika

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

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: 27319
Lokalizacja: Szczecin
Pomógł: 1041

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
Avatar użytkownika

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

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
Avatar użytkownika

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

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
Avatar użytkownika

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

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
Avatar użytkownika

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

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