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)
  • X-Received: by 2002:a25:4017:0:b0:ba7:8628:93e2 with SMTP id
    n23-20020a254017000000b00ba7862893e2mr1169305yba.4.1684418154194; Thu, 18
    May 2023 06:55:54 -0700 (PDT)
    X-Received: by 2002:a25:4017:0:b0:ba7:8628:93e2 with SMTP id
    n23-20020a254017000000b00ba7862893e2mr1169305yba.4.1684418154194; Thu, 18
    May 2023 06:55:54 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out
    .google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!
    not-for-mail
    Newsgroups: pl.misc.elektronika
    Date: Thu, 18 May 2023 06:55:53 -0700 (PDT)
    In-Reply-To: <a...@n...icm.edu.pl>
    Injection-Info: google-groups.googlegroups.com; posting-host=84.10.46.130;
    posting-account=fcN60AoAAACGnErMsW3A8rTO2UKkGJEn
    NNTP-Posting-Host: 84.10.46.130
    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>
    <a...@n...icm.edu.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <3...@g...com>
    Subject: Re: Dziwny problem z kodem w C (gcc mips/pic32)
    From: Dawid Rutkowski <d...@w...pl>
    Injection-Date: Thu, 18 May 2023 13:55:54 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 56
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:780627
    [ ukryj 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: