- Odabir alata za razvoj hardvera i softvera
- STM8S103F3P6 Razvoj
- STM8S103F3P6 programer
- STM8S103F3P6 IDE i kompajler
- STM8S s Arduinom pomoću Sduina
- Preuzimanje potrebnog softvera
- Postavljanje STVD-a i Cosmic C Compilera
- Standardna periferna knjižnica za STM8S103F3P6
- Sastavljanje Prvog programa
- Učitavanje koda sa STVD-a na razvojnu ploču STM8S pomoću ST-Link V2
STM8 je serija 8-bitnim mikrokontrolerima iz STMicroelectronics koji je postao čest izbor mikrokontrolera za troškovno osjetljive razvoj proizvoda. Prethodno sam surađivao s AVR-om, PIC-om i nekoliko drugih ARM Cortex mikrokontrolera, ali sigurno u nekim aplikacijama postaju pretjerani i znatno povećavaju BOM troškove. Nedavno sam, nakon što sam srušio nekoliko jeftinih kineskih proizvoda, otkrio da većina njih ima mikrokontroler STM8. IC nije samo jeftin, već ga ima i puno mogućnosti i mogućnosti što ga čini prikladnim za upotrebu u mnogo različitih aplikacija. Na primjer, STM8S serija kontrolera (koje ćemo naučiti u ovom tutorial serije) je kontroler opće namjene, ali postoje i druge serije poput STM8A za automobilsku dizajni i STM8L za male snage s baterijskim napajanjem dizajna koja proširuje primjenu ovih kontrolora.
U ovoj seriji tutorijala naučit ćemo kako programirati mikrokontrolere STM8S, točnije STM8S103F3P6. Razlog za početak rada s ovim određenim brojem dijela je samo njegov faktor cijene i učinka. Kao!! samo ga pogledajte za samo 0,25 dolara (približno 20 rupija), dobivamo 8-bitni mikrokontroler s unutarnjim oscilatorom od 16 MHz, 8 kB bljeskalice, 10-bitnim ADC-om, UART-om, SPI-om i I2C-om. Tko se ne bi zaintrigirao? Također, STM8S103F3P6 je široko popularan, pa ćete stoga kao početnik pronaći dovoljno podrške ako vam je potrebna pomoć izvan tutorijala. Polazeći od ovoga, imat ćemo niz tutorijala, sličnih Vodičima za programiranje PIC-a, gdje ćemo naučiti kako programirati ovaj kontroler od osnovnog treptanja do različitih sučelja zaslona i senzora. Također možete pogledati Vodič za STM32F103C8 i projekte ako ste zainteresirani za 32-bitne STM mikrokontrolere.
Odabir alata za razvoj hardvera i softvera
Sad kad smo deicidirali mikrokontroler, morat ćemo odabrati alate za razvoj hardvera i softvera da bismo započeli svoj proces učenja. Postoji mnogo opcija, ovdje sam odabrao one koje su besplatne za upotrebu i lako dostupne svima.
STM8S103F3P6 Razvoj
Službena razvojna ploča za ST-ov 8-bitni mikrokontroler naziva se STM8 Discovery kit, ali mi ćemo koristiti drugu jeftinu razvojnu ploču koju lako možete pronaći kod lokalnog dobavljača ili u internetskoj trgovini. Slika razvojne ploče STM8S103F3P6 koju ćemo koristiti u ovom vodiču prikazana je u nastavku.

Ploča se sastoji samo od minimalnih komponenata potrebnih za početak razvoja. Prikladan je za ploče i pogodan za kompaktne primjene. Dijagram internog sklopa za razvojnu ploču prikazan je u nastavku.

Ako bolje pogledate, primijetit ćete, osim upravljača STM8S103F3p6, imamo i gumb za resetiranje za resetiranje kontrolera. Naponski i ispitni vod spojen na PB5 (priključak B pin 5) i regulator napona AMS1117 koji pretvara 5V iz USB priključka u 3,3V za kontroler. Po potrebi se regulator može raditi i na 5V. Različiti dijelovi na kontroleru su označeni u nastavku. Također imamo 4 pina za programiranje, naime 3,3 V, GND, SWIM i NRST, koji se mogu koristiti za jednostavno programiranje i uklanjanje pogrešaka u našem mikrokontroleru.

