- A hardver és szoftverfejlesztő eszközök kiválasztása
- STM8S103F3P6 fejlesztés
- STM8S103F3P6 programozó
- STM8S103F3P6 IDE és a fordító
- STM8S az Arduinóval a Sduino segítségével
- A szükséges szoftverek letöltése
- Az STVD és a Cosmic C Compiler beállítása
- Standard perifériás könyvtár az STM8S103F3P6 számára
- Az első program összeállítása
- A kód feltöltése az STVD-ről az STM8S fejlesztői táblára az ST-Link V2 használatával
A STM8 egy sor 8-bit mikrovezérlők származó STMicroelectronics vált a közös választás mikrokontroller költség-érzékeny termékek fejlesztését. Korábban dolgoztam AVR-rel, PIC-szel és néhány más ARM Cortex mikrokontrollerrel, de bizonyos alkalmazásoknál bizonyára túlteljesek és jelentősen megnövelik a BOM költségeket. Nemrég, néhány olcsó kínai termék lebontása után, azt tapasztaltam, hogy a legtöbbjükben van egy STM8 mikrovezérlő. Az IC nem csak olcsó, de rengeteg funkcióval és opcióval is rendelkezik, így sokféle alkalmazásra alkalmas. Például az STM8S A vezérlők sora (amelyet ebben az oktatósorozatban fogunk megtanulni) egy általános célú vezérlő, de vannak más sorozatok is, például az STM8A az Automotive Designs számára és az STM8L az alacsony fogyasztású akkumulátoros kivitelekhez, amelyek kiterjesztik ezen vezérlők alkalmazását.
Ebben az oktatósorozatban megtanuljuk, hogyan kell programozni az STM8S mikrovezérlőket, pontosabban az STM8S103F3P6. Ennek a konkrét cikkszámnak az indulásának oka csak az ár-teljesítmény tényező. Mint!! csak nézze meg csak 0,25 $ (kb. 20 rúpia) áron, kapunk egy 8 bites mikrovezérlőt 16Mhz belső oszcillátorral, 8kB Flash, 10-bites ADC, UART, SPI és I2C. Ki ne lenne érdekelt? Továbbá az STM8S103F3P6 széles körben népszerű, ezért kezdőként elegendő támogatást talál, ha segítségre van szüksége az oktatóanyagokon kívül. Ebből kiindulva oktatósorozataink lesznek, hasonlóan a PIC programozási oktatóanyagokhoz, ahol megtanuljuk, hogyan kell programozni ezt a vezérlőt az alapvető villogástól kezdve a különféle kijelző és érzékelő interfészig. Megtekintheti az STM32F103C8 oktatóanyagot és a projekteket is, ha érdekli a 32 bites STM mikrokontrollerek.
A hardver és szoftverfejlesztő eszközök kiválasztása
Most, hogy megsemmisítettük a mikrovezérlőt, ki kell választanunk a hardver- és szoftverfejlesztő eszközöket a tanulási folyamat megkezdéséhez. Sok lehetőség van, itt kiválasztottam azokat, amelyek ingyenesen használhatók és mindenki számára könnyen elérhetők.
STM8S103F3P6 fejlesztés
Az ST 8 bites mikrokontrollerének hivatalos fejlesztőtáblája az STM8 Discovery kit nevet viseli, de egy másik olcsó fejlesztőtáblát használunk, amelyet könnyen megtalálhat egy helyi beszállítónál vagy az online áruházban. Az STM8S103F3P6 fejlesztőtábla képe, amelyet ebben az oktatóanyagban fogunk használni, az alábbiakban látható.
A tábla csak a fejlesztés megkezdéséhez szükséges minimális alkatrészekből áll. Kenyérlemez-barát és kompakt alkalmazásokhoz alkalmas. Az alábbiakban bemutatjuk a fejlesztőkártya belső kapcsolási rajzát.
Jobban megnézve, észreveheti, hogy az STM8S103F3p6 vezérlőn kívül van egy reset gombunk a vezérlő visszaállításához. Egy tápfeszültség és egy tesztvezeték csatlakozik a PB5-hez (B csatlakozó 5. érintkezője) és egy AMS1117 feszültségszabályozóval, amely átalakítja az 5 V-ot egy USB-portról 3,3 V-ra a vezérlő számára. A vezérlő szükség esetén 5 V-on is működtethető. A vezérlő különböző részeit az alábbiakban jelöljük. Négy programozótűnk is van, nevezetesen a 3.3V, a GND, a SWIM és az NRST, amelyekkel egyszerűen programozható és hibakereshető a mikrovezérlő.
STM8S103F3P6 programozó
Vezérlőnk programozásához az ST-LINK v2-t fogjuk használni, amely olcsó és könnyen elérhető online. Ennek az ST-LINK v2 táblának számos változata létezik (fém, műanyag, arany, rózsaszín, csupasz tábla), és mindegyik ugyanazt a célt szolgálja. Az enyém az alábbiakban látható, de bármilyen típusú ST-LINK programozót használhat, a pinout különbözik, ezért csak győződjön meg róla, hogy helyesen olvasta el a burkolat rögzítőit. Van még maga az ST-Microelectronics által készített ST-LINK V3 is, amely komoly hibakereséshez használható. Ezt egyelőre nem használjuk, mivel ez egy kicsit drága, ezért megtakarítjuk a jövőre.
STM8S103F3P6 IDE és a fordító
A megfelelő IDE és a fordító kiválasztása az STM8S103F3P6 számára zavarba ejtő, egyszerűen azért, mert rengeteg lehetőség közül lehet választani. Az STM8 mikrokontrollerhez rendelkezésre álló hivatalos eszközöket az alábbi kép mutatja.
A Konfiguráció oldalon van az STM8CubeMx, kipróbáltam a szoftvert, és ez teljesen cserbenhagyott számomra. Az STM32Cube-tól eltérően az STM8Cube nem képes automatikusan generálni kódot. Csak vizualizációs célokra generálhat pin-leképezést, és hasznos lehet, ha kódját egyik vezérlőből a másikba hordozza. Ezen kívül nem használnám. Tehát ebben az oktatósorozatban nem ezt fogjuk használni.
Az IDE és a fordító számára rengeteg lehetőség közül választhatunk. Az IDE két legfontosabb lehetősége az IAR munkapad és az ST Visual Develop (STVD), mind a szoftver úgy érzi, mintha a 90-es évekből származna, de egy idő után játszva ezzel, az STVD csak azért jó választás, mert teljesen ingyenes. Hasonlóképpen, a Compiler esetében a Cosmic C Compiler programot fogjuk használni, megint csak azért, mert teljesen ingyenes. Az IDE és a fordító kiválasztásának másik oka az, hogy miután megismerkedtünk a környezettel, könnyen meg kell könnyíteni bármilyen más 8 bites ST mikrokontrollert az ST-től. Az STVD telepítésével és beállításával a Cosmic C fordítóval foglalkozunk a cikk későbbi részében.
A villogáshoz az ST Visual Programmer (STVP) programot fogjuk használni, ez az eszköz automatikusan telepítésre kerül az STVD telepítésekor. Magába az IDE-be fog integrálni, ami segít nekünk a gyors programozásban és a hibakeresésben. A végső szoftver az STMStudio lesz, amely egy STM8 Monitoring szoftver. A szoftver segíthet az STM8 valós idejű hibakeresésében, és van néhány remek funkciója, például a változóérték figyelése, a grafikon ábrázolása stb. Nem kísérleteztem még eleget ezzel a szoftverrel. És legalább az első oktatóanyagok esetében nem fogjuk használni ezt a szoftvert, mivel nem lesz szükségünk nagy hibakeresési követelményekre.
STM8S Standard perifériás könyvtár: Az ST Microelectronics egy sor könyvtárat kínál, amelyek megkönnyítik a kódfejlesztést az STM8S mikrokontrollerek számára. Ezt a könyvtárat röviden „ Standard Peripheral Library ” -nak vagy SPL-nek hívják. A könyvtár klassz, kivéve, hogy az STM8S / A 8-bites család összes lehetséges vezérlőjét szem előtt tartva íródik, és nem csak az általunk használt STM8S103F3P6 vezérlőt. Ennélfogva ide-oda kell változtatnunk, hogy működjön (amit később megosztok). De mégis úgy gondolom, hogy érdemes kipróbálni, mert ez nagyon gyorsan elősegítheti a fejlesztést, ezért ezt a bemutatónkban is használni fogjuk.
Ha nem akarja használni a könyvtárat, akkor közvetlenül hozzá kell férnie a vezérlő regisztereihez, vagy csupasz fém összeállítás programozást kell végrehajtania. Mindkettő szórakoztató, feltéve, hogy van ideje megtanulni és használni. Az ötletem az, hogy az SPL könyvtárat használjam bárhol, ahol jól működik, majd szükség esetén regisztráció és összeszerelés szinten is dolgozzak. Próbáljuk meg nem feltalálni a kereket újra!
STM8S az Arduinóval a Sduino segítségével
A szoftveropciók megvitatása soha nem lesz teljes, ha nem említem az Arduino IDE támogatást STM8S. Igen, Michael Mayer jóvoltából ugyanaz az STM8S103F3P6 alaplap programozható közvetlenül az Arduino IDE-ről a Sduino segítségével. De a projekt még fejlesztési szakaszban van, és valószínűleg időbe és közösségi támogatásba telik, amíg a Sduino teljes körű platformtámogatást nyújt. Néhány percen belül, miután játszottam a Sduinóval, kezdtem tetszeni, és ezért úgy döntöttem, hogy külön cikket is készítek az STM8S mikrokontroller Arduinóval történő programozásáról. A cikket ide fogom linkelni, ha elkészül. Ebben a cikkben arról lesz szó, hogy miért és miért ne érdemes az Arduino IDE-t használni az STM8S mikrovezérlők programozásához.
Szóval, ezek a szoftverek és hardverek a választásaim, tudassa velem a megjegyzés részben, ha úgy gondolja, hogy valamilyen más szoftver lett volna jobb választás, és miért. Szeretnék felfedezni más lehetőségeket is.
A szükséges szoftverek letöltése
Most, hogy eldöntöttük, milyen szoftvert fogunk használni az oktatóanyaghoz, folytassuk és töltsük le őket a következő link használatával. Az összes szoftver ingyenesen letölthető és használható, csak regisztrálnia kell egy ingyenes fiókot az ST-n és a Cosmic-on, ha még nem tette volna meg.
- ST Visual Develop (STVD)
- Kozmikus C fordító
- Normál perifériás könyvtár
- STM8Cube Mx (opcionális)
- STMStudio for STM8 (opcionális)
Az STVD és a Cosmic C Compiler beállítása
Miután letöltötte mindkét szoftvert, kövesse a képernyőn megjelenő utasításokat a telepítéshez. Azt javaslom, hogy hagyja őket az alapértelmezett könyvtárakban, hogy elkerüljék a későbbi zavart. Az STVD IDE minden erőfeszítés nélkül települ. A Cosmic C fordítóhoz egy ingyenes licenckulcsot kell beszereznie a telepítési folyamat során. Csak meg kell adnia a cég adatait e-mail azonosítóval, ha hallgató vagy, csak említsd meg. A licenckulcs megszerzésének folyamata azonnali és automatikus, bár a telepítési utasítások szerint egy-két napba is beletelhet, a licenckulcsot automatikusan megkaptam az e-mail azonosítómon, amint elküldtem, csak győződjön meg róla, hogy ellenőrizze a SPAM-et. A megerősítő e-mailem lent látható.
Az E-mail utasítások szerint másolja csak a licence.lic fájlt, és illessze be a telepítési mappa „licenc” almappájába. Számomra az elérési út a „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" volt . Csak illessze be a fájlt az alább látható helyre.
Standard perifériás könyvtár az STM8S103F3P6 számára
Mint korábban elmondtuk, az ST Microelectronics biztosítja az SPL nevű könyvtárakat, amelyek minden 8 bites STM8S / A mikrokontrollerhez használhatók. Vagy letöltheti az eredeti SPL-t az ST Microelectronics-ból, és elvégezheti a szükséges módosításokat, vagy letöltheti az STM8S103F3P6 SPL-könyvtárakat, és felhasználhatja őket ilyenként. A későbbit ajánlanám.
Eredeti SPL az ST Microelectronics-tól
STM8S103F3P6 SPL
Amíg ott van, győződjön meg arról is, hogy letölti az SPL felhasználói kézikönyvet, amely nagyon hasznos lesz a vezérlő programozásakor.
Az első program összeállítása
Most, hogy minden készen áll, próbáljuk meg lefordítani az első programunkat, hogy ellenőrizhessük, hogy az IDE, a fordító és a könyvtár megfelelően működnek-e. A részletes utasításokat az oldal alján található videóból is ellenőrizheti.
Kezdje az STVD megnyitásával, és válassza a Fájl -> WorkSpace lehetőséget, az előugró ablakban válassza az „Új munkaterület” lehetőséget, és adja meg a Projekt nevét és elérési útját, ahová a programot menteni kell. A programomat BareMinimumnak nevezem el, és az asztalon lévő mappába mentem. Kattintson az OK gombra, és megjelenik az Új projekt párbeszédpanel, az alábbiak szerint.
Ismét bareminimumnak nevezem a projektet, és az toolchain alatt meg kell adnunk az eszközlánc gyökerét ahhoz az útvonalhoz, ahová az STM8 Cosmic fordító telepítve van. Az alapértelmezett elérési út cím: „C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8" . Ezután csak kattintson az OK gombra az „MCU Selection” ablak megjelenítéséhez.
Keresse meg az STM8S103F3P elemet, jelölje ki és kattintson az OK gombra. Ez új projektet nyit meg az STM8S103F3P számára az STVD-n, a Windows-nak így kell kinéznie, ha kész.
Kattintson a jobb gombbal a „forrásfájl” elemre, és válassza az „Fájlok hozzáadása mappához” lehetőséget, hogy az SPL könyvtárunk összes c fájlját felvegye. Hasonlóképpen kattintson a jobb gombbal a Fájlok hozzáadása elemre, hogy az összes fejlécfájlt felvegye. Ha kérdése van, olvassa el az alábbi videót. Miután az összes fájlt hozzáadta, kattintson a Build -> összes újjáépítése , majd a Compile elemre, hogy ellenőrizze, hogy a fordító és az SPL a várt módon működik-e. Ha minden jól megy, akkor a következő képernyőt kell látnia, 0 hibával és 0 figyelmeztetéssel.
Ezzel készen lehetünk arra, hogy az összes SPL könyvtárunk a Cosmic fordítóval és az STVD-vel dolgozik. Ezt a szokásos eljárást fogjuk követni minden új projektnél. Ezenkívül csak a szükséges fejléc- és forrásfájlokat is felveheti, amelyek szükségesek ahhoz, hogy a projekt szükség esetén lerövidítse az építési időt.
A kód feltöltése az STVD-ről az STM8S fejlesztői táblára az ST-Link V2 használatával
Csatlakoztassa az ST-Link V2-t a fejlesztőkártyához az alábbiak szerint.
A csatlakozások meglehetősen egyenesek, és a legjobb az, hogy nincs szükség külső alkatrészekre. A programozáshoz szükséges hardveres beállításaim az alábbiakban láthatók, a csatlakozáshoz éppen a női fejléc vezetékeket használtam. Ne feledje azonban, hogy az ST-Link kivezetése eltérhet az enyémtől, a csatlakozások megkezdése előtt feltétlenül kövesse az eszköz pinoutját.
Hozza létre a csatlakozást, és csatlakoztassa az eszközt a számítógépéhez, az illesztőprogram telepítését automatikusan meg kell kezdeni. Az eszközkezelővel megbizonyosodhat arról, hogy számítógépe megfelelően felfedezte-e az ST-LINK V2-t. Azt is észreveszi, hogy a táblán lévő teszt LED villog, ha ez az első alkalom, hogy a táblát bekapcsolja. Amint sikeresen lefordítottuk a kódot az STVD-n, kapunk egy „S19” kiterjesztési fájlt a projektmappának a hibakeresési könyvtárában. Az S19 fájlom az alábbiakban látható.
Ez az S19 olyan, mint a Hex fájl, amelyet fel kell tölteni a vezérlőbe. A program feltöltéséhez nyissa meg az ST Visual Programmer (STVP) alkalmazást, amelyet az STVD-vel együtt kellett volna telepíteni. Ezután a konfigurációs ablakban válassza ki az alábbi képen látható módon, és kattintson az OK gombra.
Ezután kattintson a Fájl-> Megnyitás gombra, és keresse meg az S19 fájlt, amelyet korábban bemutattunk. Ezután a készülék villogásához kövesse a Program -> Aktuális fület. Ha a villogás sikeres volt, akkor a következő kimenetet kell látnia.
Alapértelmezés szerint, amikor megvásárolja az STM8S-t, akkor egy blin programja van, amely villog a teszt LED-jén. Az üres kód feltöltése után a LED már nem villog.
Fontos: Megállapítottam, hogy az ST-Linkem a programozás után nem állította vissza automatikusan a kártyát. A program kimenetének ellenőrzéséhez le kellett és le kellett kapcsolnom. Nem vagyok biztos benne, hogy ez mindenkinek jelent-e problémát, tudassa velem a megjegyzés részben. Ezenkívül nézze meg az alján lévő videót, amely elmagyarázza ennek megoldását.
Ezzel zárjuk le ezt az oktatóanyagot, megtanultuk a hardver alapjait, beállítottuk a fejlesztői környezetet és megtanultuk a kód fordítását és feltöltését. Most már készen állunk a fejlődésre, és ezt használni fogjuk minden közelgő oktatóanyagunkban. Ha bármilyen kérdése van, kérjük, tegye fel őket fórumunkra, és maradjon velünk !!