eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaksiążka o programowniu AVR w C › Re: ksišżka o programowniu AVR w C
  • Data: 2011-02-03 14:47:19
    Temat: Re: ksišżka o programowniu AVR w C
    Od: Adam Dybkowski <a...@4...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2011-02-03 14:05 JDX napisał(a):

    >> Use RTOS Luke. We Freertosie definiujesz wielkość stosu dla każdego
    >> taska.
    > No popatrz, to podobnie jak pod Linuksem. Lub pod Windows. Lub pod
    > NutOS. Lub pod "moim własnym" OS-em. :-) Pytanie jest tylko skąd
    > kompilator C ma wiedzieć jaką wielkość stosu dla jakiegoś wątku wymyślił
    > sobie użytkownik i pod jakim adresem postanowił umieścić jego dno. :-)

    Jeżeli używasz nieco większych procków niż AVR (powiedzmy chociażby
    ARM7TDMI) to kompilatorowi gcc możesz powierzyć sprawdzanie
    przekroczenia stosu na początku każdej funkcji. Oczywiście jest to
    sprawdzane podczas wykonywania kodu i nieco go zwalnia a nie podczas
    kompilacji. Jeden rejestr procesora wtedy jest zarezerwowany na adres
    końca obszaru stosu i twój system operacyjny musi go odpowiednio
    przełączać przy zmianie wątku (podobnie jak przełącza sam wskaźnik stosu
    i inne rejestry). Poczytaj o opcji kompilatora -fstack-check.
    Teoretycznie to samo można by zrobić w AVRach ale nie wiem czy
    kompilator avr-gcc obsługuje tą opcję. Przy procesorach z ochroną
    pamięci (np. ARM926EJ-S) jest jeszcze prościej.

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

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: