RTV forum PL | NewsGroups PL

Tryby pracy ARM7 w FreeRTOS: Ustawienia stosu w User i powrót do Supervisor

FreeRTOS, SAM7, tryby pracy jądra ARM7.

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Tryby pracy ARM7 w FreeRTOS: Ustawienia stosu w User i powrót do Supervisor

Sebastian Bialy
Guest

Sun Feb 01, 2009 7:29 pm   



Witam.

Popędzam SAM7 używając FreeRTOS. FreeRTOS wymusza na mnie wejście do
głównej pętli schedulera w trybie Sypervisor.

Większość startupów do SAM7 (od groma na sieci) ustawia na koniec przed
wskoczeniem do main tryb User.

Teraz pytanie #1:

a) Czy ARM7 umożliwia wejście w tryb User, ustawienie stosu i powrót do
Supervisor? A może ->User to bilet w jedną stronę? Próba ustawienia z
powrotem trybu Supervisor będąc w User nie powiodła się (co wydaje się
logiczne).

b) Czy w ogóle we FreeRTOS powinienem przejmować się stosem w trybie
User czy może jądro FreeRTOS go prawidłowo przydzieli? Bo jeśli ustawie
ten stos to nie wrócę do Supervisor i nie mogę poprawnie uruchmić
schedulera. Z drugiej strony olanie przeze mnie stosu w trybie User nic
nie popsuło, scheduler działa, wątki się kręcą.

Konop
Guest

Mon Feb 02, 2009 2:06 pm   



Quote:
a) Czy ARM7 umożliwia wejście w tryb User, ustawienie stosu i powrót do
Supervisor? A może ->User to bilet w jedną stronę? Próba ustawienia z
powrotem trybu Supervisor będąc w User nie powiodła się (co wydaje się
logiczne).

Przechodzenie z trybu User do Supervisor jest niemożliwe wprost...
możliwe przez przerwania Wink... programowe ;>..

Pozdrawiam
Konop

Sebastian Bialy
Guest

Mon Feb 02, 2009 2:49 pm   



Konop wrote:
Quote:
Przechodzenie z trybu User do Supervisor jest niemożliwe wprost...

OK, tak myślałem. Czyli większość startupów do SAM7 nie nadaje się do
pracy z FreeRTOS ;)

Quote:
możliwe przez przerwania Wink... programowe ;>..

Nie chodzi o hackowanie, po prostu wywaliłem kod ustawiający stos w
trybie usera w startupie i wchodzę od razu jako Supervisor do main(). I
działa poprawnie choć nie mam 100% pewności że robię to poprawnie.

AK
Guest

Mon Feb 02, 2009 6:36 pm   



Sebastian Bialy pisze:
Quote:
Konop wrote:
Przechodzenie z trybu User do Supervisor jest niemożliwe wprost...

OK, tak myślałem. Czyli większość startupów do SAM7 nie nadaje się do
pracy z FreeRTOS ;)

możliwe przez przerwania Wink... programowe ;>..

Nie chodzi o hackowanie, po prostu wywaliłem kod ustawiający stos w
trybie usera w startupie i wchodzę od razu jako Supervisor do main(). I
działa poprawnie choć nie mam 100% pewności że robię to poprawnie.
Jest to OK, jak nie uzywasz trybu "user" to nie musisz ustawiac stosu.


Pozdr
AK

AK
Guest

Mon Feb 02, 2009 6:37 pm   



Sebastian Bialy pisze:
Quote:
Konop wrote:
OK, tak myślałem. Czyli większość startupów do SAM7 nie nadaje się do
pracy z FreeRTOS Wink

A propos RTOS-a na ARM-y i podobne - ostatnio trafilem na cos takieg:
http://chibios.sourceforge.net/
moze sie koms przyda.

Pozdr
AK

Sebastian Bialy
Guest

Mon Feb 02, 2009 6:40 pm   



AK wrote:
Quote:
Jest to OK, jak nie uzywasz trybu "user" to nie musisz ustawiac stosu.

FreeRTOS używa chyba w moich wątkach. I nie wiem na ile jest w tym moja
odpowiedzialność, na razie po cichu zakładam, że odpalam go jako
Supervisor i reszta nie należy do mnie.

Sebastian Bialy
Guest

Mon Feb 02, 2009 6:42 pm   



