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

[AT32UC3][C/AVR32 STUDIO] jak sprawdzic wielkosc stosu.

Gostek 16 Sie 2010 00:06 1658 3
REKLAMA
  • #1 8402704
    Gostek
    Poziom 17  
    Witam, jestem poczatkujacy w AVR32 Studio. Czy ktos moze mnie oswiecic w jaki sposob ustawia sie wielkosc stosu ? I w jaki sposob sprawdzic czy nie jest przepelniony podczas pracy programu ?
    At32UC3A0512 ( lub UC3A3256 ) jest w STK600 + JTAG mk2.
    Pozdrawiam
    Proszę poprawić pisownię!
    Robak
  • REKLAMA
  • #2 8435481
    kubus_puchatek
    Poziom 18  
    Kolego. co do sprawdzenia wielkości stosu to może być problem gdyż generalnie na stos jest przeznaczane tyle ile nie zostało wykorzystane na zmienne.
    co do sprawdzenia przepełnienia.... Oceń ile potrzeba na stos. napisz funkcję która w miejscu maksymalnego szczytu stosu ustawia znacznik.
    Napisz funkcję która w przerwaniu zegara sprawdza czy znacznik nie został zamazany. Przyszło mi jeszcze na myśl... Zmienne są dzielone licząc od najmniejszych adresów. Więc jeśli sobie zdefiniujesz jako ostatnią zmienną, zmienną ze znacznikiem końca stosu to będziesz miał niby idealnie. Pozostaje jeszcze problem sterty jeśli dynamicznie przydzielasz pamięć.
  • REKLAMA
  • #3 8435655
    arturt134
    Poziom 27  
    Generalnie jak stos ci się przepełni, to program na pewno "pójdzie w krzaki", czyli w AVR32 pewnie będzie miał jakiś wyjątek krytyczny. Musisz te wyjątki przechwycić i wyświetlić jakiś komunikat, a później już tylko testować program - im intensywniej tym lepiej.
  • #4 8439570
    kubus_puchatek
    Poziom 18  
    Nie zgodzę się z takim stwierdzeniem. Nadpisanie danych może spowodować znaczne szkody ale nie musi spowodować ani wyjątków ani zawieszenia działania kontrolera.
REKLAMA