|
|
Maszyna wirtualna z SDK dla ISIX /2014-10-24 15:57:39/ Stworzono wirtualne środowisko dla VirtualBox zawierające SDK dla systemu ISIX Toolchain GCC4.7.2 dla Windows /2012-10-21 12:27:50/ Dodano toolchain dla Windows bazujący na nowej wersji GCC 4.7.2 i obsługą rdzeni CORTEX-M4 /2011-05-14 10:03/ Została wydana wersja 1.2 systemu ISIX RTOS, która dodaje szereg nowych funkcjoności i poprawek /2009-12-29 15:45:57/ Dodano podstronę z systemem operacyjnym ISIX mojego autorstwa przeznaczoną dla małych mikrokontrolerów wydanego na
licencji GPLv3 /2009-05-03 20:51:53/ W dziale LinARM zaktualizowano 32-bitowy kompilator dla procesorów ARM. Obsługa portów GPIO w Linuksie /2009-05-03 19:18:53/ W dziale różne zamiesczono artykuł dotyczący różnych sposobów obsługi portów GPIO w linuksie. /2009-02-15 10:39:08/ Aktualizacja pakietu LinARM oraz nowy pakiet LinCortex. /2009-01-19 21:03:19/ Dziś nakładem wydawnictwa BTC ukazała się moja kolejna publikacja "Mikrokontrolery z rdzeniem ARM9" |
ISIX-RTOS -Jądro systemu operacyjnego dla mikrokontrolerów ARM
Aby ułatwić korzystanie z SDK dla systemu ISIX przygotowano maszynę wirtualną
zawierającą jednolite środowisko programistyczne dla systemu ISIX. Wersja ISIX 1.2 została wydana. Aktualna wersje developerską wraz z przykładami można pobrać lub przeglądać z repozytorium GIT https://www.boff.pl/cgit/public/isixsamples (polecenie git clone --recursive https://www.boff.pl/cgit/public/isixsamples) lub z działu download W nowej wersji 1.2 dokonano szeregu zmian w funkcjonalności i ulepszeń. Przy czym najważniejsze zmiany to:
W internecie można znaleźć wiele różnych systemów operacyjnych (prostych schedulerów) przeznaczonych dla mikrokontrolerów. Niestety wszystkie wspomniane wcześniej systemy cechują się rozbudowanym API, skomplikowaną konfiguracją uzależnioną od platformy, a czasami dużym rozmiarem. Wspomniane wyżej cechy skłoniły mnie do rozpoczęcia prac nad nowym prostym systemem, zawierającym minimalistyczne API, które będzie łatwe do nauczenia w kilkanaście minut. Można powiedzieć że jest on bardziej biblioteką obsługi wątków/procesów na mikrokontrolerach niż pełnym systemem operacyjnym. Cały system powstał z myślą o 32-bitowych mikrokontrolerach ARM, oraz wsparciu dla języka C++. Pisząc programy dla mikrokontrolerów często stajemy przed problemem realizacji czasochłonnego zadania, które nie może blokować działania reszty aplikacji. Na przykład obsługa portu RS232 nie powinna blokować obsługi wyświetlacza LCD. W takim przypadku pisząc oprogramowanie dla mikrokontrolerów najczęściej posługujemy się maszyną stanów, dzieląc zadania na mniejsze fragmenty. Maszyna stanów oparta o konstrukcję switch ... case posiada zasadniczą wadę w postaci znacznego jej skomplikowania, oraz podatności na błędy powstałe podczas kodowania. Wspomniana wyżej maszyna stanów zakodowana ręcznie w programie jest de fakto prostym schedulerem (przełącznikiem zadań), który za każdym razem i wraz z każdą nową aplikacją jest pisana od nowa, więc takie rozwiązanie jest bardzo podatne na błędy. Dużo lepszym rozwiązaniem jest zamknięcie odpowiedniego schedulera wraz z mechanizmami komunikacji międzyprocesowej w bibliotece, którą będziemy mogli użyć w wielu aplikacjach. Tak właśnie powstał system ISIX. System ten jest biblioteką obsługi wątków wraz z prostym mechanizmem komunikacji międzyprcesowej. System ISIX posiada następujące właściwości:
Obecnie system dostępny jest na mikrokontrolery z rdzeniem ARM-CORTEX-M3/M4, nic nie stoi na przeszkodzie, aby rozszerzyć go obsługę platformy ARM7. Dodatkowo do systemu obecnie dostępne są biblioteki peryferyjne dedykowane dla mikrokontrolerów STM32. System dostępny jest na licencji GPLv3 z dodatkową klauzulą zezwalającą na linkowanie aplikacji z systemem ISIX bez konieczności redystrybucji kodu źródłowego aplikacji. Zmiany w samym kodzie systemu zgodnie z licencją wymagają redystrybucji kodu źródłowego wprowadzonych zmian. Dokumentację API dla systemu ISIX możemy znaleźć TUTAJ.
Materiały, przykłady, dodatkowe artykuły doszkalające wkrótce będą dostępne na stronie
stm32.eu, oraz na łamach czasopisma
Elektronika Praktyczna.
Ostatnia modyfikacja: 2016-12-02 17:51:58. |