Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Programator STK500 USBasp i brak komunikacji z AVRStudio

yburg 18 Aug 2010 11:25 7480 15
  • #1
    yburg
    Level 9  
    Witam, posiadam programator STK500 typu USBasp taki, jak na tym zdjęciu:

    Programator ISP AVR USB STK500

    Mam problem z podłączeniem go do AVRStudio (v4.18) pod systemem Windows 7 :/ Problem polega na tym, iż jest to programator pod USB (wszystkie znalezione przeze mnie tematy na forum dotyczące problemów z połączeniem STK500 traktowały o zestawie podłączanym na RS232) - a w dialogu połączenia z programatorem przy wyborze STK500 NIE MA w ogóle możliwości wybrania portu USB, jedynie COM'y... Przy wyborze trybu AUTO również efekt jest taki sam - Connection Faild :/

    Czy ma ktoś może pomysł jak podłączyć to ustrojstwo? :( Bo wydałem troche kasy na ten programator (specjalnie kupowany na USB, bo korzystam z laptopa i nie mam LPT), skonstruowałem sam płytkę i teraz ot - wszystko na marne? :( A może ma ktoś podobny programator...? Z góry dziękuję za wszelkie rady...
  • #2
    kondziom
    Level 13  
    Z tego co wiem to usbasp i STK500 to są 2 całkiem różne programatory i usbasp współpracuje z avrdude. To w końcu kupiłeś ten programator czy go zrobiłeś sam?
  • #3
    yburg
    Level 9  
    W sumie racja, było powiedziane iż jest to "programator ISP typu USBasp" - zmyliło mnie to, że system go wykrył pod nazwą "usbasp"... A programator oczywiście kupiłem, sam zmontowałem płytkę uruchomieniową pod mikrokontroler.

    Wracając jednak do tematu - nikt nie ma żadnych pomysłów? :| Zauważyłem, że po instalacji sterownika przy uruchamianiu AVRStudio wyskakuje komunikat "Loaded plugin STK500" - wciąż nie ma jednak opcji połączenia się z tym programatorem via USB... :cry:
  • #4
    kondziom
    Level 13  
    Bo przez AVRStudio nie obsłużysz tego programatora. Musisz sobie po prostu skompilować program pod AVRStudio a następnie plik HEX wgrać do mikrokontrolera za pomocą avrdude lub innego programu. Ja np używam eXtreme Burner - AVR.
  • #5
    csdominik
    Level 11  
    Tak jak napisał Kondzion USBASP nie działa pod AVRStudio. Znaczy można go niby zdefiniować - ale trzeba ręcznie wybierać hex do zaprogramowania. Ja też mam STK500 i USBasp, niedawno je konfigurowałem więc z moich porad :
    1) jeśli masz USBasp - to klikając START -> urządzenia i drukarki , zobaczysz jako nieokreślone "usbasp". Jeśli wetkniesz STK500 to też zależy w jakiej konfiguracji czy HID ( wtedy powinien sam się zainstalować i byc widoczny jako avrdoper) bądz jako wirtualny port LPT, i wtedy jakoś tam inaczej będzie widoczny prawdopodobnie jako Virtual Seria Communication czy coś w tym stylu.
    2) Jeśli masz windows7 x64 to trzeba przestawić coś w biosie - problem dotyczy cyfrowego podpisywania sterowników. Rozwiązanie znajdziesz na tym forum.
    https://www.elektroda.pl/rtvforum/topic1329045.html
    3)Jeśli używasz USBasp to polecam Ci WinAVR, można tam ustawić sobie programowanie na przycisku (np. F4), tak samo make program itp. jeśli miałbyś z tym problem to napisz mi PW, wyślę instrukcję (ale jestem w domu jeszcze dzis i jutro 19-20 sierpień)
    4)Na początek proponuje taki test - podepnij USBasp do komputera i do układu, ściągnij i uruchom program KHAZAMA, kliknij Command i potem READ CHIP SIGNATURE. Jest to najlepszy sposób na sprawdzenie czy komunikacja programator - płytka jest ok, i czy AVR nie jest zablokowany.
    Jeśli używasz STK500 i AVRStudio to spróbuj zainstalować sobie setrowniki które nazywają sie "Drivers Vista" zaraz dam link do downloadu.
    5) Może być też taki przypadek - że będziesz potrzebował sterowników dla USB , nazywają się chyba Win32 lib. Ale nie jestem tego pewny. Musisz z nimi uważać, bo czasami potrafią wyłączyć wszystkie porty USB, i gdybym nie miał klawiatury na PS2 to było by pozamiatane.
  • #6
    yburg
    Level 9  
    Właśnie też się doczytałem gdzieś, że USBasp nie zadziała w AVRStudio :( W każdym razie jest tak jak piszesz csdominik - urządzenie jest widoczne jako USBasp pod kategorią "Nieokreślone" w panelu "Urządzenia i drukarki" - ale niewiele to zmienia :| Korzystam z Windows 7 Home Premium x64 (sterowniki już zainstalowałem wcześniej tak jak gdzieś tam na forum pisali) i problem jest wciąż z tym, że komputer w ogóle nie komunikuje się z programatorem (a co dopiero odczytywanie czegoś z AVR'a :| ). Próbowałem w AVRdude - niestety tutaj też jest wyłącznie opcja komunikacji przez LPT lub COM, choć nie wiem jak te COM'y są interpretowane... W każdym razie na żadnym nie wykrywa programatora - na jednym odmowa dostępu, na dwóch błąd: "stk500_getsync(): not in sync: resp=0x7e", na pozostałych "ser_open(): can't open device" :( :( Ten programik co sugerowałeś też ściągnąłem ale tak jak mówiłem - w ogóle nie załapuje programator, więc kiszka z tego wyszła...

    Jeżeli chodzi o sterowniki pod Viste, to w ogóle nie załapują :( System nie widzi w tym folderze oprogramowania dla programatora - wszystko przez to że jest to NIBY stk500, ale działający jako USBasp... Sam teraz nie wiem co to za kaszana, ale na pewno nigdy więcej takiego programatora nie kupie :|

    Co zaś do sterów Win32 - nie wiem czy one by coś właśnie nie pomogłyby, bo po zainstalowaniu sterowników programator widnieje w menedżerze urządzeń w kategorii "LibUSB-Win32 Devices" jako USBasp... Postaram się coś poszperać w ich temacie i zobaczymy co to da... :(
  • #7
    kondziom
    Level 13  
    Udało Ci się zainstalować niepodpisany sterownik pod 64 bitowym systemem? A nie ma czasem przy tym urządzeniu wykrzyknika w menadżerze? Z tego co wiem to w Viście i 7 x64 trzeba włączyć tryb testowy aby zainstalować niepodpisany sterownik. Ja mam win7 32 bitowy i ten programator działa bez zarzutu. Spróbuj może w celu testów zainstalować XP i zobaczysz czy pójdzie.
  • Helpful post
    #8
    csdominik
    Level 11  
    Jeśli programator widnieje w menadżerze urządzeń jako LIBUSB-Win32 Devices -> USBasp, i nie ma tam żółtego znaku ostrzegawczego. To teoretycznie jest poprawnie wykrywany przez system operacyjny. Załóżmy ze to USBasp. Jeśli chodzi o sterowniki to te Drivers-Vista są pod STK500. Dla USBasp ja mam inne. (Tutaj załącznik + instrukcja którą znalazłem - Pana Tomasza Ostrowkiego, może okaże się pomocna). Z Khazama polecam korzystać na początku, ponieważ szybko da się przeprowadzić "read signature" - oraz nie trzeba mu definiować ścieżek AVRdude czy innych programów (a w tym momencie też może być problem - np. jak są spacje w nazwach folderów). Później już według uznania, ja korzystam z WinAVR.
    Jeśli chodzi o hardware :
    Kiedy uda Ci sie połączyć i będzie wyskakiwał błąd "rc=-1" to chodzi o złe podłaczenie uC.
    Zerknij na ustawienia zworek - o ile masz jakiś manual. Możliwe ze masz programator który za pomocą 1-2 zworek można zmieniać pomiedzy USBasp a STK500 - chociaż tutaj podkreślę że takiego nie widziałem.
    Dla pewności, jeśli masz taką możliwość to zasilaj układ z z "zewnątrz" a nie z programatora.

    Ostatecznie, widziałem że raz otrzymałeś resp=0x7e, nie znam kontekstu - ale można z tego wywnioskować że jakaś komunikacja jest, ponieważ nie odbiera (jak np. u mnie na początku) samych jedynek czyli 0xFF. Wnioskuję że błąd może być prostszy - ale przez to trudniejszy do wykrycia. Dla pewności zamieszczam zdjęcie ustawień mojego AVRdude z nakładką BURN-O-MAT, ustawiony jest na USBasp (zobacz koniecznie port!) i w takiej konfiguracji u mnie działa. Jeśli to nie to, to niestety ja nie wiem jak inaczej pomóc. Musisz nawiązać kontakt mailowy ze sprzedawcą - i dopytać go o proces instalacji - zworki itd.
    Powodzenia!
    Programator STK500 USBasp i brak komunikacji z AVRStudio
  • #9
    yburg
    Level 9  
    kondziom faktycznie sterowniki instalowałem tak jak piszesz, tj. w trybie wyłączonego wymuszania podpisów cyfrowych :)

    csdominik wielkie dzięki za te stery :D Nareszcie osiągnąłem przełom w dziedzinie komunikacji z programatorem :P Mianowicie są na nim dwie diody LED - czerwona i zielona. Ta pierwsza pali się cały czas, kiedy programator jest wpięty w USB (zasilanie?), natomiast druga jak dotąd nigdy - a teraz przy wywoływaniu poleceń via AVRdude diodka mryga na moment :D Użycie GUI pozwala mi przechwycić błąd, w którym faktycznie występuje "rc=-1" :) To by oznaczało, że sam programator już działa... no i teraz zaczyna się nowy problem - dlaczego nie działa uC :( W każdym razie posprawdzam wszystkie podłączenia jeszcze raz ze schematami i wyprowadzeniami pinów i zobaczę, czy wszystko jest w porząsiu... Jeszcze raz wielkie dzięki za pomoc :D
  • #10
    kondziom
    Level 13  
    Nowy mikrokontroler pracuje domyślnie z wewnętrznym generatorem zegara dużo wolniejszym. Trzeba uruchomić programowanie w trybie slow sck. W usbasp jest to specjalna zworka do tego i chyba w nowszej wersji firmware wprowadzili specjalną komendę włączającą ten tryb. Na pewno to chodzi o to. Gdy programator złapie komunikację z uC trzeba przestawić fusy na zewnętrzny kwarc i wyłączyć tryb slow sck (zworka).
  • #11
    yburg
    Level 9  
    Hmm ale po co w ogóle przestawiać uC na zewnętrzny kwarc? Ten wbudowany w Atmege8 może pracować chyba do 8MHz co mi w zupełności wystarcza (pomijając już fakt, że nie posiadam zewnętrznego kwarcu), a łatwo można tylko zablokować sobie tak kontroler...? Co zaś do programatora, z dokumentacji wynika że jest tylko jedna zworka odpowiadająca za częstotliwość pracy:
    Quote:
    Pierwsza zwora (piny 1-2, pin 1 jest oznaczony przez '1') służy do wyboru prędkości programowania, zwarcie oznacza programowanie układów taktowanych zegarem < 1.5 MHz, rozwarcie oznacza pracę z pełną prędkością.

    Zatem przy rozwarciu (a tak teraz mam skonfigurowane) powinno hulać... A o dodatkowej komendzie nic w dokumentacji nie ma... :|
  • #12
    kondziom
    Level 13  
    Jeśli chodzi o Atmegę 8 domyślnie pracuje przy 1MHz bo zegar jest dzielony na 8. Wiem co mówię, pierwsze programowanie na takiej atmedze musiałem przeprowadzić przy zwartej zworce.
  • #13
    yburg
    Level 9  
    A no to faktycznie zmienia postać rzeczy... :) Wobec tego będę próbował na zwartej zworze, ale to jak... naprawi mi się połączenie oO Bo wczoraj tak jak pisałem - dostawałem błąd z tym "rc=-1" a dziś już klapa (a w zasadzie nic nie zmieniałem): "could not find SSB device "USBasp" with vid=0x16c0 pid=0x5dc"... 8-O Masakra z tym sprzętem :( Spróbuje zaraz przeinstalować stery, jakkolwiek wątpię że to coś da :|

    Edit:
    O dziwo reinstalka sterów podziałała :P Jakkolwiek częściowo :| Wróciłem do będu inicjalizacji - "target doesn't answer" :( Zworka oczywiście już teraz zwarta, dodatkowo zwarta zworka do zasilania układu z programatora (układ ma własne zasilanie - 3.75V zmierzone przed momentem - ale wymaga tego optoizolator wpięty "pomiędzy") i dalej klapa :( Powoli zaczyna mi brakować nadziei względem tego programatora... :( :P
  • #14
    fifiz007
    Level 1  
    I co udało Ci się w końcu połączyć w jakiś sposób ten programator z avrstudio? Bo mój programator działa, ale za nic nie mogę połączyć :( też mam windowsa 7 64-bit
    Pomocy proszę :)
  • #15
    kondziom
    Level 13  
    Ja używam codeblocka i jego da się ładnie połączyć z programatorem. Programujesz jednym kliknięciem. W sumie w avrstudio też jest podobna opcja ale musisz z każdym nowym projektem ustawiać to na nowo. Uważam że codeblock jest dużo lepszy od AVRStudio tylko nie działa debugger. Jeśli jesteś zainteresowany ustawieniem codeblocka do programowania to się odezwij to pomogę.