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'.



Testowanie zabezpieczenia sekcji krytycznych i zachowania podczas pojawienia się przerwania

W celu dokładnego przetestowania działania systemu DioneOS pod względem poprawności zabezpieczenia sekcji krytycznych oraz potwierdzenia zachowania procesora ARM Cortex-M3 zastosowano metodę kontrolowanego wywoływania przerwania (rys. poniżej).


Wykorzystano do tego celu timer sprzętowy o wysokiej rozdzielczości, który wyzwalał przerwanie po upłynięciu ustawianego opóźnienia. W ten sposób możliwe było spowodowanie przerwania w określonym miejscu programu. Tego typu test wykonano wielkokrotnie, dla kolejnych wartości opóźnienia rejestrując miejsce wystąpienia przerwania (patrz ponizej obraz stosu) oraz inne parametry. W ten sposób możliwe było sprawdzenie działania dla wszystkich możliwych przypadków (m.in. wywłaszczanie przerwań z powodu różnych priorytetów, stanu przerwań, w tym przerwań oczekujących czy nawet aktywnych-oczekujacych).

Określanie miejsca wystąpienia przerwania

Po wstąpieniu przerwania procesor ARM Cortex-M3 odkłada na stosie podstawowe rejestry (t.j. XPSR, PC, R12, LR, R0-R3). Są one odkładane sprzętowo wg poniższego obrazu.

Analizując zawartość tej części stosu po wejściu w ISR można wywnioskować w jakim miejscu programu zostało wywołane przerwanie. Dodatkowo można sprawdzać zawartość rejestru LR, który zawiera informację o tym czy przerwanie przerwało obsługę innego (zagnieżdżone przerwania).

Zaawansowane cechy ARM Cortex-M3

Za pomocą stosowanych metod możliwa była obserwacja zaawansowanych cech procesora ARM Cortex-M3 takich jak:
- Tail-Chaining - pominięcie odkładania rejestrów na stos w przypadku pojawienia się kolejnego przerwania tuż po ISR
- Late Arriving Interrupt - wywołanie przerwania o wyższym priorytecie zanim rozpocznie się ISR przerwania niższego.
- Odtwarzanie rejestrów ze stosu - widoczne było kolejne odtwarzanie rejestrów
- Potok - efekt działania niektórych instrukcji nie jest jeszcze widoczny przy kolejnej instrukcji*.

*)-. Jeśli jest to niekorzystne należy zastosować barierę.