Twoja opinia

Jeśli potrzebujesz:

* system na inny typ procesora,
* chcesz zaproponować nowe funkcje.

Jeśli znalazłeś błąd na WWW

coś jest wyświetlane niewłaściwie lub nie działa w twojej przeglądarce.

Możesz wysłać wiadomość

Kliknik aby napisać wiadomość.

Twoje uwagi posłużą do ulepszenia systemu DioneOS.
 

Wiadomości o DioneOS

Pelna weryfikacja wersji systemu dla ARM Cortex-M3

2013-11-14

Wersja dla ARM Cortex-M3 zostala przetestowana automa- tycznie (pelne pokrycie kodu testami: wszystkie funkcje, makra, linie kodu, warunki itd.). Testy przeprowadzono na STM32L162.

DioneOS na ARM Cortex-M3

2013-03-29

Wersja systemu DioneOS dla procesora ARM Cortex-M3 zostala opracowana.

Wstep do wielowatkowosci

2011-07-11

'Wstep do wielowatkowosci' zostal dodany do sekcji prezentacji

Obsluga maszyn stanowych

2011-06-15

Dodano infrastrukture do obslugi maszyn stanowych: kontrola przeplywu zdarzen, kolejki, przelaczanie stanow. Zdefiniowano wzorzec kodowania maszyn stanowych.

Texas Instruments Developer Network

2011-04-11

Firma ELESOFTROM przystapila do programu 'Texas Instruments MCU Developer Network'. Program skupia firmy zajmujace sie oprogramowaniem dla mikro-kontrolerow Texas Instruments oraz swiadczeniem profesjo-nalnych uslug w tej dziedzinie.

Wersja dla zwyklego MSP430

2011-04-05

Dodano mozliwosc kompilacji systemu na zwyky MSP430 oraz 'small code model'.

Wersja systemu DioneOS dla MSP430x

2011-02-02

Pierwsza wersja systemu DioneOS. System obsluguje architekture MSP430x oraz 'large code model'.


Ocena wydajności systemu

W celu oceny wydajności systemu przebadana została kluczowe operacje w systemie, sprawdzono:
1. przełączanie kontekstu pomiędzy dwoma wątkami,
2. pomierzone zostało dodatkowe obciążenie wprowadzane przez epilog i prolog sekcji krytycznej, a także przerwanie zegarowe.

Test składał się z dwóch wątków i semafora, mutexa, ISR pracujących w róźnych konfiguracjach. Generalnie, pierwszy wątek o wysokim priorytecie oczekiwał na obiekcie synchronizującym podczas gdy drugi wątek lub ISR zwalniało ten obiekt. Opóźninie było mierzone od operacji zwolnienia do rozpoczęcia kontynuacji wykonania w wątku, który oczekiwał. Moment wykonania tych operacji przez CPU był sygnalizowany na końcówkach procesora i rejestrowany analizatorem logicznym.

IdOpis
MSP430x
ARM Cortex-M3
fosc=25MHz fosc=32MHz
1od os_sema_post_intr()
do os_sema_wait()
10.4us 9.26us
2od os_sema_post()
do os_sema_wait()
11.9us 7.9us
3OS_DINT_SAVE
OS_INT_RESTORE
-- 1.16us
4os_schedule() -- 3.2us
5od os_mutex_release()
do os_mutex_get()
11.9us 7.86us
6Obciążenie przerw. zegarowego (bez timerów) 4.1us1.78us
7Obciążenie przerw. zegarowego 1 timer pracuje 4.6us 3.28us

Pomiary wykonano dla wersji zoptymalizowanej pod względem czasu działania:
1. MSP430F5438, silicon_version=msp430x, large_code_model, opt_level=3.
2. STM32L162, optymalizacja -O2
Dodatkowe funkcje systemu wspomagające debugowanie były wyłączone (np. testowanie przepełnienia w semaforach, wykrywanie zakleszczenia, statystyki schedulera itp.)