Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięAVT581-JTAG dla AVRów
Moderatorzy:Jacek Bogusz, Grzegorz Becker, procesorowiec, robertw, Moderatorzy
Przepraszam za opóźnienie w odpowiedzi, ale praca nie pozwala mi oglądać postów na bieżąco.
Niestety, DebugWire pracuje jedynie z JTAGmkII, a ze zwykłym JTAGICE ta opcja nie współpracuje. Jeśli macie protokoły transmisji JTAGmkII to mogę pomyśleć nad zrobieniem takiego interfejsu. Pewnym problemem jest współpraca tego urządzenia przez USB, ale i po RS232 powinno ono działać poprawnie.
W obecnej chwili robię inne urządzenie do AVRów. Jak skończę z powodzeniem to pochwalę się w EP. Myślę, że potencjalni uzytkownicy będą bardzo zadowoleni. Trochę to jednak jeszcze potrwa.
Pozdrawiam.
[ Dodano: 22-02-2005, 13:37 ]
Uprzejmie informuję, że zaprojektowany przeze mnie interfejs JTAGICE współpracuje również z nową wersją AVR Studio 4.11. Nie jest to jednak efekt "zalet" boot strap loadera, a jedynie tego, że w tej wersji AVR Studio "wsad" interfejsu nie został zmodyfikowany.
Biorąc pod uwagę, że producent oryginalnego interfejsu JTAGICE uznał go jako produkt przestarzały (mature product) należy spodziewać się, że "wsad" nie będzie już więcej udoskonalany. Oznaczałoby to, że wersja 0x7e "wsadu" będzie ostatnią jaka została udostępniona przez Atmela. Jednak dopóki kolejne wersje AVR Studio będą pozwalały na współpracę z JTAGICE (wzorem programatora AVR Prog może potrwać to kilka lat) to stale będzie można posługiwać się tym interfejsem. Tyle tylko, że nie będzie on mógł obsłużyć nowych procesorów AVR pojawiających się na rynku.
Mam nadzieję, że ewentualny niedosyt objawi się tym, że ktoś ...obudzi się rano i poczuje nieprzepartą chęć posiadania interfejsu JTAGmkII... Ten KTOŚ oprócz skonstruowania i opublikowania takiego urządzenia będzie musiał pogodzić się z faktem, że najdalej dwa miesiące później większość polskich firm potraktuje ten pomysł jako swój własny i będzie produkować taki interfejs. A przecież wystarczyłoby chociażby tylko w polskojęzycznym (internetowym) opisie urządzenia powołać się na źródło inspiracji jednocześnie promując polskie czasopismo. Zdaje się, że do menedżerów polskich firm zupełnie nie dociera to, iż może tak zdarzyć się, że nie będzie ani czego ani skąd zżynać, a cały asortyment produktów firma będzie musiała wytworzyć we własnym zakresie. Wobec łatwości zakupów "na odległość" małe polskie firmy (mające dodatkowo niewiele do zaoferowania) po prostu polegną.
Pozdrawiam.
Niestety, DebugWire pracuje jedynie z JTAGmkII, a ze zwykłym JTAGICE ta opcja nie współpracuje. Jeśli macie protokoły transmisji JTAGmkII to mogę pomyśleć nad zrobieniem takiego interfejsu. Pewnym problemem jest współpraca tego urządzenia przez USB, ale i po RS232 powinno ono działać poprawnie.
W obecnej chwili robię inne urządzenie do AVRów. Jak skończę z powodzeniem to pochwalę się w EP. Myślę, że potencjalni uzytkownicy będą bardzo zadowoleni. Trochę to jednak jeszcze potrwa.
Pozdrawiam.
[ Dodano: 22-02-2005, 13:37 ]
Uprzejmie informuję, że zaprojektowany przeze mnie interfejs JTAGICE współpracuje również z nową wersją AVR Studio 4.11. Nie jest to jednak efekt "zalet" boot strap loadera, a jedynie tego, że w tej wersji AVR Studio "wsad" interfejsu nie został zmodyfikowany.
Biorąc pod uwagę, że producent oryginalnego interfejsu JTAGICE uznał go jako produkt przestarzały (mature product) należy spodziewać się, że "wsad" nie będzie już więcej udoskonalany. Oznaczałoby to, że wersja 0x7e "wsadu" będzie ostatnią jaka została udostępniona przez Atmela. Jednak dopóki kolejne wersje AVR Studio będą pozwalały na współpracę z JTAGICE (wzorem programatora AVR Prog może potrwać to kilka lat) to stale będzie można posługiwać się tym interfejsem. Tyle tylko, że nie będzie on mógł obsłużyć nowych procesorów AVR pojawiających się na rynku.
Mam nadzieję, że ewentualny niedosyt objawi się tym, że ktoś ...obudzi się rano i poczuje nieprzepartą chęć posiadania interfejsu JTAGmkII... Ten KTOŚ oprócz skonstruowania i opublikowania takiego urządzenia będzie musiał pogodzić się z faktem, że najdalej dwa miesiące później większość polskich firm potraktuje ten pomysł jako swój własny i będzie produkować taki interfejs. A przecież wystarczyłoby chociażby tylko w polskojęzycznym (internetowym) opisie urządzenia powołać się na źródło inspiracji jednocześnie promując polskie czasopismo. Zdaje się, że do menedżerów polskich firm zupełnie nie dociera to, iż może tak zdarzyć się, że nie będzie ani czego ani skąd zżynać, a cały asortyment produktów firma będzie musiała wytworzyć we własnym zakresie. Wobec łatwości zakupów "na odległość" małe polskie firmy (mające dodatkowo niewiele do zaoferowania) po prostu polegną.
Pozdrawiam.
Ja używam wersji 2.06c PonyProg (pod Windows). Obsługuje ona również ATmega16. Niestety wersja ta nie jest już dostępna na stronie http://www.lancos.com/ppwin95.html. Spróbuj użyć którejś ze starszych wersji. Wszystkie ze znanych mi starych wersji PonyProg miały w swoim menu ten procesor. Jeśli będziesz miał kłopot to napisz na mój adres e-mailowy to prześlę Ci wersję 2.06c.
Pozdrawiam.
Pozdrawiam.
W jaki m celu uaktualnianie/wprowadzenie wsadu? Jaki ma on zwiazek z porgramem bsl?
Czy jest możliwość aby ten jtag współpracował z programem iar? Jeśli tak, to jakie modyfikacje należałoby wprowadzić (bo zakładam że jtag współpracuje z winavr)
EDIT: Zauważyłem jedną rzecz - złacze do kabla null-modem jest odwrócone! tzn pin 5 wisi w powietrzu natomiast 1 podłączony jest na masę to samo dotyczy innych pinów. Zamieniony jest 1na5, 2-4 7-8, 6-9. Trzeba przelutować wszystkie kabelki w złączu?
Czy jest możliwość aby ten jtag współpracował z programem iar? Jeśli tak, to jakie modyfikacje należałoby wprowadzić (bo zakładam że jtag współpracuje z winavr)
EDIT: Zauważyłem jedną rzecz - złacze do kabla null-modem jest odwrócone! tzn pin 5 wisi w powietrzu natomiast 1 podłączony jest na masę to samo dotyczy innych pinów. Zamieniony jest 1na5, 2-4 7-8, 6-9. Trzeba przelutować wszystkie kabelki w złączu?
Ta kwestia jest opisana w artykule EP 06/2004. Uaktualnienie wsadu dotyczy współpracy JTAGa z AVR Studio gdy zmienia się wersja wsadu wraz ze zmianą wersji AVR Studio.W jaki m celu uaktualnianie/wprowadzenie wsadu? Jaki ma on zwiazek z porgramem bsl?
Czy jest możliwość aby ten jtag współpracował z programem iar? Jeśli tak, to jakie modyfikacje należałoby wprowadzić (bo zakładam że jtag współpracuje z winavr)
Definicja kabla null-modem jest jednoznacznie opisana w Helpach Windowsów. Gniazda użyte w interfejsie JTAG (vide opis w artykule) są zgodne z tą definicją. Nie ma zatem konieczności przelutowywania jakichkolwiek połączeń w kablu null-modem.EDIT: Zauważyłem jedną rzecz - złacze do kabla null-modem jest odwrócone! tzn pin 5 wisi w powietrzu natomiast 1 podłączony jest na masę to samo dotyczy innych pinów. Zamieniony jest 1na5, 2-4 7-8, 6-9. Trzeba przelutować wszystkie kabelki w złączu?
Pozdrawiam.
Pytania są z serii pytań trywialnych. Bowiem wsad ładowany jest z fabrycznego programu Atmela AVR Studio i jest wsadem fabrycznym służącym do obsługi fabrycznego interfejsu JTAGICE (również Atmela). Zatem pokazany w publikacji interfejs JTAG powinien współpracować poprawnie z każdym pakietem oprogramowania (bez względu na język programowania) obsługującym fabryczny interfejs JTAGICE (Atmel).Co z debugowaniem programów pisanych w języku C ? Czy JTAG służy jedynie do pracy z asemblerem w avr studio?
Informacja dotycząca współpracy pakietu z fabrycznym interfejsem JTAGICE powinna być podana w opisie pakietu. Nic dodać nic ująć.
Pozdrawiam.
AVT-581 po prostu pracuje - chwała autorowi !.
Używam go z AVR Studio w. 4.11 z wsadem od 4.10. Przy zmianie wersji na 4.11 nie zmieniono pliku wsadu.
Programy w języku C opracowuję w WinAVR, przy czym wykonywana jest po poprawnej kompilacji automatycznie konwersja z .elf na .cof. Dopiero wtedy można prowadzić debugowanie w języku C w AVR Studio (dla plików .elf nie udało mi się tego zrobić, ustawia się tylko w asemblerze). Jednak jeśli kompilowane są pliki z dyrektywani include dla włączenia plików w C, to przy debugowaniu w AVR Studio przełącza się ono do okienka disasemblera - dość to denerwujące. Rozwiązaniem jest wstawienie wszystkiego do pojedyńczego pliku, wtedy wszystko jest OK, albo przeskakiwanie całej funkcji i wchodzenie do wnętrz funkcji tylko w pliku głównym. Oczywiście nie warto wtedy wstawiać plików .h zawierających tylko definicje.
Po kolejnej kompilacji od razu była sygnalizowana w AVR Studio zmiana pliku wynikowego i była wczytywana do AVRS i do procesora nowa wersja.
No prawie wszystko, bo jeśli rzeczywisty układ generuje czasowe przerwania, np. od zegara co 1 sek, to praktycznie debuging sprowadza się do obserwacji kilku funkcji. Podobnie przy np. odbiorze z RS, jak idzie paczka bajtów, to nie wolno debugować po instrukcji, bo zgubi się transmisję. Ale to przecież prawidłowe.
Dalej, bez problemów można wstawić kilka pułapek, jeśli jest ich dużo, rzędu 10-u to system mi głupiał.
Oczywiście należy pamiętać o ustawieniu bezpieczników (fuse) do pracy z JTAG. Wówczas zajmuje on odpowiednie piny procesora.
Ostatni problem jaki natrafiłem, to AVR Studio nie wczytywał mi zawartośći pamięci EEPROM. Zawsze na starcie ustawiał wartość odczytanej komórki na 0xFF, mimo, że była prawidłowo zapisana. Dopiero po programowym zapisie komórki wyświetlał zapisaną wartość. W rzeczywistych warunkach pracy odczyt był prawidłowy. Dlaczego tak jest jeszcze nie stwierdziłem.
Działałem na AVRmega 16 i 32.
AVT-581 - TO NAPRAWDĘ DZIAŁA !
Pozdrowienia
jpol
Używam go z AVR Studio w. 4.11 z wsadem od 4.10. Przy zmianie wersji na 4.11 nie zmieniono pliku wsadu.
Programy w języku C opracowuję w WinAVR, przy czym wykonywana jest po poprawnej kompilacji automatycznie konwersja z .elf na .cof. Dopiero wtedy można prowadzić debugowanie w języku C w AVR Studio (dla plików .elf nie udało mi się tego zrobić, ustawia się tylko w asemblerze). Jednak jeśli kompilowane są pliki z dyrektywani include dla włączenia plików w C, to przy debugowaniu w AVR Studio przełącza się ono do okienka disasemblera - dość to denerwujące. Rozwiązaniem jest wstawienie wszystkiego do pojedyńczego pliku, wtedy wszystko jest OK, albo przeskakiwanie całej funkcji i wchodzenie do wnętrz funkcji tylko w pliku głównym. Oczywiście nie warto wtedy wstawiać plików .h zawierających tylko definicje.
Po kolejnej kompilacji od razu była sygnalizowana w AVR Studio zmiana pliku wynikowego i była wczytywana do AVRS i do procesora nowa wersja.
No prawie wszystko, bo jeśli rzeczywisty układ generuje czasowe przerwania, np. od zegara co 1 sek, to praktycznie debuging sprowadza się do obserwacji kilku funkcji. Podobnie przy np. odbiorze z RS, jak idzie paczka bajtów, to nie wolno debugować po instrukcji, bo zgubi się transmisję. Ale to przecież prawidłowe.
Dalej, bez problemów można wstawić kilka pułapek, jeśli jest ich dużo, rzędu 10-u to system mi głupiał.
Oczywiście należy pamiętać o ustawieniu bezpieczników (fuse) do pracy z JTAG. Wówczas zajmuje on odpowiednie piny procesora.
Ostatni problem jaki natrafiłem, to AVR Studio nie wczytywał mi zawartośći pamięci EEPROM. Zawsze na starcie ustawiał wartość odczytanej komórki na 0xFF, mimo, że była prawidłowo zapisana. Dopiero po programowym zapisie komórki wyświetlał zapisaną wartość. W rzeczywistych warunkach pracy odczyt był prawidłowy. Dlaczego tak jest jeszcze nie stwierdziłem.
Działałem na AVRmega 16 i 32.
AVT-581 - TO NAPRAWDĘ DZIAŁA !
Pozdrowienia
jpol
Chwała chwałą, ale czasem przydałoby się parę groszy na piwo ....
Ale na poważnie. Prawdę powiedziawszy to fabryczny "wsad" Atmela jest zdecydowanie za drogi jak na liczbę niedoróbek znajdujących się w nim (fabryczny JTAGICE kosztował ponad 1600 PLN). Dlatego też zdecydowałem się zrobić sobie taki interfejs prawie samodzielnie korzystając jedynie z licznych dobrodziejstw AVR Studio.
Z mojego punktu widzenia najbardziej uciążliwymi są niedoróbki związane z "padami" interfejsu gdy w emulowanym układzie wymuszane są hardwareowe przerwania. Nie mam jednak ochoty samodzielnie pisać wsadu i dlatego cały czas uczę się z tym żyć.
Jestem ogromnie wdzięczny za uwagi dotyczące współpracy JTAGa z innymi pakietami (innymi niż AVR Studio). Mam nadzieję, że przydadzą się one coraz liczniejszemu gronu użytkowników tegoż interfejsu.
Pozdrawiam.
[ Dodano: 23-08-2005, 12:55 ]
Uprzejmie informuję, że zaprojektowany przeze mnie interfejs JTAGICE współpracuje poprawnie z kolejną nową (maj 2005) wersją AVR Studio (wersja 4.11 build 410 z Service Pack'iem 3). Nowa wersja "wsadu" nosi numer 0x7f.
Pozdrawiam.
Ale na poważnie. Prawdę powiedziawszy to fabryczny "wsad" Atmela jest zdecydowanie za drogi jak na liczbę niedoróbek znajdujących się w nim (fabryczny JTAGICE kosztował ponad 1600 PLN). Dlatego też zdecydowałem się zrobić sobie taki interfejs prawie samodzielnie korzystając jedynie z licznych dobrodziejstw AVR Studio.
Z mojego punktu widzenia najbardziej uciążliwymi są niedoróbki związane z "padami" interfejsu gdy w emulowanym układzie wymuszane są hardwareowe przerwania. Nie mam jednak ochoty samodzielnie pisać wsadu i dlatego cały czas uczę się z tym żyć.
Jestem ogromnie wdzięczny za uwagi dotyczące współpracy JTAGa z innymi pakietami (innymi niż AVR Studio). Mam nadzieję, że przydadzą się one coraz liczniejszemu gronu użytkowników tegoż interfejsu.
Pozdrawiam.
[ Dodano: 23-08-2005, 12:55 ]
Uprzejmie informuję, że zaprojektowany przeze mnie interfejs JTAGICE współpracuje poprawnie z kolejną nową (maj 2005) wersją AVR Studio (wersja 4.11 build 410 z Service Pack'iem 3). Nowa wersja "wsadu" nosi numer 0x7f.
Pozdrawiam.
- rezasurmar
- -
- Posty:165
- Rejestracja:19 sie 2008, o 14:24
- Lokalizacja:Tychy
- Kontaktowanie:
Witam, mam prośbę, czy da się tego Jtaga zrobić na procesorze 8535, bo mam akurat takiego na zbyciu, widziałem podobny projekt Jtaga tylko z dodatkowym prockiem atiny jako bootloaderem własnie na 8535. Koniecznie musi być atmega16 ??, mam tylko jedną i trochę mi jej szkoda:). Co trzeba zmienić w pliku asm, by dało się wsadzić 8535. Po za oczywistą oczywistością jaką jest def8535.inc
Prosta zamiana procków jest niemożliwa, bowiem w ATmega 16 można umieścić BSL (boot strap loader) w "górnej" części Flash'a, a w AT90S8535 nie da się tego zrobić. Potencjalnie jest to możliwe w ATmega 8535 (ma on możliwość umieszczenia BSL). Jednak "objętość" kodu JTAGa stanowi prawie 8kB. Zatem ładując kod z AVR Studio zatarciu uległby program BSL (wylistowany w artykule). Powyższe stanowi wytłumaczenie faktu, dla którego Atmel "dokładał" programator JTAGa na procesorze AT90S1200 zamiast zastosować prostsze rozwiązanie z programem BSL.... czy da się tego Jtaga zrobić na procesorze 8535 ...?
A tak na marginesie to warto zauważyć, że od czasu stworzenia mojego układu minęło blisko 6 lat. Atmel zmienił nieco swoją politykę cenową dotyczącą sprzdaży podstawowego hardware'u. W obecnej chwili jest słabo opłacalne składanie kitu AVR581 bowiem jego sumaryczny koszt jest niewiele niższy od ceny gotowego układu AVRDRAGON (możliwości AVR"SMOKA" są również dużo większe). Cóż, te sześć lat temu AVRJTAG kosztował około 1600 PLN, a budowa kitu około 135 PLN. Z dużą przyjemnością stwierdzam, że "zwalenie" cen podstawowego hardware'u Atmela odbyło się również z moim udziałem.
Pozdrawiam.
- rezasurmar
- -
- Posty:165
- Rejestracja:19 sie 2008, o 14:24
- Lokalizacja:Tychy
- Kontaktowanie:
Dzięki za info. Płytke kupiłem już jakiś czas temu. Chodziło mi oczywiscie o atmega8535. Zdobyłem za darmo atmega16, lecz chciałem ją wykożystać do czegoś innego. Trudno jak się nie da to nic nie poradzę.
Dragona nie chciałem, bo mam już 2 programatory ISP no i teraz Jtaga, więc szkoda by mi było kasy na dragona. Teraz i tak myślę o przejściu na nowe ARMy Cortexy albo coś w tym stylu.
Dragona nie chciałem, bo mam już 2 programatory ISP no i teraz Jtaga, więc szkoda by mi było kasy na dragona. Teraz i tak myślę o przejściu na nowe ARMy Cortexy albo coś w tym stylu.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości