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)
  • Data: 2023-05-18 15:55:53
    Temat: Re: Dziwny problem z kodem w C (gcc mips/pic32)
    Od: Dawid Rutkowski <d...@w...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    czwartek, 18 maja 2023 o 15:04:31 UTC+2 Marek napisał(a):
    > 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.

    A, OK, dzięki, to całkiem fajne, choć w typowych zastosowaniach uC przydaje się tylko
    do debugowania
    przekroczeń pamięci - ale to też się przyda.

    > 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).

    Ja zrobiłem na ATmegę dwa wątki wywłaszczane (no bo procesy bez ochrony pamięci są
    bez sensu).
    Ale nie mam pomysłu, do czego użyć tego w praktyce.

    > Zresztą na MZ można uruchomić pełnego Linuxa więc....

    Linux, przy całym swym bogactwie, ma jedną wadę - nie jest systemem czasu
    rzeczywistego.
    A olbrzymia większość tego, co robiłem na uC, jest przynajmniej soft real-time.
    I w sumie nic dziwnego - od nie-real-time mamy PC-ty z Linuxem.

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: