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

[FreeRtos] Taski uruchamiane przez semafor z ISR - jak uniknąć stack overflow?

janiewiem 18 Cze 2010 06:30 1071 0
REKLAMA
  • #1 8202148
    janiewiem
    Poziom 11  
    Posty: 76
    Pomógł: 1
    Ocena: 1
    Witam,

    Mam pewien problem, mianowicie mam zrobione kilka tasków, z czego 3 są uruchamiane poprzez dostanie semafora od ISR. Problem polega na tym, że dany task działa tylko określoną ilość razy (zależnie od wielkości heap'a i własnego stack'a). I wydaje mi się, że później jakimś cudem dochodzi do przepełnienia. Czy jest jakieś wyjście, żeby tego uniknąć? Czy jakoś trzeba zwalniać pamięć co przełączenie? Przecież teoretycznie jeśli działa zaświecanie diody przyciskiem 14 razy to dlaczego zawsze przy 15 razie przestaje działać? (wygląda na to, że tylko ten task, reszta działa bez zarzutów)

    EDIT:

    Dla potomnych - trzeba dopuścić chociaż na moment idle task, bo to właśnie on jest odpowiedzialny za uwalnianie pamięci z usuniętych tasków. Taki mały problem a tak dużo kombinowania :]
  • REKLAMA
REKLAMA