- Výběr nástrojů pro vývoj hardwaru a softwaru
- Vývoj STM8S103F3P6
- Programátor STM8S103F3P6
- STM8S103F3P6 IDE a kompilátor
- STM8S s Arduino pomocí Sduino
- Stahování požadovaného softwaru
- Nastavení kompilátoru STVD a Cosmic C.
- Standardní periferní knihovna pro STM8S103F3P6
- Kompilace prvního programu
- Nahrávání kódu z STVD na vývojovou desku STM8S pomocí ST-Link V2
STM8 je série 8-bitové mikrořadiče od STMicroelectronics, která se stala běžnou výběr mikrokontroléru pro cenově citlivé na vývoj produktů. Dříve jsem pracoval s AVR, PIC a několika dalšími mikrokontroléry ARM Cortex, ale jistě v některých aplikacích jsou přehnané a značně zvyšují náklady na kusovník. Nedávno, po stržení několika levných čínských produktů, jsem zjistil, že většina z nich měla uvnitř mikrokontrolér STM8. IC je nejen levný, ale také nabitý mnoha funkcemi a možnostmi, díky nimž je vhodný pro použití v mnoha různých aplikacích. Například STM8S Řada řadičů (které se v této sérii naučíme) je řadič pro všeobecné použití, ale existují i další řady, jako je STM8A pro automobilové designy a STM8L pro nízkoenergetické baterie, které rozšiřují použití těchto řadičů.
V této sérii tutoriálů se naučíme programovat mikrokontroléry STM8S, konkrétněji STM8S103F3P6. Důvodem, proč začít s tímto konkrétním číslem dílu, je právě jeho poměr cena / výkon. Jako!! podívejte se na to jen za 0,25 $ (cca 20 rupií), dostaneme 8bitový mikrokontrolér s 16Mhz interním oscilátorem, 8kB Flash, 10bitovým ADC, UART, SPI a I2C. Koho by to nezajímalo? STM8S103F3P6 je také velmi populární, a proto jako začátečník najdete dostatečnou podporu, pokud potřebujete pomoc mimo výukové programy. Počínaje tím budeme mít posloupnost tutoriálů, podobných PIC Programming Tutorials, kde se naučíme programovat tento řadič od základního blikání po různá rozhraní displeje a senzoru. Pokud máte zájem o 32bitové mikrokontroléry STM, můžete si také prohlédnout výukové programy a projekty STM32F103C8.
Výběr nástrojů pro vývoj hardwaru a softwaru
Nyní, když jsme odstranili mikrokontrolér, budeme muset vybrat nástroje pro vývoj hardwaru a softwaru, abychom zahájili proces učení. Existuje mnoho možností, zde jsem vybral ty, které jsou zdarma k použití a snadno dostupné pro každého.
Vývoj STM8S103F3P6
Oficiální vývojová deska pro 8bitový mikrokontrolér ST se nazývá sada STM8 Discovery, ale použijeme další nízkonákladovou vývojovou desku, kterou snadno najdete u místního dodavatele nebo v internetovém obchodě. Obrázek vývojové desky STM8S103F3P6, který použijeme v tomto kurzu, je uveden níže.
Deska se skládá pouze z minimálních minimálních komponent, které jsou nutné k zahájení vývoje. Je přátelský k prkénku a vhodný pro kompaktní aplikace. Schéma vnitřního zapojení vývojové desky je uvedeno níže.
Při bližším pohledu si všimnete, že kromě ovladače STM8S103F3p6 máme resetovací tlačítko pro resetování ovladače. Napájecí LED a testovací LED připojené k PB5 (Port B pin 5) a regulátor napětí AMS1117, který převádí 5V z USB portu na 3,3V pro ovladač. Regulátor lze také podle potřeby nechat pracovat na 5 V. Níže jsou označeny různé části ovladače. Máme také 4 programátorské piny, jmenovitě 3,3 V, GND, SWIM a NRST, které lze použít ke snadnému programování a ladění našeho mikrokontroléru.
Programátor STM8S103F3P6
Pro programování našeho řadiče budeme používat ST-LINK v2, který je levný a snadno dostupný online. Existuje mnoho variant (kovová, plastová, zlatá, růžová, holá deska) této desky ST-LINK v2 a všechny slouží ke stejnému účelu. Důl je zobrazen níže, ale můžete použít jakýkoli typ programátoru ST-LINK, pinout se bude lišit, takže se ujistěte, že jste si správně přečetli pinouts na krytu. K dispozici je také ST-LINK V3 od samotné ST-Microelectronics, kterou lze použít pro seriózní ladění. Prozatím to nebudeme používat, protože je to trochu drahé, necháme si to na budoucnost.
STM8S103F3P6 IDE a kompilátor
Výběr správného IDE a kompilátoru pro STM8S103F3P6 je matoucí, jednoduše proto, že je z čeho vybírat. Oficiální nástroje, které jsou k dispozici pro mikrokontrolér STM8, jsou zobrazeny na následujícím obrázku.
Na straně Konfigurace máme STM8CubeMx, zkusil jsem software a bylo to pro mě úplné zklamání. Na rozdíl od STM32Cube, může STM8Cube není automatické generování kódu. Může generovat pouze mapování pinů pro účely vizualizace a může se hodit, pokud přenášíte kód z jednoho řadiče do druhého. Kromě toho bych to nepoužil. Takže v této sérii tutoriálů to nebudeme používat.
Pro IDE a kompilátor máme na výběr z mnoha možností. První dvě možnosti IDE jsou pracovní stůl IAR a ST Visual Develop (STVD), oba software mají pocit, že jsou z 90. let, ale po nějaké době hraní s ním jsem zjistil, že STVD je dobrá volba jen proto, že je zcela zdarma. Podobně pro kompilátor budeme používat kompilátor Cosmic C, opět jen proto, že je zcela zdarma. Dalším důvodem pro výběr tohoto IDE a kompilátoru je, že jakmile se seznámíme s prostředím, mělo by být snadné používat jakýkoli jiný 8bitový mikrokontrolér od ST bez větší námahy. O tom, jak nainstalovat a nastavit STVD pomocí kompilátoru Cosmic C, se budeme věnovat dále v tomto článku.
Pro Flashing budeme používat ST Visual Programmer (STVP), tento nástroj se automaticky nainstaluje při instalaci STVD. Bude integrován do samotného IDE, což nám pomůže rychle programovat a ladit. Konečným softwarem bude STMStudio, což je monitorovací software STM8. Tento software může pomoci s laděním STM8 v reálném čase a má některé skvělé funkce, jako je sledování hodnoty proměnné, vykreslování grafů atd. S tímto softwarem jsem dostatečně neexperimentoval. A přinejmenším pro prvních několik výukových programů nebudeme tento software používat, protože nebudeme potřebovat velké požadavky na ladění.
Standardní periferní knihovna STM8S: ST Microelectronics poskytuje sadu knihoven, které usnadňují vývoj kódu pro mikrokontroléry STM8S, tato knihovna se nazývá „ Standardní periferní knihovna “ nebo zkráceně SPL. Knihovna je v pohodě, až na to, že je psána s ohledem na všechny možné řadiče v 8bitové rodině STM8S / A, nejen na řadič STM8S103F3P6, který budeme používat. Proto musíme sem tam udělat nějaké vylepšení, aby to fungovalo (o čem se podělím později). Ale přesto věřím, že to stojí za to to zkusit, protože to může velmi urychlit vývoj, a proto ho budeme používat v našem tutoriálu.
Pokud knihovnu nechcete používat, musíte přímo přistupovat k registrům řadiče nebo programovat montáž holého kovu. Oba jsou zábavné, pokud máte čas se je naučit a používat. Moje myšlenka je použít knihovnu SPL všude tam, kde to funguje dobře, a pak také pracovat na úrovni registru a sestavení, pokud je to požadováno. Zkusme znovu nevynalézat kolo!
STM8S s Arduino pomocí Sduino
Diskuse o softwarových možnostech nebude nikdy úplná, pokud nezmíním podporu Arduino IDE STM8S. Ano, stejnou desku STM8S103F3P6 lze naprogramovat přímo z Arduino IDE pomocí Sduino, a to díky Michaelovi Mayerovi. Projekt je však stále ve fázi vývoje a pravděpodobně by nějakou dobu a komunitní podporu společnosti Sduino trvalo, než poskytne úplnou podporu platformy. Avšak během několika minut od hraní se Sduino se mi to začalo líbit, a proto jsem se rozhodl udělat také samostatný článek o tom, jak programovat mikrokontrolér STM8S s Arduino. Až bude článek připraven, připojím jej sem. Tento článek pojednává o tom, proč a proč byste neměli používat Arduino IDE k programování svých mikrokontrolérů STM8S.
Toto jsou moje volby pro Software a Hardware, dejte mi vědět v sekci komentářů, pokud si myslíte, že by nějaký jiný software byl lepší volbou a proč. Rád bych prozkoumal i další možnosti.
Stahování požadovaného softwaru
Nyní, když jsme se rozhodli pro software, který použijeme pro tento tutoriál, pojďme si je stáhnout pomocí následujícího odkazu. Veškerý software je zdarma ke stažení a používání, stačí, když si zaregistrujete bezplatný účet u ST a Cosmic, pokud jste tak dosud neučinili.
- ST Visual Develop (STVD)
- Překladač Cosmic C.
- Standardní periferní knihovna
- STM8Cube Mx (volitelně)
- STMStudio pro STM8 (volitelně)
Nastavení kompilátoru STVD a Cosmic C.
Po stažení obou programů je nainstalujte podle pokynů na obrazovce. Doporučil bych je ponechat ve výchozích adresářích, aby nedošlo k pozdějšímu zmatku. STVD IDE se nainstaluje bez jakéhokoli úsilí. Pro kompilátor Cosmic C musíte během procesu instalace získat bezplatný licenční klíč. Musíte pouze poskytnout informace o společnosti s ID e-mailu, pokud jste student, stačí to zmínit. Proces získání licenčního klíče je okamžitý a automatický, i když pokyny k nastavení uvádějí, že to může trvat jeden nebo dva dny, licenční klíč jsem obdržel automaticky na svůj e-mailový identifikátor, jakmile jej odešlu, stačí se ujistit zkontrolujte SPAM. Můj potvrzovací e-mail je uveden níže.
Podle pokynů e-mailu zkopírujte soubor license.lic a vložte do podadresáře „license“ v instalační složce. Cesta pro mě byla „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ Licence“ . Jednoduše vložte soubor do umístění, jak je znázorněno níže.
Standardní periferní knihovna pro STM8S103F3P6
Jak již bylo řečeno, ST Microelectronics poskytuje knihovny zvané SPL, které lze použít pro všechny 8bitové mikrokontroléry STM8S / A. Můžete si buď stáhnout původní SPL od ST Microelectronics a provést požadované změny, nebo si stáhnout moje STL8S103F3P6 knihovny SPL a použít je jako takové. Doporučil bych později.
Originální SPL od ST Microelectronics
STM8S103F3P6 SPL
Zatímco jste tam, nezapomeňte si stáhnout uživatelskou příručku SPL, která bude velmi užitečná při programování ovladače.
Kompilace prvního programu
Nyní, když je vše připraveno, zkusme zkompilovat náš první program a zkontrolovat, zda IDE, kompilátor a knihovna fungují tak, jak by měly. Můžete také zkontrolovat video ve spodní části stránky, kde najdete podrobné pokyny.
Začněte otevřením STVD a výběrem Soubor -> Pracovní prostor, ve vyskakovacím okně vyberte možnost „Nový pracovní prostor“ a zadejte název a cestu projektu, kam má být program uložen. Pojmenuji svůj program BareMinimum a uložím jej do složky na ploše. Klikněte na OK a zobrazí se dialogové okno Nový projekt, jak je znázorněno níže.
Pojmenuji projekt znovu jako bareminimum a pod nástrojovým řetězcem musíme určit kořenový řetězec nástrojů na cestu, kde je nainstalován kompilátor STM8 Cosmic. Výchozí adresa cesty je „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8“ . Poté stačí kliknout na OK a dostanete se do okna „Výběr MCU“.
Vyhledejte STM8S103F3P, vyberte jej a klikněte na OK. Tím se otevře nový projekt pro STM8S103F3P na STVD, okna by po dokončení měla vypadat takto.
Klikněte pravým tlačítkem na „zdrojový soubor“ a vyberte „Přidat soubory do složky“, chcete-li zahrnout všechny soubory c z naší knihovny SPL, podobně klikněte pravým tlačítkem na Zahrnout soubory a zahrňte všechny hlavičkové soubory. Pokud máte nějaké dotazy, můžete se podívat na video níže. Jakmile jsou přidány všechny soubory, klikněte na Build -> rebuil d all a poté Compile a zkontrolujte, zda kompilátor a SPL fungují podle očekávání. Pokud vše půjde dobře, měli byste vidět následující obrazovku s chybou výsledku 0 a upozorněním 0.
Díky tomu si nyní můžeme být jisti, že všechny naše knihovny SPL pracují s překladačem Cosmic a STVD. Toto je standardní postup, kterým se budeme řídit u každého nového projektu. Můžete také zahrnout pouze nezbytné záhlaví a zdrojové soubory, které jsou potřebné pro projekt, aby se v případě potřeby zkrátila doba sestavení.
Nahrávání kódu z STVD na vývojovou desku STM8S pomocí ST-Link V2
Připojte ST-Link V2 k vývojové desce, jak je znázorněno níže.
Připojení jsou docela přímá a nejlepší na tom je, že nepotřebujete žádné externí komponenty. Moje hardwarové nastavení pro programování je zobrazeno níže, k připojení jsem právě použil vodiče záhlaví samice. Mějte však na paměti, že pinout vašeho ST-Link se může lišit od mého, před připojením se ujistěte, že budete postupovat podle pinout na zařízení.
Proveďte připojení a připojte zařízení k počítači, instalace ovladače by měla začít automaticky. Můžete použít správce zařízení, abyste se ujistili, že váš počítač správně objevil ST-LINK V2. Rovněž si všimnete, že testovací LED na desce bliká, pokud je to první napájení desky. Jakmile jsme úspěšně zkompilovali kód na STVD, dostaneme soubor rozšíření „S19“ v adresáři ladění složky projektu. Můj soubor S19 je zobrazen níže.
Tento S19 je jako Hex soubor, který by měl být nahrán do ovladače. Chcete-li program nahrát, otevřete ST Visual Programmer (STVP), který by měl být nainstalován spolu s STVD. Poté v konfiguračním okně vyberte, jak je znázorněno na následujícím obrázku, a klikněte na OK.
Poté klikněte na Soubor-> Otevřít a přejděte na soubor S19, který jsme si ukázali dříve. Chcete-li zařízení blikat, postupujte podle Programu -> Aktuální karta. Pokud blikání proběhlo úspěšně, měli byste vidět následující výstup.
Ve výchozím nastavení bude mít STM8S program Blin, který bliká testovací LED. Nyní po nahrání tohoto prázdného kódu LED již nebude blikat.
Důležité: Zjistil jsem, že můj ST-Link po programování automaticky neresetoval desku. Musel jsem ho odpojit a znovu připojit, abych zkontroloval výstup svého programu. Nejsem si jistý, jestli to je problém pro všechny, dejte mi vědět v sekci komentářů. Podívejte se také na video ve spodní části, které vysvětluje řešení tohoto problému.
S tímto, pojďme ukončit tento tutoriál, jsme se naučili základy hardwaru, nastavili vývojové prostředí a naučili se, jak kompilovat a nahrávat kód. Nyní jsme připraveni pokročit a budeme to používat ve všech našich nadcházejících výukových programech. Pokud máte nějaké dotazy, pošlete je na naše fóra a zůstaňte naladěni na další !!