AK wrote:
Quote:
A propos RTOS-a na ARM-y i podobne - ostatnio trafilem na cos takieg:
http://chibios.sourceforge.net/
moze sie koms przyda.

Znalazłeś już jakieś zalety nad FreeRTOS? Jestem na etapie w którym mogę
podjąć dowolne decyzje co mam mieć do obsługi wątków i może warto a
doświadczenia mam nieduże żeby to samodzielnie ocenić.

Adam Dybkowski
Guest

Tue Feb 03, 2009 2:09 am   



Sebastian Bialy pisze:

Quote:
a) Czy ARM7 umożliwia wejście w tryb User, ustawienie stosu i powrót do
Supervisor? A może ->User to bilet w jedną stronę? Próba ustawienia z
powrotem trybu Supervisor będąc w User nie powiodła się (co wydaje się
logiczne).

Nie. Supervisor może wszystko a więc może też przejść w tryb User.
W drugą stronę natomiast powrót jest możliwy tylko przez reset
procesora, przerwanie lub SWI.

Quote:
b) Czy w ogóle we FreeRTOS powinienem przejmować się stosem w trybie
User czy może jądro FreeRTOS go prawidłowo przydzieli?

BTW: Polecam przyjrzenie się systemowi Nut/OS. Ma podobne możliwości jak
FreeRTOS (semafory, kolejki komunikatów itd) ale za to naspawane od
groma gotowych sterowników - od UARTu przez SPI, Ethernet, obsługę kart
MMC aż do systemu plików FAT. Ma też stos sieciowy TCP/IP (z którego
oczywiście nie trzeba korzystać). Natomiast podobnie jak FreeRTOS cały
czas pracuje w trybie supervisor.

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

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

Sebastian Bialy
Guest

Tue Feb 03, 2009 7:10 pm   



Adam Dybkowski wrote:
Quote:
BTW: Polecam przyjrzenie się systemowi Nut/OS. Ma podobne możliwości jak
FreeRTOS (semafory, kolejki komunikatów itd) ale za to naspawane od
groma gotowych sterowników - od UARTu przez SPI, Ethernet, obsługę kart
MMC aż do systemu plików FAT. Ma też stos sieciowy TCP/IP (z którego
oczywiście nie trzeba korzystać). Natomiast podobnie jak FreeRTOS cały
czas pracuje w trybie supervisor.

Supervisor czy user w sumie żadna różnica zapewne, natomiast od Nut/OS
odrzucał mnie zawsze ten głupi konfigurator. Czy jest nadal potrzebny
czy można konfigurować całość za pomocą jakiś plików? Jestem konsolowcem
i wole mieć całość w plikach źródłowych w SVN niż wyklikaną. I czy ma
port na Linux/Win32 (w celu debugowania kodu). FreeRTOS chyba nie ma
czym mnie negatywnie zaskoczył i zastanawiam się czy jednak z niego nie
zrezygnować.

Sebastian Bialy
Guest

Tue Feb 03, 2009 7:22 pm   



Adam Dybkowski wrote:
Quote:
BTW: Polecam przyjrzenie się systemowi Nut/OS.

O teraz zauważyłem dopiero - NutOS jest tylko cooperative (?). A ja
potrzebuje pre-emptive (taka natura aplikacji docelowej).

AK
Guest

Tue Feb 03, 2009 11:20 pm   



Sebastian Bialy pisze:
Quote:
AK wrote:
A propos RTOS-a na ARM-y i podobne - ostatnio trafilem na cos takieg:
http://chibios.sourceforge.net/
moze sie koms przyda.

Znalazłeś już jakieś zalety nad FreeRTOS? Jestem na etapie w którym mogę
podjąć dowolne decyzje co mam mieć do obsługi wątków i może warto a
doświadczenia mam nieduże żeby to samodzielnie ocenić.
Np. ma port pod windowsa - moze sie przydac do debugowania/testow

W zrodlach widze za ma w tej chwili porty tylko na kompilator GCC

Pozdr
AK

Adam Dybkowski
Guest

Tue Feb 03, 2009 11:40 pm   



Sebastian Bialy pisze:

Quote:
BTW: Polecam przyjrzenie się systemowi Nut/OS. Ma podobne możliwości
jak FreeRTOS (semafory, kolejki komunikatów itd) ale za to naspawane
od groma gotowych sterowników - od UARTu przez SPI, Ethernet, obsługę
kart MMC aż do systemu plików FAT. Ma też stos sieciowy TCP/IP (z
którego oczywiście nie trzeba korzystać). Natomiast podobnie jak
FreeRTOS cały czas pracuje w trybie supervisor.

