. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Femto OS: RTOS pro malé MCU
20. ledna 2010 - 8:53 | Pandatron | Femto OS: RTOS pro malé MCU | Komentářů: 8  

Femto OS: RTOS pro malé MCU

Multitaskingový operační systém speciálně navržený pro malé embedded zařízení a obvody s omezenými prostředky.

FemtoOS je výstižně pojmenovaný portable real time - preemptive operating system (RTOS) pro embedded mikrokontroléry s minimálními dostupnými prostředky. Systém je použitelný na obvodech s 2 ... 16 KB Flash a 128 ... 1024 bajtů RAM. Hlavním cílem pro FemtoOS jsou přitom architektury AVR, například ATtiny nebo menší ATmegy. OS samozřejmě běží velice dobře i na rozsáhlejších obvodech, pro které je však k dispozici řada jiných systémů, optimalizovaných pro větší výkon. Celý systém je napsán v jazyce C, s odděleným "portovacím" souborem. Ty jsou v tuto chvíli dostupné pro 44 typů AVR obvodů.

Typická velikost systému v obvodu je mezi 1K a 4K Flash. Na 2K tak začíná reálná velikost systému včetně běžných aplikací. Minimální požadovaný prostor v RAM je mezi 10 a 20 B, jednotlivé úlohy vyžadují pouze 6 bytů, ale asi 20 až 40 bytů je odpovídající hodnota na reálných aplikacích. Údaje jsou přitom včetně zásobníku. Například na obvodu ATtiny261 je tak velice reálné použíti i čtyř a více úkolů. Souběžně s OS není možné provozovat další úlohu a vše tak musí být spouštěno v prostoru OS. Práce systému je přerušitelná většinu času, je-li potřeba aplikací. Pro správu, sledování a ochranu úkolů jsou k dispozici další nástroje.

Vlastní kód FemtoOS je velmi dobře zdokumentovaný a dostupný s řadou jednoduchých ukázkových aplikací. Aplikace lze jednoduše stáhnout a provozovat na kterémkoliv z podporovaných mikrokontrolérů. Většina ukázkových aplikací je navíc přímo spustitelná na nejrozšířenější vývojové sadě STK500/STK501/STK503, případně po doplnění jednoduchého hardware.

FemtoOS je distribuován pod licencí GNU/GPL v3, přičemž komerční licence i zákaznická podpora je k dispozici.

FemtoOS v číslech:

Základní parametry
Maximální počet úloh 16
Maximální počet priorit 18
Maximální počet zámků 15
Minimální velikost TCB na úkol 2 B
Minimální velikost zásobníku na úkol 4 B
Minimální velikost zásobníku OS 9 B
Minimální velikost využité paměti OS 3 B
Nejmenší aplikace 258 B
Zatížení systému
Checks on, 1KHz tick, 8MHz clock: 19%
Checks off, 1KHz tick, 8MHz clock: 9%
Checks off, 1KHz tick, 16MHz clock: 4%
Checks off, 100Hz tick, 16MHz clock: < 1%
Podporované obvody
mega128 mega3250 mega88P
mega1280 mega3250P tiny2313
mega1281 mega325P tiny24
mega1284P mega48 tiny25
mega162 mega48P tiny261
mega164P mega64 tiny43U
mega168 mega640 tiny44
mega168P mega644 tiny45
mega16 mega644P tiny461
mega2560 mega645 tiny48
mega2561 mega6450 tiny84
mega324P mega8 tiny85
mega328P mega8515 tiny861
mega32 mega8535 tiny88
mega325 mega88  

Femto OS je speciálně navržen pro malé embedded zařízení. Například nejmenší z demonstračních a výukových aplikací je s názvem "Bare", kompilovaná pro obvod ATmega8. Její činnost je založena na 16 bitovém LED čítači. Aplikace včetně zvolených prvků Femto OS zaplňuje pouze 256 B Flash a 10 B paměti RAM.

Femto OS je připraven pro kompilaci v GCC a vytvořený binární soubor závisí na zpracování zdrojového kódu preprocesorem. Proto je celý systém vázán na meze, uvedené výše. Pokud potřebujete použít více než 16 úkolů nebo jiné náročné úkony, musíte pro tyto aplikace použít náročnější systém, jako například FreeRTOS.

Ukázka FlashLeds aplikace se systémem Femto OS:

Femto OS demo aplikace v číslech:
Níže je stručný přehled několika základních ukázkových aplikací včetně velikosti výsledného kódu (včetně OS). Hodnoty jsou pro ATmega861. Více o těchto aplikacích a jejich zdrojové kódy jsou ke stažení na stránkách Femto OS.

Aplikace FLASH RAM #task Popis
Bare 270 10 0 16b binární počítadlo s LED pracující v tzv. idle task.
Minimal 590 29 2 Kopírování stavů tlačítek na LED.
FlashLeds 1004 47 8 Provoz osmi samostatně blikajících diod.
Watchdog 1762 184 10 Zachycení Watchdog a přerušení neodpovídajícího úkolu.
Rendezvous 1366 210 9 Násobná synchronizace.
Queues 1866 116 3 Přenos dat přes frontu.
Sleep 1242 76 3 Přechod do režimu spánku mezi blikáním LED.
Hooks 794 35 1 Ukázka použití system hooks.
Interrupt 2246 264 4 Ukázka různých druhů přerušení.
Shell 6874 373 10 Osm LED ovládaných z konzole.
Passon 1914 293 10 Testování využití simultánního mutexu.
Remember 2632 368 5 Zátěžový teset se souborovým systémem.
HelloWorld 960 48 2 Vypíše "Hello Word" v ASCII.

Aktuální stav:
OS je v tuto chvíli kompletní, i když stále by bylo co rozšiřovat. Prioritou FemtoOS je však minimalizace vlastního jádra a eliminace kódu zvyšujícího náročnost systému. Přidání volitelných funkcí (tj. těch, které je možné vynechat v závislosti na nastavení parametrů) je možné po dohodě s autorem.

Hlavní priorita je nyní nastavena na zcela stabilní operační systém. V současné době je tak verze 0.82 naprogramována do obvody ATmega861, kde běží nepřetržitě již od dubna 2008. Dále bude pravděpodobně potřeba pracovat na nějakém IPv2 a možné i druhu IP stacku (Femto IP).

Odkazy & Download:
Domovská stránka Femto OS: RTOS for small MCU's like AVR
Source code, documentation binaries and scripts

Examples for the AVR devices
Features of the Femto OS
Femto OS na YouTube
Femto OS Licensing







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (8):

Zobrazit starší 30 dnů (8)...



Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PU232S - převodník USB-RS232, modul
Modul s obvodem CP2102 od Silicon Labs - převodník USB/RS232 Full pro vývoj a malosériovou výrobu.
od 240 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007