Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega8. Przywrócenie poprzednich ustawień. Programator?

02 Sty 2007 19:40 1628 21
  • Poziom 10  
    Mam jedno krótkie pytanie: czy w Atmedze8 po zmianie końcówki PC0 z reset na port wej-wyj jedynym sposobem powrócenia do poprzednich ustawień jest użycie programatora równoległego?
  • Poziom 42  
    tak ;) bo przez SPI nie będzie można już zresetować procka aby zacząć procedurę programowania ;)
  • Poziom 29  
    lub napisać i wgrać wcześniej bootloader i można końcówkę reset przemianować i robić inne cuda (wyłączyć spi też) a sposób programowania wtedy Ty ustalasz. więc można programować procki bez użycia "resetu" i bez programatora równoległego.
  • Poziom 11  
    To nieprawda, że po ustawieniu wejścia /RESET nie daje się programować tego kontrolera. /RESET i CLK muszą być na 0 podczas włączania zasilania. Warunkiem wejścia w ten tryb jest także poprawna synchronizacja. Procesor nie wykonuje kodu (a zatem nie ustawi /RESET jako wyjścia) przy sekwencji startowej trybu szeregowego programowania. Miałem podobny problem i był spowodowany niewłaściwym ustawieniem fuse-bitów. Pomyliłem się w ustawieniach CKSEL0-3. Przy pomocy programatora (a raczej czytnika) równoległego odczytałem fuse-bity i ustawiłem pod nie źródło zegara.
    Należy pamiętać o tym, że układ zewnętrzny może uniemożliwiać wyzerowanie /RESET.
  • Poziom 42  
    kolego barbabulek - a ty o czym mówisz? (sorry, ale sam do końca możesz zrozumieć to co napisałeś?) twierdzisz?, że jeśli zmienisz ustawienie fusebita RSTDISBL i pin ten będzie działał jako typowy port I/O to nadal będzie możliwość zaprogramowania układu w trybie ISP za pomocą SPI zwykłym programatorem szeregowym np STK200 ?????????

    czy poprostu wtrąciłeś tu jakąś swoją wypowiedź wogóle nie związaną z tematem?

    pozdr
  • Poziom 29  
    Jeśli chodzi o konkretną odpowiedź na pytanie:
    neos87 napisał:
    Mam jedno krótkie pytanie: czy w Atmedze8 po zmianie końcówki PC0 z reset na port wej-wyj jedynym sposobem powrócenia do poprzednich ustawień jest użycie programatora równoległego?

    Tak - jeśli w prosesorze nie jest wgrany bootloader.
  • Poziom 11  
    Pisałem wyrażnie, że źle ustawione fuse-bity: CKSEL0-3 mogą powodować brak synchronizacji - czyli brak odpowiedzi procka na sekwencje startową programatora.
  • Poziom 42  
    kolega prokopcio ma rację - przedstawił to bardzo jasno ;) chociaż zwróciłbym uwagę tylko na to, że nawet bootloader nie pozwoli nam na przywrócenie poprawnych wartości fusebitów odpowiedzialnych np za rodzaj zegara dla uC (CKSEL0..3) .... czyli pisząc

    Cytat:
    "...więc można programować procki bez użycia "resetu" i bez programatora równoległego"


    w miał 100% rację ;) ale kolega autor zapytał też:

    Cytat:
    "...jedynym sposobem powrócenia do poprzednich ustawień..."
    być może autorowi chodziło też o to czy własnie może zmieniać rodzaj zegara? bo np przeprogramował sobie niechcąco RSTDISBL oraz ustawił na dodatek zewnętrzny zegar taktujący a nie rezonator czy wewn oscylator - co jest częstym przypadkiem na początku zabawy z uC ;)

    Dodano po 5 [minuty]:

    no tak kolego barbabulek ale czy miałeś też przeprogramowany fusebit RSTDISBL z fabrycznego ustawienia na odwrotne ???? czyli pin działał jako port I/O ??? ..... i pomimo to przeprogramowałeś szeregowym programatorem procka ??????
  • Poziom 11  
    Przy zaprogramowanym RSTDISBL "0" należy poprosić Św. Mikołaja, zeby podrzucił pod choinkę programator równoległy.
  • Poziom 29  
    spokojnie chłopaki - teraz powinien autor wątku napisać o co tak naprawdę Mu chodziło w tym pytaniu ;-)
  • Poziom 42  
    no racja ale może autor już śpi - więc poczekamy do jutra ;)

    a kolega barbablulek niech poczyta do poduszki co napisał ;) .... podejrzewam, że sam się w tym nie łapie

    najpierw pisze:
    barbalulek napisał:
    "To nieprawda, że po ustawieniu wejścia /RESET nie daje się programować tego kontrolera"


    a po chwili:
    barbalbulek napisał:
    "Przy zaprogramowanym RSTDISBL "0" należy poprosić Św. Mikołaja, zeby podrzucił pod choinkę programator równoległy."


    albo jeszcze to:
    barabulek napisał:
    "...źle ustawione fuse-bity: CKSEL0-3 mogą powodować brak synchronizacji... "
    skoro tu używasz słowa mogą to początkujący adept mógłby domniemać, iż czasem mogą a czasem nie powodują braku synchronizacji ;)

    jak już komuś doradzasz to staraj się choć odrobinę jaśniej pisać ok? ;) ... wtedy będziesz bardziej rozumiany przez innych ;) (bo może chciałeś dobrze coś powiedzieć ale wyrażałeś się, co najmniej - mało precyzyjnie"

    bez urazy proszę ale jak przeczytałem ten twój pierwszy post to przypomniała mi się sexmisja i też wyrwana z kontekstu wypowiedź "To nieprawda!!! Kopernik też była kobietą!!!" ;) ... czy jakoś tak ;)
  • Poziom 11  
    Przyznaję, że wyraziłem się niezbyt precyzyjnie - dzieki czemu MirekXX może sobie jeździć po mnie jak po łysej kobyle.
    Najważniejsze, że doszliśmy do sedna i raczej nic tu się nie da wymyśleć.
    Np. mozna dodać, że brak zasilania układu nie dopuszcza do synchronizacji.
    Cóż chciałem tylko zwrócić uwagę, że podczas próby przeprogramowania fuse-bit od IO RSTDISBL, może łapka się omsknąć i przeprogramujemy inne. (A jego akurat nie). Rozumiem, że MirekXX jest nieomylny i takie problemy go nie dotyczą. Zazdroszczę mu bardzo.
    Niestety dalej się upieram, że niektóre błędy w CKSEL0-3 mogą pozostać niezauważone, a inne mogą powodować brak synchronizacji
    Mam to udowodnić, czy sam się domyśli?
  • Poziom 18  
    Niektóre procki ATMELa mają coś takiego jak High Voltage Serial Programming. Polega to na podaniu impulsu +12V zamiast 0V na pin RESET, a reszta przebiega standardowo. Dotyczy to głównie układów ATTiny, lecz możliwe, że w nowszych rewizjach układów ATmega ta opcja również jest dostępna mimo braku informacji o tym w dokumentacji. Pin RESET w ATmega8 wg. specyfikacji wytrzymuje +13V, więc można bez większego ryzyka spróbować...
  • Poziom 42  
    Witam,

    do kolegi barbabulek - bardzo przepraszam jeśli odebrałeś moją wypowiedź, jako "jeżdżenie po .... i tak dalej" - nie miałem takiego zamiaru. (chciałem tylko zwrócić uwagę na "trochę" bezładny sposób twoich wypowiedzi i fajnie, że sam to również w końcu zauważyłeś). Poza tym ja nie jestem nieomylny, i jak coś źle napiszę a koledzy tu na forum to skrytykują (słusznie - podając argumenty, z którymi gdy człowiek się zapozna i nie można im zaprzeczyć), czasem używając różnych określeń, to przynajmniej nie brnę uparcie dalej aby forsować swoje racje, tylko przeproszę albo podziękuję za zwrócenie uwagi i dzięki temu również dużo się uczę .... kolega natomiast z wypowiedzi na wypowiedź ........ ale ok dość o tym .... bo przecież w końcu okazało się, że myślimy podobnie - tak więc jeszcze raz przepraszam jeśli cię uraziłem ;)

    - do kolegi pmichniewski - właśnie słyszałem o tym programatorze szeregowym o którym piszesz ale nie znalazłem jakoś jego schematu, byłbym wdzieczny gdybyś podał link do niego albo sam schemat - może nie jest skomplikowany a z czasem może się przydać kiedyś ;)

    pozdrawiam
  • Poziom 29  
    12V podczas programowania podaje się podczas programowania Atmelków wcześniejszych z seri 89c.... To wiem napewno i jasno to określała nota aplikacyjna, coś nie do końca chce mi się wierzyć, jakoby Atmel miałby przed nami takie informacje ukrywać ;-) przecież to byłby wielki plus dla AVR'ów.
  • Poziom 42  
    hmmm ale ja również - jako żywo - przysiągł bym nawet, że któregoś razu kolego prokopcio widziałem gdzieś tę informację - tylko było to w czasach (choć nie są one tak odległe ;) ) gdy jeszcze nie wiedziałem tyle co teraz i drugi raz jakoś nie mogłem na tą informację wpaść ;) - więc może niech
    kolega pmichniewski zarzuci jakieś źródło tej informacji aby ją potwierdzić lub zdementować ;)

    pozdrawiam
  • Poziom 18  
    Witam.
    Jeśli chodzi o opis High-voltage Serial Programming, to opis można znaleźć np. w pdf-ie ATtiny13. O ile mnie pamięć nie myli, to również w książce "Mikrokontrolery AVR ATtiny w praktyce". Ale z informacją, że istnieje taka nieudokumentowana możliwość w większych procesorach, nie spotkałem się. Zresztą nie szukałem informacji na ten temat.
    teedd
  • Poziom 29  
    mam książkę "Mikrokontrolery AVR ATmega w praktyce" Rafała Baranowskiego i z ciekawości sprawdzę czy coś wspomianio (dział o programowaniu programatorem omijałem ;-) ).

    Dodano po 4 [minuty]:

    a jaszcze ciekawe, jeśli taka możliwość istnieje czy wtedy reset przy 12V zachowa się jak reset jeśli został wcześniej przemianowany na In/Out
  • VIP Zasłużony dla elektroda
    Ehhh a wystarczy noty katalogowe czytać. Przy programowaniu w trybie równoległym konieczne jest podanie na pin /RESET napięcia 11.5-12.5. Wszystko jak zwykle w PDF. Co do programatora równoległego, jest sporo informacji na Elektrodzie.
    https://www.elektroda.pl/rtvforum/topic72511.html
  • Poziom 18  
    hehehe - czytać trzeba nie tylko noty katalogowe, ale również wątek, w którym się wypowiadamy :) . Akurat sobie tak gadamy i gdybamy o szeregowym programowaniu.
    Pozdrowienia - teedd
  • VIP Zasłużony dla elektroda
    teedd napisał:
    hehehe - czytać trzeba nie tylko noty katalogowe, ale również wątek, w którym się wypowiadamy :) . Akurat sobie tak gadamy i gdybamy o szeregowym programowaniu.
    Pozdrowienia - teedd


    Oj czytałem i to od samego początku. Ale widzę że kolega nie sprawdził nawet zamieszczonych informacji i możliwości wspomnianego programatora. Sądzę że również szczegóły programowania w trybie równoległym i szeregowym "wysokonapięciowym" nie zostały dokładnie zrozumiane.
  • Poziom 18  
    :) czemu od razu tak poważnie? Link do tego wątku o programatorze równoległym znam, wydaje mi się również, że moje wypowiedzi były na temat. A gdyby nie? To spoko - więcej luzu :)
    Pozdrowienia - teedd