STM8S103F3P6 programer
Za programiranje našeg kontrolera koristit ćemo ST-LINK v2 koji je jeftin i lako dostupan na mreži. Postoje mnoge varijante (metalne, plastične, zlatne, ružičaste, gole ploče) ove ST-LINK v2 ploče i sve služe u istu svrhu. Moja je prikazana u nastavku, ali možete koristiti bilo koji tip ST-LINK programera, pinout će se razlikovati, pa samo pazite da pravilno pročitate pinouts na kućištu. Tu je i ST-LINK V3 iz same ST-Microelectronics koji se može koristiti za ozbiljno otklanjanje pogrešaka. Zasad to nećemo koristiti, jer je malo skupo, sačuvat ćemo ga za budućnost.

STM8S103F3P6 IDE i kompajler
Odabir pravog IDE-a i kompajlera za STM8S103F3P6 zbunjuje, jednostavno zato što postoji mnogo opcija koje možete odabrati. Službeni alati dostupni za mikrokontroler STM8 prikazani su na donjoj slici.

Na strani Konfiguracija imamo STM8CubeMx, isprobao sam softver i to me potpuno razočaralo. Za razliku od STM32Cube, STM8Cube ne može automatski generirati kôd. Može generirati mapiranje pin-ova samo u svrhu vizualizacije i može vam dobro doći ako prenosite svoj kôd s jednog kontrolera na drugi. Osim toga, ne bih ga koristio. Dakle, u ovoj seriji tutorijala ovo nećemo koristiti.
Za IDE i Compiler imamo mnogo mogućnosti na izbor. Dvije glavne mogućnosti za IDE su IAR workbench i ST Visual Develop (STVD), oba softvera djeluju kao da su iz 90-ih, ali nakon nekog vremena igranja s njim, otkrio sam da je STVD dobar izbor samo zato što je potpuno besplatan. Slično tome, za Compiler ćemo koristiti Cosmic C Compiler, opet samo zato što je potpuno besplatan. Drugi razlog za odabir ovog IDE-a i Compilera je taj što bi, nakon što se upoznamo s okolinom, bilo koji drugi 8-bitni mikrokontroler tvrtke ST mogao biti jednostavan bez puno napora. Dalje ćemo u ovom članku saznati kako instalirati i postaviti STVD s Cosmic C kompajlerom.
Za Flashing koristit ćemo ST Visual Programmer (STVP), ovaj će se alat automatski instalirati kada instaliramo STVD. Bit će integriran u sam IDE, pomažući nam u brzom programiranju i uklanjanju pogrešaka. Konačni softver bit će STMStudio koji je softver za nadzor STM8. Softver može pomoći u otklanjanju pogrešaka STM8 u stvarnom vremenu i ima neke sjajne značajke poput praćenja vrijednosti promjenjivih vrijednosti, crtanja grafikona itd. Nisam dovoljno eksperimentirao s ovim softverom. I, barem za prvih nekoliko vodiča, nećemo koristiti ovaj softver jer nam neće trebati veliki zahtjevi za uklanjanje pogrešaka.
STM8S standardna periferna knjižnica: ST Microelectronics nudi skup knjižnica za olakšavanje razvoja koda za STM8S mikrokontrolere, ta se knjižnica naziva " Standardna periferna knjižnica " ili ukratko SPL. Biblioteka je sjajna, osim što je napisana imajući na umu sve moguće kontrolere iz 8-bitne obitelji STM8S / A, a ne samo STM8S103F3P6 kontroler koji ćemo koristiti. Stoga tu i tamo moramo napraviti neke dorade kako bismo uspjeli (što ću podijeliti kasnije). Ali ipak, vjerujem da vrijedi isprobati jer to može ubrzati razvoj, i stoga ćemo ga koristiti u našem vodiču.
Ako ne želite koristiti knjižnicu, morate izravno pristupiti registrima kontrolera ili programirati sklop golog metala. I jedno i drugo je zabavno, pod uvjetom da imate vremena naučiti ga i iskoristiti. Moja je ideja koristiti SPL biblioteku gdje god dobro radi, a zatim po potrebi raditi i na razini registra i montaže. Pokušajmo ne izmišljati kotač!
STM8S s Arduinom pomoću Sduina
Rasprava o softverskim opcijama nikada neće biti cjelovita ako ne spomenem podršku za Arduino IDE STM8S. Da, ista STM8S103F3P6 ploča može se programirati izravno iz Arduino IDE-a pomoću Sduina, zahvaljujući Michaelu Mayeru. No, projekt je još uvijek u fazi izrade i vjerojatno će trebati neko vrijeme i podrška zajednice za Sduino kako bi pružio potpunu podršku platformi. Međutim, tek nakon nekoliko minuta igranja sa Sduinom, počeo mi se sviđati i stoga sam odlučio napraviti zasebni članak o tome kako programirati mikrokontroler STM8S s Arduinom. Ovdje ću povezati članak kada bude spreman. U tom će se članku raspravljati zašto i zašto ne biste trebali koristiti Arduino IDE za programiranje svojih STM8S mikrokontrolera.
Dakle, ovo su moji izbori za softver i hardver, javite mi u odjeljku za komentare ako mislite da bi neki drugi softver bio bolji izbor i zašto. Volio bih istražiti i druge mogućnosti.
Preuzimanje potrebnog softvera
Sad kad smo se odlučili za softver koji ćemo koristiti za ovaj vodič, krenimo i preuzmimo ih pomoću sljedeće veze. Sav softver je besplatan za preuzimanje i upotrebu, samo biste morali registrirati besplatni račun na ST i Cosmic da to već niste učinili.
- ST Vizualni razvoj (STVD)
- Kozmički sastavljač C
- Standardna periferna knjižnica
- STM8Cube Mx (izborno)
- STMStudio za STM8 (izborno)
Postavljanje STVD-a i Cosmic C Compilera
Nakon što preuzmete oba softvera, samo slijedite upute na zaslonu da biste ih instalirali. Preporučio bih da ih ostavite u zadanim direktorijima kako biste izbjegli kasniju zabunu. STVD IDE će se instalirati bez ikakvog napora. Za prevoditelj Cosmic C tijekom instalacijskih procesa morate dobiti besplatni ključ licence. Jednostavno morate dati podatke o tvrtki s ID-om e-pošte, ako ste student, samo to spomenite. Procesi dobivanja licencnog ključa su trenutni i automatski, iako upute za postavljanje kažu da bi to moglo potrajati dan ili dva, ključ licence sam automatski dobio na svoj ID e-pošte čim sam ga poslao, samo pazite da provjerite neželjenu poštu. Moja e-pošta s potvrdom prikazana je u nastavku.

