Atmega - debugowanie przez ISP

Sep 18, 2007 8 Replies
Jump to replies (8)

Czy jest jakaś gotowe narzędzie do debugowania programu działającego na mikrokontrolerze Atmega, za pomocą kabelka ISP podłączonego do LPT?



Kabelek łączy jakieś tam piny portu LPT z pinami 5,6,7 portu B procka, więc bez problemu powinno się udać nawiązać komunikacje, skoro programator ISP daje radę.



Chodzi mi jednak o jakieś bardziej cywilizowane narzędzie które na tych trzech pinach zaimplementuje jakąś zorganizowaną transmisję w stronę komputera i aplikację która na komputerze odbierze te dane. Gdyby dane można było wysyłać chociaż bajtami, a program zapewniałby synchronizację i transmisję, to już by była pełnia szczęścia :) Pędzić za bardzo to nie musi.



Samemu to będzie trochę pisania, google nie wykazały nic specjalnego, ale może znacie jakieś gotowe narzędzie?


U¿ytkownik "Tomasz Pyra" snipped-for-privacy@spam.spam.spam> napisa³ w wiadomo¶ci news:fcp09a$8nd$ snipped-for-privacy@atlantis.news.tpi.pl...

Na ISP nie znam. Procek,o ile wiem, nie ma mozliwosci debugowania przez ISP

Na pewno jest JTAG, ktory wspolpracuje z AVRStudio.

Tomasz Pyra pisze:

Ale żeś się uparł, jest cały wybór debugowania atmegi, ale akurat nie po ISP/SPI. Tzn można po złączu SPI (a w zasadzie po sygnale reset na tym złączu) programatorem klasy JtagICE-mk2 (z debugwire), można po JTAGu, ale nie z lpt... I do tego są już narzędzia programowe (darmowe choćby avrstudio) i narzedzia sprzetowe wbudowane w rdzeń procesora. Nie trzeba modyfikować softu, nie trzeba niczego ruszać - tylko podłączyć i debugować...

BartekK pisze:

Hmm... troszkę źle się wyraziłem. Nie chodzi mi o debugowanie samego procka w takim wydaniu jak JTAG, a tylko o to, żeby pewne dane z wewnątrz programu przesyłać do komputera. Chodzi bardziej o tworzenie "loga", a nie debugowanie z breakpointami, podglądem rejestrów itp. W procku obrabiam pewne często zmieniające się dane, a działa to nie tak jakbym się spodziewał. Chcę te dane zrzucać w czasie rzeczywistym na komputer i potem obejrzeć. Próbowałem je zapisywać w EPROMie, ale tej pamięci jest bardzo mało i mieści mi się bardzo mało tych danych.

Nie chcę debugować za pomocą interfejsu ISP, a jedynie za pomocą pinów

5,6,7 portu B przesyłać dane. A dlatego właśnie te, bo mam kabelek ISP, a działa on na tych samych nóżkach procesora co port B i mam wyprowadzenia w układzie, które łączą te piny z portem LPT więc całość nie wymaga żadnego nakładu hardwarowego.

Napisałem sobie prosty program który steruje stanami tych pinów portu B i program na komputerze który te stany odbiera... Wszystko cacy, potrzebuję teraz tylko jakiejś implementacji transmisji z sensowną prędkością.

Rozwiązanie z użyciem kabelka ISP wydaje mi się najprostsze i dlatego liczę że ktoś na to już wpadł, oprogramował i nie ma sensu żebym wyważał otwarte drzwi.

Raven pisze:

Ogólnie pewnie tak, ale w moim przypadku nie - po prostu mam już wszystko zmontowane, mam kabelek LPT i przebudowywanie tego teraz, to by było więcej pracy. A da się robić transmisję szeregową po LPT, chociażby tak jak ispprog programuje flasha za pomocą ISP.

to wykorzystaj SPI oprogramuj jedno i dugie aby komunikowalo sie po SPI i po problemie

Tomasz Pyra napisał(a):

może to?

formatting link

Raven pisze:

Mogą być problemy bo w standardowym kabelku LPT ISP wiele sygnałów idzie z komputera do mikrokontrolera (RESET, SCK, MOSI) a tylko jeden spowrotem (MISO). W uC port SPI musiałby działać w trybie SLAVE ale co wtedy z Chip Selectem?

Proponuję zamiast kabelka LPT ISP dołączyć do uC do złącza programującego (gdzie są obecne sygnały SCK, MOSI itd) układ UART z interfejsem SPI, na przykład MAX3100. A potem już zwykłym RS232 przesyłać z/do komputera debugowanie.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required