Supervisor czy user w sumie żadna różnica zapewne, natomiast od Nut/OS
odrzucał mnie zawsze ten głupi konfigurator. Czy jest nadal potrzebny
czy można konfigurować całość za pomocą jakiś plików?

"Głupi konfigurator" wciąż jest, ale istnieje także jego wersja
konsolowa. Zapuszczasz skrypt i - voila! - konfiguracja zrobiona.

Quote:
i wole mieć całość w plikach źródłowych w SVN niż wyklikaną. I czy ma
port na Linux/Win32 (w celu debugowania kodu). FreeRTOS chyba nie ma
czym mnie negatywnie zaskoczył i zastanawiam się czy jednak z niego nie
zrezygnować.

Pod Linuxem podobno Nut/OS (i jego konfigurator graficzny) śmigają
bardzo ładnie.

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

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

Sebastian Bialy
Guest

Tue Feb 03, 2009 11:52 pm   



Adam Dybkowski wrote:
Quote:
"Głupi konfigurator" wciąż jest, ale istnieje także jego wersja
konsolowa. Zapuszczasz skrypt i - voila! - konfiguracja zrobiona.

GUI czy konsola - dalej to głupi konfigurator Wink Wolałbym normalny
makefile z parametrami. Zapewne da się przerobić. Niestety jak już
wspomniałem - cooperative - odpada.

Quote:
Pod Linuxem podobno Nut/OS (i jego konfigurator graficzny) śmigają
bardzo ładnie.

Konfiguratorom mówimy nie. Natomiast port na linuxa mile widziany.

Adam Dybkowski
Guest

Wed Feb 04, 2009 10:18 pm   



Sebastian Bialy pisze:

Quote:
"Głupi konfigurator" wciąż jest, ale istnieje także jego wersja
konsolowa. Zapuszczasz skrypt i - voila! - konfiguracja zrobiona.

GUI czy konsola - dalej to głupi konfigurator Wink Wolałbym normalny
makefile z parametrami. Zapewne da się przerobić.

Heh, przy konfiguracji Nut/OS'a jest tyle możliwości że parametry
makefile'a nie zmieściłyby się na jednym ekranie. Jeżeli masz Linuxa to
pewnie przerabiałeś nieraz konfigurację kernela (make menuconfig) - ten
konfigurator Nut/OS'a jest prawie jak "make xconfig", z tym że masz
dostępną całą masę gotowych konfiguracji do wyboru.

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

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

Sebastian Bialy
Guest

Wed Feb 04, 2009 10:46 pm   



Adam Dybkowski wrote:
Quote:
Heh, przy konfiguracji Nut/OS'a jest tyle możliwości że parametry
makefile'a nie zmieściłyby się na jednym ekranie. Jeżeli masz Linuxa to
pewnie przerabiałeś nieraz konfigurację kernela (make menuconfig) - ten
konfigurator Nut/OS'a jest prawie jak "make xconfig", z tym że masz
dostępną całą masę gotowych konfiguracji do wyboru.

Tak wiem, ale widzisz: zdecydowanie nie chcę trzymać na wpół
skompilowanych częsci NutOSa w SVN. Mają tam siedzieć źródła, mam wydać
"make" i dostać *.hex. Co się w środku dzieje mnie nie interesuje, w
szczególności nie ma prawa być interaktywne (cała konfiguracja jest w
SVN). I co ważne za każdym razem pełnego budowania musi być kompilowane
od zera (taka zasada przy developingu) . NutOS zawsze mnie pod tym
względem denerowował (jakiś czas temu używałem go na atmega) dlatego
pytam czy jest trzecia, "normalna" droga do kompilacji poza klikalną
(czy to myszką czy menuconfig). Ilośc parametrów nie musi mieścić się na
ekranie ;)

Ponadto NutOS jak mówie odpadł ze względu na model multitaskingu który
mi nie odpowiada. Na placu boju ciągle tylko FreeRTOS Smile Żeby było
śmieszniej prawie wcale nie potrzebuje RT, ale jakoś wszystkie OSy na uC
starają się być takie.

elektroda NewsGroups Forum Index - Elektronika Polska - Tryby pracy ARM7 w FreeRTOS: Ustawienia stosu w User i powrót do Supervisor

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map