Prema uputama za e-poštu, samo kopirajte datoteku license.lic i zalijepite u podmapu "licenca" u vašoj instalacijskoj mapi. Za mene je put bio "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" . Samo zalijepite datoteku na mjesto kao što je prikazano u nastavku.

Standardna periferna knjižnica za STM8S103F3P6
Kao što je ranije rečeno, ST Microelectronics nudi knjižnice pod nazivom SPL koje se mogu koristiti za sve 8-bitne mikrokontrolere STM8S / A. Možete preuzeti originalni SPL sa ST Microelectronics i unijeti potrebne promjene ili preuzeti moje SPM knjižnice STM8S103F3P6 i koristiti ih kao takve. Preporučio bih kasnije.
Originalni SPL tvrtke ST Microelectronics
STM8S103F3P6 SPL
Dok ste tamo, osigurajte i preuzimanje korisničkog priručnika SPL-a, koji će vam biti vrlo koristan pri programiranju kontrolera.
Sastavljanje Prvog programa
Sad kad je sve spremno, pokušajmo sastaviti naš prvi program kako bismo provjerili rade li IDE, Compiler i Library kako treba. Također možete pogledati videozapis na dnu stranice za detaljne upute.
Započnite otvaranjem STVD-a i odaberite File -> WorkSpace, u skočnom prozoru odaberite "New Workspace" i unesite naziv projekta i put na koji bi program trebao biti spremljen. Svoj program imenujem BareMinimum i spremam u mapu na radnoj površini. Kliknite U redu i dobit ćete dijaloški okvir Novi projekt kao što je prikazano dolje.

