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

XMEGA128A1 - błędna obsługa przerwania Code czy AS6 - ?

jp_elek 07 Sty 2014 15:27 1020 2
  • #1 13148869
    jp_elek
    Poziom 9  
    Witam ,
    Zaczynam z AS6, dotąd używałem 4.18 głownie z asemblerem

    Pytanie dotyczy możliwego błędu symulacji prostego kodu w AS6, do potrzeb zapytania sprowadzonego do wersji jak niżej :
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    powyższy kod jest prawidłowo kompilowany, kompilator przygotowuje obsługę przerwania, jak widać poniżej

    XMEGA128A1 - błędna obsługa przerwania Code czy AS6 - ?

    również wygenerowany kod obsługi jest poprawny
    XMEGA128A1 - błędna obsługa przerwania Code czy AS6 - ?

    Problem
    a. Opis dotyczy symulacji wbudowanym symulatorem, programiku w AS6 na Win7 (64-bit)
    b. obsługa przerwania wykonuje się z ustawioną flagą globalnej obsługi przerwań "I" !!!
    c. Po opuszczeniu przerwania flaga globalnego zezwolenia na przerwania zostaje skasowana, i dalsze przerwania nie są wywoływane.
    d. przełączenie na disasemblacje nadal wskazuje iż ostatnią instrukcją w przerwaniu jest instrukcja reti, co powinno ustawić flagę zezw. na globalne przerwania - niestety po tej instrukcji właśnie flaga jest zerowana.

    Mało wierzę w błąd symulatora AS6 , jednak wszelkie próby wyjścia z tej sytuacji kończą się tak samo- po pierwszym przerwaniu , następuje wyłączenie obsługi przerwań.

    Proszę o podpowiedź / radę . J.P.

    ps. odnośnie asemblera wystarczy ogólna precyzja odpowiedzi,
    w przypadku języka C proszę szczegółowiej
    b.
  • Pomocny post
    #2 13148900
    Konto nie istnieje
    Poziom 1  
  • #3 13148969
    jp_elek
    Poziom 9  
    Dzięki wielkie,
    Rzeczywiście pomogło , zarówno w tym prostym przykładzie , jak też w rzeczywistym programie .

    Co do ustawionej flagi "I" w obsłudze przerwania , oczywiście Masz rację , z mojej strony niestety "pomroczność jasna " ...
    J.P.
REKLAMA