logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Programtor AVR KamPROG eclipse

pisulski 15 Mar 2009 23:59 3040 11
  • #1 6287692
    pisulski
    Poziom 10  
    Witam
    Zakupiłem zestaw uruchomieniowy AVR. Składa się z mikrokontrolera Atmega128 oraz z płytki bazowej. Do zestawu nabyłem także programator ISP dla mikrokontrolerów AVR z interfejsem USB.

    Jak to zawsze bywa, przy pierwszym uruchomieniu układu chciałem sobie pomrugać diodami. Jednak pojawił się problem z przesłaniem programu do mikrokontorlera. Komunikat zwracany podczas programowania był następujący: "Programing disable".

    Moja przygoda szybko się skończyła z tym mikrokontrolerem ponieważ przez nieuwagę oraz brak wiedzy pozmieniałem FUSE BITS. Efekt jest taki że programator już nie widzi mojego mikrokontrolera.

    Czy ktoś może udzielić mi odpowiedzi dlaczego podczas wysłania programu do uC dostaje komunikat że programowanie jest niemożliwe?

    W jaki sposób mogę włączyć programowanie po SPI?(Jak na razie to stwierdziłem że zostaje mi zakupienie jeszcze jednego uC, a ten musi poczekać do czasu jak już będę wiedział jak go do życia przywrócić).

    Czy ktoś może mi wyjaśnić znaczenie ustawienia FUSE BITS, jaka to zabroniona kombinacja ustawienia powoduje że mikrokontroler nie jest dostępny przez SPI?

    Proszę o pomoc
  • #2 6288036
    _Robak_
    Poziom 33  
    Ta tajemnicza i zabroniona kombinacja to wylaczenie bitu SPIEN, czyli SPI enable. Mozesz ja wlaczyc spowrtoem za pomoca programatora rownoleglego.
    Jakim programem programujesz procka ?
  • #3 6288055
    marekos
    Poziom 16  
    Albo JTAGa do AVR, można nim również programować Flash i debugować program.
  • #4 6290081
    pisulski
    Poziom 10  
    Niestety ten programotor komunikuję się po SPI. Wnioskuję z waszych wypowiedzi, że nie da się przywrócić komunikacji SPI nie mając innego typu programatora?.
  • #5 6290856
    _Robak_
    Poziom 33  
    Ale jak bys przeczytal datasheeta to bys sie dowiedzial, ze programatorem isp nie mozna wylaczyc bitu SPIEN :P Byc moze nie wylaczyles programowania przez spi tylko ustawiles na zewnetrzny sygnal ;)
  • #6 6291852
    janbernat
    Poziom 38  
    A mi się wydaje że RAZ daje się wyłączyć.
    Oraz zaprogramować Reset Disable-też tylko RAZ.
    Ale już więcej nie będę próbował.
    Ale może to tylko ustawienia rezonatora?
    Spróbuj podać na XTAL1 jakiś sygnał 1-3MHz.
    Jak programator go zobaczy to się da.
  • #7 6292055
    pisulski
    Poziom 10  
    _Robak_ napisał:
    Ale jak bys przeczytal datasheeta to bys sie dowiedzial, ze programatorem isp nie mozna wylaczyc bitu SPIEN :P Byc moze nie wylaczyles programowania przez spi tylko ustawiles na zewnetrzny sygnal ;)


    Masz rację, nie przeczytałem dokumentacji i teraz mam problem. Cieszy mnie wiadomość że mogłem przełączyć na zewnętrzny sygnał. Poszukam w dokumentacji na jaki zewnętrzny sygnał udało mi się przełączy. Jednak tak czy inaczej nie zmienia to faktu , że przy pomocy tego programatora to nic już z Atmegą nie zrobię.

    Jednak zastanawia mnie jedna rzecz. W dokumentacji od ATmega128 jest napisane że przy programowaniu przez SPI nie jest dostępny bit SPIEN. Jednak w oprogramowaniu do programatora w zakładce FUSE BIT daje się zmienić SPIEN. W dokumentacji od programatora jest wyraźna uwaga, że przy pewnym ustawieniu FUSE bitów dostęp nie będzie możliwy przez SPI.

    Pytanie, czy jest tak jak sądzi janbernat, że da się zaprogramować chociaż raz? Czy nawet ustawienie w oprogramowniu przy pomocy programu nie wpłynie na zmianę tego bitu.

    Jeżeli macie odczucie że nie bardzo wiem o co chodzi, to macie rację. Mój pierwszy samodzielny kontakt z mikrokontrolerem jak widać przerodził się w porażkę.

    Widzę że zanim będę mógł kontynuować dalszą dyskusję będę musiał przeczytać dokumentację, bo inaczej to ciężko ze mną się będzie rozmawiało.

    Dziękuję za zainteresowanie tematem.

    Dodano po 5 [minuty]:

    janbernat napisał:
    A mi się wydaje że RAZ daje się wyłączyć.
    Oraz zaprogramować Reset Disable-też tylko RAZ.
    Ale już więcej nie będę próbował.
    Ale może to tylko ustawienia rezonatora?
    Spróbuj podać na XTAL1 jakiś sygnał 1-3MHz.
    Jak programator go zobaczy to się da.


    Niestety nie mam możliwości fizycznego podłączenia. Na razie nie mam odpowiedniego sprzętu (w zasadzie żadnego nie mam). Ale interesujące dlaczego taka częstotliwość i co ma ten test udowodnić?
  • #8 6292206
    janbernat
    Poziom 38  
    To nie żaden test, to próba "dotarcia" do procesora za pomocą zewnętrznego sygnału zegarowego żeby programator go "widział".
    Jak już go "zobaczy" to wszystkie "fusebity" można zmienić.
    Boże-nie WSZYSTKIE próbuj zmieniać...
    1-3MHz-bo mi wszystkie przy tej częstotliwości "wstawały".
    Kombinacji fusebitów przy której nie można połączyć się
    z procesorem jest skończona liczba-chyba kilkaset...
    Nie wiem czy używasz lutownicy-jak się wchodzi w prawdziwy "hardware' to jest prawdziwy "hardware".

    Dodano po 5 [minuty]:

    A jeszcze:
    Jaki kompilator?(assembler, AVRGCC, Bascom)
    Jaki programator?
    Jaki program do programatora?
  • #9 6292299
    pisulski
    Poziom 10  
    Kompilowałem na AVRGCC.
    Programator posiadam ZL20PGR
    Oprogramowanie sterujące do programatora KamPROG for AVR, które można ściągnąć z www.kamami.pl

    Dziękuję za pomoc.
  • #10 6293457
    _Robak_
    Poziom 33  
    Dokumentacji ot tak nie czytaj bo zasniesz:) Co do blokniecia procka, jak ktos chociaz raz nie zablokowal to niewiele robil :P Czy da sie raz wylaczyc spien, watpie, raczej chlopaki wiedza co pisza w dokumentacji. Mysle ze zmieniles na zewnetrzny zegar i musisz przy pomocy drugiej atmegi przywrocic ja do swiata zywych:) Ja po oblokowaniu atmegi 128, kilka chwil pozniej ja spalilem, maly plomyk dym i te sprawy :) Takze nie martw sie, jesli nie ten procek to drugi :P
  • #11 6296262
    janbernat
    Poziom 38  
    Szkoda trochę unieruchomionej ATmegi128 na płytce
    za ok. 60zł.
    Ja bym jej tak szybko nie "odpuścił".
    No pal te 60zł, ale żeby mi się "bydlę" nie stawiało.
    Zewnętrzny generator.
    Jak nie masz doświadczenia to trenuj na początek na czymś tańszym.
    Propox sprzedaje płytki pod ATmega8 po ok 65 zł a procesory są po ok. 5zł.
    Można kupić 10 i trenować.
  • #12 7794149
    pisulski
    Poziom 10  
    Trochę po czasie...
    Info dla wszystkich którzy będą mieli ten sam problem.
    Podłączenie do uc zewnętrznego generatora umożliwia ponowne poprawne ustawienie źródła oscylatora. Jak bity poustawiać to już każdy musi doczytać.
    Dziękuję za pomoc i naprowadzenie na źródło problemu.
    Zamykam temat
REKLAMA