eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDziwny problem z kodem w C (gcc mips/pic32) › Re: Dziwny problem z kodem w C (gcc mips/pic32)
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED.178.183.113.142.mobile.static.t
    -mobile.pl!not-for-mail
    From: Marek <f...@f...com>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Dziwny problem z kodem w C (gcc mips/pic32)
    Date: Thu, 18 May 2023 15:04:27 +0200
    Organization: ICM, Uniwersytet Warszawski
    Message-ID: <a...@n...icm.edu.pl>
    References: <a...@n...icm.edu.pl>
    <u44i3o$css$1$Janusz@news.chmurka.net>
    <a...@n...icm.edu.pl>
    <u44vfs$lla$1$Janusz@news.chmurka.net>
    <b...@g...com>
    <a...@n...icm.edu.pl>
    <e...@g...com>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Info: news.icm.edu.pl;
    posting-host="178.183.113.142.mobile.static.t-mobile.pl:178.183.113.142";
    logging-data="1356575"; mail-complaints-to="u...@n...icm.edu.pl"
    User-Agent: Groundhog 2.08 Newsreader for Android
    http://83.220.108.211/bins/groundhog/
    In-Reply-To: <e...@g...com>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:780620
    [ ukryj nagłówki ]

    On Thu, 18 May 2023 05:13:49 -0700 (PDT), Dawid Rutkowski
    <d...@w...pl> wrote:
    > t w tych 75k linii kodu? Bo można i tak,
    > choć ciekawi, jak te wyjątki obsługujesz.

    Wyjątki obsługuje funkcja przypisana do exception handler, ją już
    wywołuje core procesorami. Jest kilka wyjątków:

    static enum {
          EXCEP_IRQ = 0,            // interrupt
          EXCEP_AdEL = 4,            // address error exception (load or
    ifetch)
          EXCEP_AdES,                // address error exception (store)
          EXCEP_IBE,                // bus error (ifetch)
          EXCEP_DBE,                // bus error (load/store)
          EXCEP_Sys,                // syscall
          EXCEP_Bp,                // breakpoint
          EXCEP_RI,                // reserved instruction
          EXCEP_CpU,                // coprocessor unusable
          EXCEP_Overflow,            // arithmetic overflow
          EXCEP_Trap,                // trap (possible divide by zero)
          EXCEP_IS1 = 16,            // implementation specfic 1
          EXCEP_CEU,                // CorExtend Unuseable
          EXCEP_C2E                // coprocessor 2
      } _excep_code;


    Oczywiście można po wyjątku wyjść z handlera i działać dalej ale w
    moim przypadku handler zapamiętuje co i gdzie się wydarzyło i
    zatrzymuje kod aż watchdog zresetuje procesor.

    Kiedyś na MZ zrobiłem małego OSa z ochroną pamięci, obsługą pamięci
    wirtualnej i TBLami, ładowaniem procesów itp... Skończyło się tylko
    na tym, że jeden proces wypisywał AAA a drugi BBB na konsoli
    (zbieżność z początkiem innego OSa przypadkowa).
    Zresztą na MZ można uruchomić pełnego Linuxa więc....

    --
    Marek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: