książka o programowniu AVR w C

Użytkownik "identifikator: 20040501" snipped-for-privacy@go2.pl napisał w wiadomości news:iic9qp$i5o$ snipped-for-privacy@mx1.internetia.pl...

A co chcesz wiedzieć? Książka wczoraj do mnie dotarła, wg mnie całkiem fajna pozycja. Poza tym przecież masz w tamtej aukcji pdf z dostępnym rozdziałem i spisem treści, wg mnie na podstawie tego całkiem sporo można powiedzieć na temat tej książki. W odróżnieniu od "Mikrokontrolery AVR programowanie w języku C" A.Witkowskiego nie stanowi ona suchego opisu opcji kompilatora, rodzaju zmiennych, ale pokazuje jak rozwiązywać praktyczne problemy.

Czy będziesz zadowolony? No cóż zależy jaki jest twój stopień zaawansowania. Jeśli na AVR w C napisałeś już z 10 projektów, to obejdziesz sę bez tej książki. Jeśli dotąd korzystałeś z gotowych bibliotek i nie zhańbiłeś się bezpośrednią obsługą pryferii też chyba będziesz zadowolony.

Reply to
Marcin Wasilewski
Loading thread data ...

On 2011-02-02 12:43, Michoo wrote: [.....]

Także początek i koniec stosu dynamicznie tworzonych wątków/zadań? :-)

Reply to
JDX

o to mi chodziło, dzięki.

Reply to
identifikator: 20040501

Use RTOS Luke. We Freertosie definiujesz wielkość stosu dla każdego taska.

Reply to
Mario

On 2011-02-03 13:37, Mario wrote: [.....]

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. :-)

Reply to
JDX

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

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.

Reply to
Adam Dybkowski

Była mowa o programowaniu mikrokontrolerów.

Lub pod

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.

Reply to
Mario

Dnia Tue, 01 Feb 2011 10:01:53 +0100, J.F. napisał(a):

A czy on miał coś wspólnego z programem obecnie dostępnym pod nazwą Cadstar?

Reply to
badworm

W dniu 2011-02-21 22:51 badworm napisał(a):

formatting link
formatting link

Reply to
Adam Dybkowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.