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

[Atmega162][asembler/AVRStudio] Nie można debugować kodu

finch 04 Kwi 2011 22:13 1892 8
  • #1 9361244
    finch
    Poziom 20  
    Witam,

    Przesiadłem się właśnie z procka ATmega 16 na Atmegę 162 z powodu nie wystarczającej liczby portów.

    Napisałem program który ma za zadanie włączyć TIMER1 w tryb licznika z sygnałem taktującym na porcie PB1(T1).

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Program ma po prostu włączyć Timer i przejść do pustej pętli. Wartość rejestrów TCNT chciałem podglądać w oknie debugera i tu jest problem, ponieważ w momencie uruchomienia debugera pojawia się okno "disassembler", na górze jest listning programu po czym jest nagłówek: "No source" i do adresu programu: 00001FFF napis: "Uknown data or opcode".

    Przy medze 16 miałem takie problemy jak np nie zainicjowałem stosu, tutaj próbowałem uruchamiać program nawet z włączonym fusebitem: "M161C",
    zasilanie jest pewne. Sygnał zegarowy wewnętrzny z zaprogramowanym bitem "CKDIV8", programator to AVR Dragon.
    Szukałem po dokumentacji ale tam stos jest inicjalizowany tak samo, nie wiem o co chodzi.

    Pozdrawiam,
    finch

    EDIT:

    Męczę dalej tą atmegę i co ciekawego zauważyłem, otóż procek wychodzi z fabryki z wyłączonym trybem On Chip Debug (OCDEN odznaczony). Po zaznaczeniu go zaprogramowaniu fusebitów po wejściu w tryb debugowania nic się nie zmienia, poza tym że bit OCDEN zostaje domyślnie odznaczony. Tzn po zamknięciu debugowania i otwarciu okna konfiguracji fusebitów bit jest nie zaznaczony.
  • #2 9368166
    asembler
    Poziom 32  
    Po cholere używasz debbugera dopoki nie bedziesz miał fizycznie zmontowanego urzadzenia to bez sensu jest jakakolwiek pomoc.
    Przynajmniej dla mnie.
    A co to za kwiatek?
    in R16, TCCR1A
    ldi R16,0
    out TCCR1A, R16
  • #3 9368228
    finch
    Poziom 20  
    Hej,

    Urządzenie jest fizycznie zmontowane na płycie prototypowej, do wejścia PB1(T1) podłączony jest przepływomierz i procek ma za zadanie zliczać impulsy z niego. Debuger jest podłączony przez JTAG AVR Dragon.

    Co do tego kwiatka to z dokumentacji wynika że rejestr TCCR1A powinien mieć wszystkie bity wyzerowane do pracy w potrzebnym mi trybie.
  • #4 9368337
    asembler
    Poziom 32  
    in R16, TCCR1A
    o ten kwiatek mi chodzi bo reszta może byc ok.
    Zabierasz sie za to od d. strony.
    Dolutuj jaik LCD oprogramuj to potem bedzie już z górki gdzyz bedziesz mógł podglądać na żywo co sie w programie dzieje bez uzywania debug.
  • #5 9368853
    finch
    Poziom 20  
    Hej,

    Dzięki za podpowiedź.
    Problem rozwiązany, okazało się że bruździła nóżka przycisku reset do której dołączony był przycisk i "zbierał śmieci" z szybkozmiennego wejścia. Po wyrzuceniu obwodu resetu wszystko zadziałało, debugger działa procek bez kłopotu się programuje.
    Dziękuję za wszelkie podpowiedzi i pozdrawiam,
    finch
  • #6 9369055
    asembler
    Poziom 32  
    finch napisał:
    Hej,

    Dzięki za podpowiedź.
    Problem rozwiązany, okazało się że bruździła nóżka przycisku reset do której dołączony był przycisk i "zbierał śmieci" z szybkozmiennego wejścia. Po wyrzuceniu obwodu resetu wszystko zadziałało, debugger działa procek bez kłopotu się programuje.
    Dziękuję za wszelkie podpowiedzi i pozdrawiam,
    finch

    No mega bzdura ale cóż są na swiecie rzeczy co sie tym na f nie sniło.
  • #7 9369357
    finch
    Poziom 20  
    No jeżeli Atmel w swojej nocie katalogowej piszę prawdę to też uważam to za bzdurę, ale jak się do tego odnieść skoro pomogło?
  • #8 9370070
    asembler
    Poziom 32  
    Pomogło bo pewnie w końcu nauczyłeś sie uzywac avrstudio.
    Dla mnie to zbyt skomplikowane próbowałem czytając zachwyty i peany na jego temat ale mimo wszystko zostane przy swoich edyto-kompila-programatorach.
  • #9 9370598
    finch
    Poziom 20  
    Aż taki ułomny nie jestem, wcześniej go używałem tylko pojawił się problem przy ostatniej zmianie kontrolera.
    Każdy wybiera co lubi.
    Pozdrawiam,
    finch
REKLAMA