Atmega - debugowanie przez ISP

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?

Reply to
Tomasz Pyra
Loading thread data ...

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ć...

Reply to
BartekK

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.

Reply to
Tomasz Pyra

a nie proscie urzyc rs'a??

Reply to
Raven

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.

Reply to
Tomasz Pyra

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

Reply to
Raven

Tomasz Pyra napisał(a):

może to?

formatting link

Reply to
Krzysztof Piecuch

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.

Reply to
Adam Dybkowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.