Pred časom sa mi dostal do rúk zaujímavý vývojový kit z dielne STMicroelectronics. V skromnom priesvitnom plastovom obale sa okrem precízne osadeného plošného spoja nachádzala už len sprievodná kartička s popisom výrobku. Najskôr som, samozrejme, svoj skúmavý elektrikársky pohľad od detstva fascinovaný medenými dráhami ukrytými pod zelenou maskou uprel práve na ne, ako v tenkých, ale pevných líniách spájajú rôzne kolíčky, LED, tlačidlá a ďalšie potvory, medzi ktorými zaujímajú výsostné postavenie čierne preparáty chrobákov s prezývkou „integráče“. Až som rozpoznal všetko, čo sa rozpoznať dalo. Príliš múdry som však, samozrejme, nebol. Mrkol som na kartičku, na ktorej medzi zopár písmenkami tučne vytŕčalo STM32 F3 MCU, WITH MEMS GYROSCOPE AND E-COMPASS.
Óóó, tak to áno. Tomuto sa pozriem na zúbky. V posledných rokoch sa usilujem zaujať svojich študentov práve robotikou a intenzívnejšie sa zaujímam o všetko, čo s tým súvisí. No a kompas, akcelerometer či gyroskop, navyše priamo zabudované na doske vývojového kitu… Čo viac som si mohol priať?
Druhá strana sprievodnej karty obsahuje 10krokový návod Getting started, takže skontrolujem nastavenie prepojok, beriem do ruky USB kábel A/mini-B (nie je súčasťou kitu) a pripájam Discovery kit k PC s cieľom napájania. LED indikujúca prítomnosť napájania a ďalšia komunikačná LED sa rozsvietia a ďalej pozorujem správanie sa kitu, na ktorom už beží predinštalovaný program. Najskôr sa cyklicky rozsvecuje 8 LED usporiadaných v 45° uhlových rozstupoch do kruhu. Svetelný efekt je tiež farebný, pretože každé dve diódy v kruhu oproti sebe majú rovnakú farbu (červená, modrá, oranžová, zelená). Po stlačení tlačidla s označením USER a cca 5 mm vysokým modrým hmatníkom demoprogram prejde do fázy prezentujúcej funkciu gyroskopu. Treba podotknúť, že osmica LED vskutku vierohodne indikuje aj najmenší pohyb či náklon kitu v príslušnom smere. Po ďalšom stlačení USER tlačidla nasleduje ukážka použitia kompasu. Kit pritom musí ležať vo vodorovnej polohe, pri významnom náklone sa totiž všetkých 8 orientačných LED rozbliká. Otáčaním kitu okolo zvislej osi vždy jedna z ôsmich LED svieti, a to tá, ktorej orientácia je najbližšie k severu. Posledné dva kroky návodu sú výzvou na preskúmanie a modifikáciu tohto demoprogramu s odkazom na webovú stránku venovanú Discovery projektu (www.st.com/stm32f3discovery) a tiež na vývoj vlastných aplikácií, pre ktoré môže byť vzorom na tom istom mieste dostupná séria príkladov.
Obr. 1 Vývojový kit STM32F3DISCOVERY od STMicroelectronics
Aj keď sa výrobca usiluje presadiť tento vývojový kit na trhu lákavou pridanou hodnotou v podobe orientačných a pohybových senzorov, oslovuje nadšencov a predovšetkým profesionálnych dizajnérov mikropočítačových systémov širokou ponukou riešených príkladov dokumentujúcich skvelé vlastnosti mikroprocesora série Cortex-M4 typového radu STM32 F3. Práve týchto záujemcov určite zaujme nasledujúci zoznam charakteristických rysov obvodu STM32F303VCT6:
aj predstavovaného kitu STM32F3Discovery:
Pretože kúpou STM32F3-Discovery získava zákazník len samotný kit a link na web projektu, pozrime sa, čo nájdeme práve na tomto webe. Je tam predovšetkým niekoľko PDF dokumentov:
Špecifikácia produktu – obsahuje popis základných vlastností a možností Discovery kitu.
User manual – obsahuje schému a plošný spoj s popisom, blokovú schému kitu aj procesora, zapojenie všetkých konektorov, význam prepojok (napríklad konfigurácia oscilátora procesora), opisuje spôsob nahrávania programu aj ladenia, opisuje všetkých 100 pinov procesora vrátane všetkých alternatívnych významov.
Séria procesorov STM32F3 – popis spoločných i rozlišujúcich znakov rodiny viac ako 70 mikroprocesorov Cortex M4.
Getting started – príručka sa venuje nastaveniu IDE, nahrávaniu a ladeniu programov pre Discovery kit v štyroch prostrediach:
Obr. 2 Ukážka ladenia vo vývojovom prostredí EWARM od IAR Systems
Programming manual – opisuje kompletne assembler mikroprocesorov radu Cortex M4, prístupové modely k jeho prostriedkom.
Ukážkové príklady ako tutoriál i demonštrácia schopností
Okrem spomenutej dokumentácie obsahuje stránka Discovery kitu aj
PDF súbor znázorňuje aj adresárovú štruktúru príkladov a o každom z nich uvádza, o čo v príklade ide. Všetky príklady obsahujú samostatnú projektovú zložku pre každé zo štyroch vyššie spomenutých vývojových prostredí tak, aby používateľ nemal žiadne starosti s nastavovaním testovaného príkladu. Všetky sú koncipované tak, aby poslúžili ako návod pre budúce samostatné projekty, zároveň tiež demonštrujú prednosti procesora Cortex-M4. Medzi príkladmi nechýba:
Skúsenosti s inštaláciou IDE, spúšťaním, tvorbou a ladením programov
Zo štyroch vývojových prostredí odporúčaných pre prácu s Discovery kitom som odskúšal dve.
Prednosťou MDK-ARM z dielne Keil™ je, že má free licenciu iba s obmedzením veľkosti programu. Inštalácia samotného softvéru prebehla bez problémov. Tie nastali až v súvislosti s ST Link ovládačom, jeho aktiváciou v prostredí MDK-ARM, čo príručka Getting started až tak dokonale nepopisuje. Ale s potvrdením príslovia „Všetko je na webe“ bol prvý program uploadnutý do kitu v priebehu hodiny. Ďalšie pokusy o spúšťanie vzorových príkladov, úpravy programov či vytváranie vlastných jednoduchých aplikácií už prebiehali bez ťažkostí v súlade s návodom. Prostredie EWARM od IAR Systems je o niečo robustnejšie (takmer 5 GB), zato počas používania bola jediným „problémom“ nutnosť registrácie, kde bolo možné vybrať aj verziu s obmedzením času (30 dní) alebo veľkosti programu (32 kB).
Tento príspevok je len malým náhľadom do obrovského priestoru technológií 32-bitových ARM procesorov Cortex M4. Kit STM32F3-Discovery rozhodne zaujme každého vývojára mikroprocesorových systémov, a to svojím výkonom, modernými službami, širokým spektrom využitia v oblastiach digitálnych systémov, analógovo-digitálnych systémov aj systémov výpočtových či komunikačných.
Zaujímavá môže byť rozhodne aj cena, ktorá sa u zahraničných predajcov pohybuje na úrovni do 20 dolárov. Kit môže byť zaujímavý aj pre študentov či amatérov s vôľou napredovať v tejto oblasti.
Vzorové príklady a popis knižníc tutoriálu sú bohatým zdrojom softvérových konceptov. Musím však upozorniť, že komfortné knižnice ani help na úrovni Arduino Wiring pre tento systém zatiaľ nie sú k dispozícii.