- Výber nástrojov na vývoj hardvéru a softvéru
- Vývoj STM8S103F3P6
- Programátor STM8S103F3P6
- STM8S103F3P6 IDE a kompilátor
- STM8S s Arduino pomocou Sduino
- Sťahuje sa požadovaný softvér
- Nastavenie kompilátora STVD a Cosmic C.
- Štandardná periférna knižnica pre STM8S103F3P6
- Zostavenie prvého programu
- Načítanie kódu z STVD na vývojovú dosku STM8S pomocou ST-Link V2
STM8 je séria 8-bitové mikroradiče od STMicroelectronics, ktorá sa stala bežnou výber mikrokontroléra pre cenovo citlivé na vývoj produktov. Predtým som spolupracoval s AVR, PIC a niekoľkými ďalšími mikrokontrolérmi ARM Cortex, ale určite v niektorých aplikáciách budú prehnané a značne zvyšujú náklady na kusovník. Nedávno som po zbúraní niekoľkých lacných čínskych výrobkov zistil, že väčšina z nich mala v sebe mikrokontrolér STM8. IC je nielen lacný, ale obsahuje aj veľa funkcií a možností, vďaka ktorým je vhodný na použitie v mnohých rôznych aplikáciách. Napríklad STM8S séria radičov (ktoré sa naučíme v tejto sérii tutoriálov) je radič na všeobecné použitie, ale existujú aj ďalšie série, ako napríklad STM8A pre automobilové dizajny a STM8L pre nízkoenergetické batérie, ktoré rozširujú použitie týchto radičov.
V tejto sérii tutoriálov sa naučíme programovať mikrokontroléry STM8S, presnejšie STM8S103F3P6.. Dôvod, prečo začať s týmto konkrétnym číslom dielu, je len pre pomer jeho ceny k výkonu. Páči sa mi to!! stačí sa na to pozrieť len za 0,25 $ (cca 20 rupií) a dostaneme 8-bitový mikrokontrolér s 16Mhz interným oscilátorom, 8kB Flash, 10-bit ADC, UART, SPI a I2C. Koho by to nezaujalo? STM8S103F3P6 je tiež veľmi populárny, a preto ako začiatočník v ňom nájdete dostatočnú podporu, ak potrebujete pomoc mimo kurzov. Počnúc týmto budeme mať postupnosť tutoriálov, podobných PIC Programming Tutorials, kde sa naučíme programovať tento radič od základného blikania po rôzne prepojenia displejov a senzorov. Ak máte záujem o 32-bitové mikrokontroléry STM, môžete si tiež pozrieť príručku a projekty STM32F103C8.
Výber nástrojov na vývoj hardvéru a softvéru
Teraz, keď sme zbavili mikrokontrolér funkcie, budeme musieť zvoliť nástroje na vývoj hardvéru a softvéru, aby sme mohli zahájiť proces učenia. Existuje veľa možností, tu som vybral tie, ktoré sú zadarmo na použitie a sú ľahko dostupné pre všetkých.
Vývoj STM8S103F3P6
Oficiálna vývojová doska pre 8-bitový mikrokontrolér ST sa nazýva sada STM8 Discovery, ale použijeme ďalšiu nízkonákladovú vývojovú dosku, ktorú ľahko nájdete u miestneho dodávateľa alebo v internetovom obchode. Obrázok vývojovej dosky STM8S103F3P6, ktorý použijeme v tomto návode, je uvedený nižšie.
Doska sa skladá iba z minimálneho minima komponentov, ktoré sú potrebné na zahájenie vývoja. Je priateľský k doske a vhodný pre kompaktné aplikácie. Schéma vnútorného obvodu vývojovej dosky je uvedená nižšie.
Pri bližšom pohľade si všimnete, že okrem ovládača STM8S103F3p6 máme tlačidlo reset, pomocou ktorého je možné resetovať ovládač. Napájací a testovací kábel pripojený k PB5 (port B, pin 5) a regulátor napätia AMS1117, ktorý prevádza 5V z USB portu na 3,3V pre radič. Regulátor môže byť tiež vyrobený na prevádzku na 5V, ak je to potrebné. Rôzne časti na ovládači sú označené nižšie. Máme tiež 4 programátorské piny, menovite 3,3 V, GND, SWIM a NRST, pomocou ktorých je možné ľahko programovať a ladiť náš mikrokontrolér.
Programátor STM8S103F3P6
Na programovanie nášho radiča budeme používať ST-LINK v2, ktorý je lacný a ľahko dostupný online. Existuje veľa variantov (kovová, plastová, zlatá, ružová, holá doska) tejto dosky ST-LINK v2 a všetky slúžia na rovnaký účel. Moja je uvedená nižšie, ale môžete použiť akýkoľvek typ programátora ST-LINK, pinout sa bude líšiť, takže si pozorne prečítajte správne pinouty na kryte. Existuje aj ST-LINK V3 od samotnej ST-Microelectronics, ktorú je možné použiť na vážne ladenie. Zatiaľ to nebudeme používať, pretože je to trochu drahé, ušetríme si to pre budúcnosť.
STM8S103F3P6 IDE a kompilátor
Výber správneho IDE a kompilátora pre STM8S103F3P6 je zmätený, jednoducho preto, že existuje veľa možností na výber. Oficiálne nástroje, ktoré sú k dispozícii pre mikrokontrolér STM8, sú zobrazené na obrázku nižšie.
Na strane Konfigurácia máme STM8CubeMx, skúsil som softvér a pre mňa to bolo úplné sklamanie. Na rozdiel od STM32Cube, môže STM8Cube nie je automatické generovanie kódu. Môže generovať iba mapovanie pinov na účely vizualizácie a mohlo by sa vám hodiť, ak prenášate svoj kód z jedného radiča do druhého. Okrem toho by som to nepoužíval. Takže v tejto sérii tutoriálov to nebudeme používať.
Pre IDE a kompilátor máme na výber z mnohých možností. Najlepšie dve možnosti pre IDE sú pracovný stôl IAR a ST Visual Develop (STVD), pričom softvér má pocit, že je z 90. rokov, ale po nejakom čase hrania s ním som zistil, že STVD je dobrou voľbou iba preto, že je úplne zadarmo. Podobne pre kompilátor budeme používať kompilátor Cosmic C, opäť len preto, že je úplne zadarmo. Ďalším dôvodom pre výber tohto IDE a kompilátora je, že akonáhle sa oboznámime s prostredím, malo by byť ľahké bez akejkoľvek námahy použiť akýkoľvek iný 8-bitový mikrokontrolér od ST. O tom, ako nainštalovať a nastaviť STVD s kompilátorom Cosmic C sa budeme ďalej zaoberať v tomto článku.
V prípade programu Flashing budeme používať program ST Visual Programmer (STVP), ktorý sa automaticky nainštaluje pri inštalácii programu STVD. Bude integrovaný do samotného IDE, čo nám pomôže rýchlo programovať a ladiť. Konečným softvérom bude STMStudio, čo je monitorovací softvér STM8. Tento softvér môže pomôcť s ladením STM8 v reálnom čase a má niekoľko skvelých funkcií, ako je sledovanie hodnoty premennej, vykreslenie grafu atď. S týmto softvérom som dosť neexperimentoval. Prinajmenšom počas prvých pár tutoriálov nebudeme tento softvér používať, pretože nebudeme potrebovať veľké požiadavky na ladenie.
Štandardná periférna knižnica STM8S: ST Microelectronics poskytuje sadu knižníc, ktoré uľahčujú vývoj kódu pre mikrokontroléry STM8S, táto knižnica sa nazýva „ Štandardná periférna knižnica “ alebo skrátene SPL. Knižnica je v pohode, až na to, že je napísaná tak, že pamätá na všetky možné radiče v 8-bitovej rodine STM8S / A a nielen na radič STM8S103F3P6, ktorý budeme používať. Preto musíme sem-tam urobiť nejaké vylepšenia, aby to fungovalo (o čo sa podelím neskôr). Ale napriek tomu verím, že stojí za to to vyskúšať, pretože môže vývoj veľmi rýchlo urýchliť, a preto ho budeme používať v našom výučbe.
Ak nechcete používať knižnicu, musíte priamo vstúpiť do Registrov radiča alebo programovať montáž bez použitia kovov. Oboje je zábavné, ak máte čas sa ho naučiť a používať. Mojou myšlienkou je použiť knižnicu SPL všade tam, kde to funguje dobre, a potom v prípade potreby tiež pracovať na úrovni registra a zostavy. Pokúsme sa koleso znova nevymyslieť!
STM8S s Arduino pomocou Sduino
Diskusia o možnostiach softvéru nebude nikdy úplná, ak nehovorím o podpore Arduino IDE STM8S. Áno, rovnakú dosku STM8S103F3P6 je možné vďaka Michaelovi Mayerovi programovať priamo z Arduino IDE pomocou Sduino. Projekt je však stále vo fáze vývoja a pravdepodobne by vyžadovalo istý čas a komunitnú podporu spoločnosti Sduino, aby poskytla úplnú podporu platformy. Avšak hneď po niekoľkých minútach od hrania so Sduinom sa mi to začalo páčiť, a preto som sa rozhodol urobiť aj samostatný článok o tom, ako programovať mikrokontrolér STM8S s Arduinom. Až bude článok pripravený, prepojím ho sem. V tomto článku sa bude diskutovať o tom, prečo a prečo by ste nemali používať Arduino IDE na programovanie svojich mikrokontrolérov STM8S.
Toto sú moje možnosti pre softvér a hardvér, dajte mi vedieť v sekcii komentárov, ak si myslíte, že by iný softvér bol lepšou voľbou a prečo. Chcel by som preskúmať aj ďalšie možnosti.
Sťahuje sa požadovaný softvér
Teraz, keď sme sa rozhodli pre softvér, ktorý použijeme pre tento tutoriál, poďme si ich stiahnuť pomocou nasledujúceho odkazu. Celý softvér je zadarmo na stiahnutie a použitie, stačí, ak si zaregistrujete bezplatný účet v službách ST a Cosmic, ak ste tak ešte neurobili.
- ST Visual Develop (STVD)
- Kompilátor Cosmic C.
- Štandardná periférna knižnica
- STM8Cube Mx (voliteľné)
- STMStudio pre STM8 (voliteľné)
Nastavenie kompilátora STVD a Cosmic C.
Po stiahnutí obidvoch softvérov ich nainštalujte podľa pokynov na obrazovke. Odporúčam im ponechať predvolené adresáre, aby ste sa vyhli neskoršiemu zmätku. STVD IDE sa nainštaluje bez akejkoľvek námahy. Pre kompilátor Cosmic C musíte počas procesu inštalácie získať bezplatný licenčný kľúč. Musíte len poskytnúť informácie o spoločnosti s e-mailovým ID, ak ste študentom, stačí to spomenúť. Procesy získania licenčného kľúča sú okamžité a automatické, aj keď pokyny na nastavenie hovoria, že to môže trvať deň alebo dva, licenčný kľúč som dostal automaticky na svoje e-mailové ID hneď po jeho zadaní, len sa uistite, že skontrolujte SPAM. Môj potvrdzovací e-mail je uvedený nižšie.
Podľa pokynov e-mailu stačí skopírovať súbor license.lic a vložiť do podadresára „license“ vo vašom inštalačnom priečinku. Cesta pre mňa bola „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License“ . Stačí vložiť súbor na miesto, ako je uvedené nižšie.
Štandardná periférna knižnica pre STM8S103F3P6
Ako už bolo povedané, spoločnosť ST Microelectronics poskytuje knižnice s názvom SPL, ktoré sa dajú použiť pre všetky 8-bitové mikrokontroléry STM8S / A. Môžete si buď stiahnuť pôvodný SPL od spoločnosti ST Microelectronics a vykonať požadované zmeny, alebo si stiahnuť moje knižnice SPM STM8S103F3P6 a použiť ich ako také. Odporučil by som neskôr.
Originálny SPL od spoločnosti ST Microelectronics
STM8S103F3P6 SPL
Pokiaľ ste tam, nezabudnite si stiahnuť používateľskú príručku SPL, ktorá bude veľmi užitočná pri programovaní ovládača.
Zostavenie prvého programu
Teraz, keď je všetko pripravené, skúsme zostaviť náš prvý program a skontrolovať, či IDE, kompilátor a knižnica fungujú tak, ako majú. Môžete tiež skontrolovať video v dolnej časti stránky, kde nájdete podrobné pokyny.
Začnite otvorením STVD a vyberte File -> WorkSpace, v rozbaľovacej ponuke zvoľte „New Workspace“ a zadajte názov a cestu projektu, kam sa má program uložiť. Pomenujem svoj program BareMinimum a uložím ho do priečinka na pracovnej ploche. Kliknite na OK a dostanete dialógové okno Nový projekt, ako je uvedené nižšie.
Pomenujem projekt opäť ako bareminimum a pod nástrojovým reťazcom musíme určiť koreň nástroja na ceste, kde je nainštalovaný kompilátor STM8 Cosmic. Predvolená adresa je „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8“ . Potom stačí kliknúť na OK a dostanete sa do okna „Výber MCU“.
Vyhľadajte STM8S103F3P, vyberte ho a kliknite na tlačidlo OK. Týmto sa na STVD otvorí nový projekt pre STM8S103F3P, po dokončení by mali okná vyzerať takto.
Kliknite pravým tlačidlom myši na „zdrojový súbor“ a vyberte možnosť „Pridať súbory do priečinka“, aby ste zahrnuli všetky súbory c z našej knižnice SPL. Podobne kliknite pravým tlačidlom myši na možnosť Zahrnúť súbory, aby ste zahrnuli všetky hlavičkové súbory. Ak máte nejaké otázky, môžete si pozrieť video nižšie. Akonáhle sú všetky súbory pridané, kliknite na Build -> rebuil d all a potom Compile na kontrolu, či kompilátor a SPL fungujú podľa očakávania. Ak všetko pôjde dobre, mala by sa zobraziť nasledujúca obrazovka s chybou výsledku výsledku 0 a varovaním 0.
Keď to urobíme, môžeme si byť istí, že všetky naše knižnice SPL pracujú s kompilátorom Cosmic a STVD. Toto je štandardný postup, ktorým sa budeme riadiť pri každom novom projekte. Môžete tiež zahrnúť iba nevyhnutné hlavičky a zdrojové súbory, ktoré sú potrebné pre projekt, aby sa v prípade potreby skrátil čas potrebný na zostavenie.
Načítanie kódu z STVD na vývojovú dosku STM8S pomocou ST-Link V2
Pripojte ST-Link V2 k vývojovej doske, ako je to znázornené nižšie.
Pripojenia sú celkom priame a najlepšie na tom je, že nepotrebujete žiadne externé komponenty. Moje hardvérové nastavenie pre programovanie je zobrazené nižšie, na pripojenie som práve použil vodiče ženskej hlavičky. Nezabudnite však, že pinout vášho ST-Link sa môže líšiť od môjho, preto sa pred pripojením spojte s pinoutom na zariadení.
Vytvorte pripojenie a pripojte zariadenie k počítaču, inštalácia ovládača by sa mala začať automaticky. Môžete použiť správcu zariadení, aby ste sa uistili, či váš počítač našiel ST-LINK V2 správne. Tiež si všimnete, že testovacia LED na doske bliká, ak je to prvé napájanie dosky. Hneď ako sme úspešne skompilovali kód na STVD, dostaneme pod ladiacim adresárom priečinka projektu súbor rozšírenia „S19“. Môj súbor S19 je uvedený nižšie.
Tento S19 je ako hexadecimálny súbor, ktorý by sa mal nahrať do ovládača. Ak chcete program nahrať, otvorte program ST Visual Programmer (STVP), ktorý by mal byť nainštalovaný spolu s programom STVD. Potom v konfiguračnom okne vyberte, ako je znázornené na nasledujúcom obrázku, a kliknite na tlačidlo OK.
Potom kliknite na Súbor-> Otvoriť a prejdite na súbor S19, ktorý sme si predtým ukázali. Ak chcete zariadenie flashovať, postupujte podľa pokynov v časti Program -> Aktuálna karta. Ak bolo blikanie úspešné, mali by ste vidieť nasledujúci výstup.
V predvolenom nastavení bude mať STM8S štandardný program, ktorý bude blikať na testovaciu LED. Teraz po nahraní tohto prázdneho kódu LED už nebude blikať.
Dôležité: Zistil som, že môj ST-Link po programovaní automaticky nevynuloval dosku. Musel som ho odpojiť a znova pripojiť, aby som skontroloval výstup môjho programu. Nie som si istý, či to robí problém všetkým, dajte mi vedieť v sekcii komentárov. Skontrolujte tiež video v dolnej časti, ktoré vysvetľuje riešenie tohto problému.
S týmto, poďme na záver tohto tutoriálu, sme sa naučili základy hardvéru, nastavili sme vývojové prostredie a naučili sa, ako kompilovať a nahrávať kód. Teraz sme pripravení napredovať a budeme to používať vo všetkých našich nadchádzajúcich tutoriáloch. Ak máte akékoľvek otázky, pošlite ich na naše fóra a sledujte ďalšie informácie !!