Ponovno imenujem projekt kao neobavezan i pod alatnim lancem moramo navesti korijen lanca alata do staze na kojoj je instaliran STM8 Cosmic prevodilac. Zadana adresa puta je "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8" . Nakon toga samo kliknite U redu da biste dobili prozor "MCU Selection".

Potražite STM8S103F3P, odaberite ga i kliknite U redu. Ovo će otvoriti novi projekt za STM8S103F3P na STVD-u, prozori bi po završetku trebali izgledati ovako.

Desnom tipkom miša kliknite na "izvornu datoteku" i odaberite "Dodaj datoteke u mapu" da biste uključili sve c datoteke iz naše SPL biblioteke, slično desnom tipkom miša kliknite Uključi datoteke da biste uključili sve datoteke zaglavlja. Ako imate bilo kakvih pitanja, pogledajte video u nastavku. Nakon što se dodaju sve datoteke, kliknite Build -> rebuil d all, a zatim Compile kako biste provjerili rade li kompajler i SPL kako se očekuje. Ako sve bude u redu, trebali biste vidjeti sljedeći zaslon s pogreškom rezultata gradnje 0 i upozorenjem 0.

Nakon toga, sada možemo biti sigurni da sve naše SPL knjižnice rade s Cosmic compilerom i STVD-om. Ovo je standardni postupak koji ćemo slijediti za svaki novi projekt. Također možete uključiti samo potrebna zaglavlja i izvorne datoteke koje su potrebne projektu kako bi se smanjilo vrijeme izrade ako je potrebno.
Učitavanje koda sa STVD-a na razvojnu ploču STM8S pomoću ST-Link V2
Spojite ST-Link V2 s razvojnom pločom kao što je prikazano dolje.

Veze su prilično ravne, a najbolji dio je što vam ne trebaju vanjske komponente. Moje postavljanje hardvera za programiranje prikazano je u nastavku, upravo sam upotrijebio ženske zaglavne žice za uspostavljanje veze. Međutim, imajte na umu da se pinout vašeg ST-Linka može razlikovati od mog, prije spajanja slijedite pinout na uređaju.

Uspostavite vezu i spojite uređaj s računalom, instalacija upravljačkog programa trebala bi započeti automatski. Pomoću upravitelja uređaja možete provjeriti je li vaše računalo ispravno otkrilo ST-LINK V2. Također ćete primijetiti da test lampica na ploči trepće ako ovo prvi put napajate ploču. Čim uspješno kompajliramo kod na STVD, dobit ćemo datoteku proširenja “S19” u direktoriju za uklanjanje pogrešaka mape projekta. Moja datoteka S19 prikazana je u nastavku.

Ovaj S19 je poput Hex datoteke koju treba prenijeti na kontroler. Da biste učitali program, otvorite ST Visual Programmer (STVP) koji bi trebao biti instaliran zajedno sa STVD-om. Zatim u prozoru za konfiguraciju odaberite kako je prikazano na donjoj slici i kliknite U redu.

Zatim kliknite Datoteka-> Otvori i dođite do datoteke S19 koju smo ranije pokazali. Zatim za flash uređaj slijedite Program -> Trenutna kartica. Ako je treptanje uspjelo, trebali biste vidjeti sljedeći izlaz.

Prema zadanim postavkama, kada kupite STM8S, imat će blin program koji trepće test LED. Nakon prijenosa ovog praznog koda, LED više neće treptati.
Važno: Otkrio sam da moj ST-Link nije automatski resetirao ploču nakon programiranja. Morao sam ga odspojiti i ponovo spojiti kako bih provjerio izlaz svog programa. Nisam siguran je li ovo problem za sve, javite mi u odjeljku za komentare. Također, pogledajte video na dnu koji objašnjava rješenje za to.
Uz ovo, završimo s ovim vodičem, naučili smo osnove hardvera, postavili razvojno okruženje i naučili kako kompajlirati i prenijeti kôd. Sada smo spremni za napredak i to ćemo koristiti u svim našim nadolazećim vodičima. Ako imate pitanja, objavite ih na našim forumima i pratite još !!
