-
91. Data: 2011-02-03 12:37:24
Temat: Re: ksišżka o programowniu AVR w C
Od: Mario <m...@p...onet.pl>
W dniu 2011-02-03 13:06, JDX pisze:
> On 2011-02-02 12:43, Michoo wrote:
> [.....]
>> Kompilator zna początek stosu i zna jego koniec
> Także początek i koniec stosu dynamicznie tworzonych wątków/zadań? :-)
Use RTOS Luke. We Freertosie definiujesz wielkość stosu dla każdego taska.
--
Pozdrawiam
MD
-
92. Data: 2011-02-03 13:05:32
Temat: Re: ksišżka o programowniu AVR w C
Od: JDX <j...@o...pl>
On 2011-02-03 13:37, Mario wrote:
[.....]
> 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. :-)
-
93. Data: 2011-02-03 14:47:19
Temat: Re: ksišżka o programowniu AVR w C
Od: Adam Dybkowski <a...@4...pl>
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.
-
94. Data: 2011-02-03 15:58:39
Temat: Re: ksišżka o programowniu AVR w C
Od: Mario <m...@p...onet.pl>
W dniu 2011-02-03 14:05, JDX pisze:
> On 2011-02-03 13:37, Mario wrote:
> [.....]
>> Use RTOS Luke. We Freertosie definiujesz wielkość stosu dla każdego
>> taska.
> No popatrz, to podobnie jak pod Linuksem. Lub pod Windows.
Była mowa o programowaniu mikrokontrolerów.
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. :-)
A co mnie obchodzi jak on to znajduje. Jest skrypt xTaskCreste który
używam do tworzenia zadania. W nim podaję wielkość stosu. Jak to w
czasie kompilacji gcc odczyta i gdzie umieści początek stosu to już nie
moja sprawa. Nie jestem programistą systemowym. Po to piszę w c i pod
rtosem żeby nie zarządzać pamięcią podczas pisania aplikacji. Jak
pisałem w asemblerze też robiłem durnowate sztuczki żeby zdjąć coś ze
stosu i wyskoczyć na chama z procedury ale nie jest to wystarczający
powód żeby trwać we własnoręcznym generowaniu kodu maszynowego ubranego
w słówka MOV, ADD czy LJMP.
--
Pozdrawiam
MD
-
95. Data: 2011-02-21 21:51:16
Temat: Re: ksišżka o programowniu AVR w C
Od: badworm <n...@p...pl>
Dnia Tue, 01 Feb 2011 10:01:53 +0100, J.F. napisał(a):
>>A mi przychodzi do głowy Racal-Redak, który udawało się odpalić na PC-XT
> Redac. Uzywalem. Takze pod nazwa Cadstar.
A czy on miał coś wspólnego z programem obecnie dostępnym pod nazwą
Cadstar?
--
Pozdrawiam Bad Worm badworm[maupa]post{kopek}pl
GG#2400455 ICQ#320399066
-
96. Data: 2011-02-21 23:38:20
Temat: Re: ksišżka o programowniu AVR w C
Od: Adam Dybkowski <a...@4...pl>
W dniu 2011-02-21 22:51 badworm napisał(a):
>>> A mi przychodzi do głowy Racal-Redak, który udawało się odpalić na PC-XT
>> Redac. Uzywalem. Takze pod nazwa Cadstar.
>
> A czy on miał coś wspólnego z programem obecnie dostępnym pod nazwą
> Cadstar?
http://en.wikipedia.org/wiki/Cadstar
http://en.wikipedia.org/wiki/Zuken
BTW: http://www.pbase.com/image/71900377
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.