Za posledních několik let se v oblasti elektronického průmyslu prosadily na vedoucí pozici mikrokontroléry založené na jádrech Cortex-M. Dostupné jsou v různých variantách, výbavě, velikostech paměti a od mnoha různých výrobců. V oblasti 32bitového HW se staly de facto standardem a vývojový pracovník si může vybrat ze stovek odlišných typů ten, který nejlépe vyhovuje pro zamýšlenou aplikaci.
Zároveň se projevuje stále sílící tlak na rychlost vývoje zařízení, a to hlavně na úrovni SW. To vede ke snaze opětovného použití již vyvinutých a odzkoušených částí programu, ovladačů, celých modulů, ať už vlastních, nebo z jiných zdrojů, do nových projektů, nejlépe nezávisle na konkrétním použitém procesoru. V neposlední řadě nelze opominout také přirozenou potřebu využívat stávající vývojové prostředky, do kterých se pouze postupně doplňuje podpora nových variant obvodů.
Zmíněné faktory vedly společnost ARM k iniciativě pro zlepšení přenositelnosti a znovuvyužití SW ve spolupráci s různými výrobci obvodů a SW nástrojů, jejímž výsledkem je Cortex Microcontroller Software Interface Standard – zkráceně CMSIS.
CMSIS je definován konsorciem významných výrobců čipů a poskytovatelů vývojových nástrojů a nabízí společný přístup k propojení jednotlivých částí systému – ovladačů periferií, RTOS, komunikačních částí apod. od různých zdrojů.
Sestává z komponent:
- CMSIS-CORE: API pro Cortex-M procesorové jádro a periferie. Poskytuje standardizované rozhraní pro Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M7, SC000 a SC300. Součástí jsou rovněž vnitřní SIMD funkce pro Cortex-M4 a Cortex-M7 SIMD instrukce.
- CMSIS-Driver: definuje základní ovladače rozhraní pro propojení s tzv. middleware, tak aby byly použitelné u všech podporovaných procesorů. API je nezávislé na RTOS a propojuje periferie mikrokontroléru s middleware, který zajišťuje např. komunikační stack, file systém nebo grafické uživatelské rozhraní apod.
- CMSIS-DSP: DSP knihovna s více než 60 funkcemi pro různé typy dat: fix-point (fractional q7, q15, q31) a floating- -point (32 bit). Knihovna je k dispozici pro všechna Cortex-M jádra. Cortex-M4 a Cortex-M7 implementace je optimalizována pro SIMD instrukce.
- CMSIS-RTOS API: Společné API pro Real-Time operační systémy. Poskytuje standardizované rozhraní přenositelné na různé RTOS a umožňuje tak spolupráci softwarových šablon, middleware, knihoven a jiných součástí s podporovanými RTOS systémy.
- CMSIS-Pack: popisuje pomocí XML souboru (PDSC-package description file) skupinu souborů (tzv. software pack), které se vztahují k danému obvodu a uživateli. Obsahuje údaje, jako jsou zdrojový, hlavičkový soubor, knihovny, dokumentace, Flash programovací algoritmus, šablony, příklady projektů apod. Vývojové nástroje a webová infrastruktura využívá PDSC soubor k získání parametrů obvodu, softwarových komponent a konfigurací.
- CMSIS-SVD: System View Description for Peripherals. Popisuje periferie obvodu pomocí XML souboru a lze jej využít při ladění SW nebo v hlavičkových souborech s registry periferií a definicemi přerušení.
- CMSIS-DAP: Debug Access Port. Standardizovaný firmware ladicí jednotky propojený s CoreSight Debug Access portem. CMSIS-DAP je distribuován jako oddělený balík vhodný pro integraci na vývojové desky.
Více informací můžete získat na stránkách ARM www.arm.com, případně u distributora, společnosti:
HT -Eurep Electronic s. r. o.
Světova 9, 180 00 Praha 8
tel. 266 313 053
fax. 284 810 202
www.hte.cz