- Laitteiston ja ohjelmistokehitystyökalujen valitseminen
- STM8S103F3P6 kehitys
- STM8S103F3P6-ohjelmoija
- STM8S103F3P6 IDE ja kääntäjä
- STM8S Arduinon kanssa Sduinoa käyttämällä
- Vaadittujen ohjelmistojen lataaminen
- STVD- ja Cosmic C -kääntäjän asetukset
- STM8S103F3P6: n standardi oheiskirjasto
- Ensimmäisen ohjelman kokoaminen
- Koodin lataaminen STVD: stä STM8S-kehityskorttiin ST-Link V2: n avulla
Ohjaimet STM8 on sarja 8-bittinen mikro alkaen STMicroelectronics, joka on tullut yhteinen valinta mikro kustannus- herkkien tuotteiden kehittämiseen. Olen aiemmin työskennellyt AVR: n, PIC: n ja muutamien muiden ARM Cortex -mikrokontrollerien kanssa, mutta joissakin sovelluksissa ne varmasti ylittävät ja lisäävät huomattavasti BOM-kustannuksia. Viime aikoina repäisin muutamia halpoja kiinalaisia tuotteita huomasin, että useimmissa niistä oli sisällä STM8-mikrokontrolleri. IC ei ole vain halpa, mutta myös täynnä sitä monilla ominaisuuksilla ja vaihtoehdoilla, joten se soveltuu käytettäväksi monissa eri sovelluksissa. Esimerkiksi STM8Sohjainsarja (jonka opimme tässä opetusohjelmassa) on yleiskäyttöinen ohjain, mutta on muitakin sarjoja, kuten STM8A for Automotive Designs ja STM8L pienitehoisille akkukäyttöisille malleille, jotka laajentavat näiden ohjainten käyttöä.
Tässä opetusohjelmasarjassa opit ohjelmoimaan STM8S-mikrokontrollerit, tarkemmin sanoen STM8S103F3P6. Syy tämän nimen osan aloittamiseen on vain sen hinta-suhde-tekijä. Kuten!! Katsokaa sitä vain 0,25 dollaria (noin 20 rupiaa) saamme 8-bittisen mikrokontrollerin, jossa on 16 MHz sisäinen oskillaattori, 8 kt Flash, 10-bittinen ADC, UART, SPI ja I2C. Ketä ei kiehtoisi? Lisäksi STM8S103F3P6 on laajalti suosittu, joten aloittelijana löydät tarpeeksi tukea, jos tarvitset apua opetusohjelmien ulkopuolella. Tästä lähtien meillä on sarja opetusohjelmia, samanlainen kuin PIC-ohjelmointioppaat, joissa opit ohjelmoimaan tämän ohjaimen vilkkumisesta erilaisiin näyttö- ja anturiliitäntöihin. Voit myös tutustua STM32F103C8 -oppaaseen ja -projekteihin, jos olet kiinnostunut 32-bittisistä STM-mikrokontrollereista.
Laitteiston ja ohjelmistokehitystyökalujen valitseminen
Nyt kun mikrokontrolleri on poistettu, meidän on valittava laitteistojen ja ohjelmistojen kehittämistyökalut oppimisprosessin aloittamiseksi. Vaihtoehtoja on monia, tässä olen valinnut ne, jotka ovat vapaasti käytettävissä ja helposti kaikkien saatavilla.
STM8S103F3P6 kehitys
ST: n 8-bittisen mikrokontrollerin virallista kehityskorttia kutsutaan nimellä STM8 Discovery kit, mutta käytämme toista edullista kehityskorttia, jonka löydät helposti paikalliselta toimittajalta tai verkkokaupasta. Tässä opetusohjelmassa käytetyn STM8S103F3P6-kehityskortin kuva on alla.
Lauta koostuu vain vähimmäiskomponenteista, joita tarvitaan kehityksen aloittamiseen. Se on leipälautaystävällinen ja soveltuu pienikokoisiin sovelluksiin. Kehityskortin sisäinen piirikaavio on esitetty alla.
Tarkasteltaessa tarkemmin huomaat, että STM8S103F3p6-ohjaimen lisäksi meillä on nollauspainike säätimen nollaamiseksi. Virtalähde ja testijohdin kytketty PB5: een (portin B nasta 5) ja AMS1117-jännitesäädin, joka muuntaa 5 V: n USB-portista 3,3 V: ksi ohjaimelle. Ohjain voidaan tarvittaessa saada toimimaan myös 5 V: n jännitteellä. Ohjaimen eri osat on merkitty alla. Meillä on myös 4 ohjelmointineulaa, nimittäin 3.3V, GND, SWIM ja NRST, joita voidaan käyttää mikrokontrollerin ohjelmointiin ja virheenkorjaukseen.
STM8S103F3P6-ohjelmoija
Ohjaimemme ohjelmoimiseksi käytämme ST-LINK v2: ta, joka on halpa ja helposti saatavilla verkossa. Tästä ST-LINK v2 -levystä on monia muunnelmia (metalli, muovi, kulta, vaaleanpunainen, paljas levy), ja ne kaikki käyttävät samaa tarkoitusta. Kaivos on esitetty alla, mutta voit käyttää mitä tahansa ST-LINK-ohjelmoijaa, pinout eroaa, joten muista vain lukea kotelon pinouts oikein. ST-Microelectronicsilta löytyy myös ST-LINK V3, jota voidaan käyttää vakavaan virheenkorjaukseen. Emme käytä sitä toistaiseksi, koska se on vähän kallista, säästämme sen tulevaisuutta varten.
STM8S103F3P6 IDE ja kääntäjä
Oikean IDE: n ja kääntäjän valinta STM8S103F3P6: lle on hämmentävää yksinkertaisesti siksi, että on paljon vaihtoehtoja. STM8-mikrokontrollerille saatavilla olevat viralliset työkalut näkyvät alla olevassa kuvassa.
Konfigurointipuolella meillä on STM8CubeMx, kokeilin ohjelmistoa ja se oli minulle täysin pettymys. Toisin kuin STM32Cube, STM8Cube ei voi luoda koodia automaattisesti. Se voi luoda pin-kartoituksen vain visualisointitarkoituksiin ja se voi olla hyödyllinen, jos siirrät koodiasi ohjaimesta toiseen. Muuten enkä käytä sitä. Joten tässä opetusohjelmassa emme käytä tätä.
IDE: lle ja kääntäjälle meillä on paljon vaihtoehtoja. IDE: n kaksi tärkeintä vaihtoehtoa ovat IAR-työpöytä ja ST Visual Develop (STVD), molemmat ohjelmistot tuntuvat olevan 90-luvulta, mutta jonkin aikaa sen kanssa pelaamisen jälkeen huomasin, että STVD on hyvä valinta vain siksi, että se on täysin ilmainen. Samoin kääntäjälle käytämme Cosmic C Compileria, jälleen vain siksi, että se on täysin ilmainen. Toinen syy tämän IDE: n ja kääntäjän valitsemiseen on, että kun tutustumme ympäristöön, minkä tahansa muun ST: n 8-bittisen mikrokontrollerin pitäisi olla helppoa käyttää ilman paljon vaivaa. STVD: n asentaminen ja asentaminen Cosmic C-kääntäjällä kerrotaan myöhemmin tässä artikkelissa.
Vilkkumiseen käytämme ST Visual Programmeria (STVP), tämä työkalu asennetaan automaattisesti, kun asennamme STVD: n. Se integroidaan itse IDE: hen, mikä auttaa meitä nopeasti ohjelmoimaan ja testaamaan. Lopullinen ohjelmisto on STMStudio, joka on STM8- seurantaohjelmisto. Ohjelmisto voi auttaa STM8: n reaaliaikaisessa virheenkorjauksessa, ja sillä on joitain hienoja ominaisuuksia, kuten muuttujan arvon seuranta, kuvaajan piirtäminen jne. En ole kokeillut tarpeeksi tätä ohjelmistoa. Ja ainakaan ensimmäisten opetusohjelmien aikana emme käytä tätä ohjelmistoa, koska emme tarvitse suuria virheenkorjausvaatimuksia.
STM8S Standard Peripheral Library: ST Microelectronics tarjoaa joukon kirjastoja, jotka helpottavat koodin kehittämistä STM8S-mikrokontrollereille. Tätä kirjastoa kutsutaan lyhyesti " Standard Peripheral Library " tai SPL. Kirjasto on siistiä lukuun ottamatta sitä, että se on kirjoitettu pitäen mielessä kaikki mahdolliset ohjaimet 8-bittisessä STM8S / A-perheessä eikä vain käyttämämme STM8S103F3P6-ohjain. Siksi meidän on tehtävä joitain parannuksia täällä ja siellä, jotta se toimisi (jaan myöhemmin). Mutta silti uskon, että kannattaa kokeilla, koska se voi tehdä kehityksen erittäin nopeasti, ja siksi käytämme sitä opetusohjelmassamme.
Jos et halua käyttää kirjastoa, sinun on käytettävä suoraan ohjaimen rekistereitä tai tehtävä paljaan metallikokoonpanon ohjelmointi. Molemmat ovat hauskoja, jos sinulla on aikaa oppia ja käyttää sitä. Ideani on käyttää SPL-kirjastoa missä tahansa, ja se toimii tarvittaessa myös rekisteri- ja kokoonpanotasolla. Yritetään olla keksimättä pyörää uudelleen!
STM8S Arduinon kanssa Sduinoa käyttämällä
Ohjelmistovaihtoehtojen keskustelu ei ole koskaan täydellinen, jos en mainitse Arduino IDE -tukea STM8S. Kyllä, sama STM8S103F3P6-kortti voidaan ohjelmoida suoraan Arduino IDE: ltä Sduinolla, Michael Mayerin ansiosta. Mutta projekti on edelleen kehitysvaiheessa ja todennäköisesti vie jonkin aikaa ja yhteisön tukea Sduinolle täydellisen alustatuen tarjoamiseksi. Kuitenkin vain muutaman minuutin kuluttua pelaamisesta Sduinolla, aloin pitää siitä ja päätin tehdä myös erillisen artikkelin STM8S-mikrokontrollerin ohjelmoimisesta Arduinolla. Linkitän artikkelin tähän, kun se on valmis. Tässä artikkelissa käsitellään, miksi ja miksi sinun ei pitäisi käyttää Arduino IDE: tä STM8S-mikrokontrollereiden ohjelmointiin.
Joten, nämä ovat valintani ohjelmistoille ja laitteistoille, kerro minulle kommenttiosassa, jos luulet, että joku muu ohjelmisto olisi ollut parempi valinta ja miksi. Haluaisin tutkia myös muita vaihtoehtoja.
Vaadittujen ohjelmistojen lataaminen
Nyt kun olemme päättäneet ohjelmasta, jota käytämme tässä opetusohjelmassa, jatketaan ja ladataan ne seuraavan linkin avulla. Kaikki ohjelmistot ovat ladattavissa ja käytettävissä ilmaiseksi, sinun tarvitsee vain rekisteröidä ilmainen tili ST: ssä ja Cosmicissa, ellet ole jo tehnyt niin.
- ST Visual Develop (STVD)
- Kosminen C-kääntäjä
- Tavallinen oheiskirjasto
- STM8Cube Mx (valinnainen)
- STMStudio STM8: lle (valinnainen)
STVD- ja Cosmic C -kääntäjän asetukset
Kun olet ladannut molemmat ohjelmistot, asenna ne vain noudattamalla näytön ohjeita. Suosittelen jättämään ne oletushakemistoihin myöhempien sekaannusten välttämiseksi. STVD IDE asennetaan ilman vaivaa. Cosmic C-kääntäjää varten sinun on hankittava ilmainen lisenssiavain asennuksen aikana. Sinun on vain annettava yritystiedot sähköpostitunnuksella, jos olet opiskelija, mainitse vain se. Lisenssiavaimen saaminen on välitöntä ja automaattista, vaikka asennusohjeissa sanotaan, että se voi viedä päivän tai kaksi, sain lisenssiavaimen automaattisesti sähköpostiosoitteeseeni heti, kun lähetin sen, varmista vain, että tarkista roskaposti. Vahvistussähköpostini näkyy alla.
Kopioi sähköpostiohjeen mukaisesti vain license.lic-tiedosto ja liitä asennuskansiosi "license" -alikansioon. Minulle polku oli "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" . Liitä vain tiedosto sijaintiin alla esitetyllä tavalla.
STM8S103F3P6: n standardi oheiskirjasto
Kuten aiemmin kerrottiin, ST Microelectronics tarjoaa SPL-nimisiä kirjastoja, joita voidaan käyttää kaikissa 8-bittisissä STM8S / A-mikrokontrollereissa. Voit joko ladata alkuperäisen SPL: n ST Microelectronicsista ja tehdä tarvittavat muutokset tai ladata STM8S103F3P6 SPL -kirjastoni ja käyttää niitä sellaisenaan. Suosittelisin myöhempää.
ST Microelectronicsin alkuperäinen SPL
STM8S103F3P6 SPL
Kun olet siellä, varmista myös, että lataat SPL-käyttöoppaan, joka on erittäin kätevä ohjainta ohjelmoitaessa.
Ensimmäisen ohjelman kokoaminen
Nyt kun kaikki on valmis, yritetään koota ensimmäinen ohjelmamme tarkistaaksemme, toimivatko IDE, kääntäjä ja kirjasto kaikki niin kuin heidän pitäisi. Voit tarkistaa tarkat ohjeet myös sivun alaosassa olevasta videosta.
Aloita avaamalla STVD ja valitsemalla File -> WorkSpace. Valitse ponnahdusikkunasta "New Workspace" ja kirjoita projektin nimi ja polku, johon ohjelma tulisi tallentaa. Nimetän ohjelmani BareMinimumiksi ja tallennan sen työpöydän kansioon. Napsauta OK ja saat Uusi projekti -valintaikkunan alla olevan kuvan mukaisesti.
Nimetän projektin uudelleen bareminimumiksi ja työkaluketjun alla meidän on määritettävä työkaluketjujuuri polulle, johon STM8 Cosmic -kääntäjä on asennettu. Oletuspolkuosoite on “C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8” . Napsauta sen jälkeen vain OK saadaksesi “MCU Selection” -ikkunan.
Etsi STM8S103F3P, valitse se ja napsauta OK. Tämä avaa uuden projektin STM8S103F3P: lle STVD: llä, Windowsin pitäisi näyttää tältä kun se on valmis.
Napsauta hiiren kakkospainikkeella "lähdetiedosto" ja valitse "Lisää tiedostoja kansioon" sisällyttääksesi kaikki SP-kirjastomme c-tiedostot. Napsauta hiiren kakkospainikkeella Sisällytä tiedostot sisällyttääksesi kaikki otsikkotiedostot. Jos sinulla on kysyttävää, voit viitata alla olevaan videoon. Kun kaikki tiedostot on lisätty, napsauta Build -> rakenna kaikki uudelleen ja sitten Compile tarkistaaksesi, toimivatko kääntäjä ja SPL odotetusti. Jos kaikki menee hyvin, sinun pitäisi nähdä seuraava näyttö, jossa on rakennustuloksen 0 virhe ja 0 varoitus.
Kun tämä on tehty, voimme nyt olla varmoja, että kaikki SPL-kirjastomme työskentelevät Cosmic-kääntäjän ja STVD: n kanssa. Tämä on vakiomenettely, jota noudatamme jokaisessa uudessa projektissa. Voit myös sisällyttää vain tarvittavat otsikko- ja lähdetiedostot, joita tarvitaan projektille rakennusajan lyhentämiseksi tarvittaessa.
Koodin lataaminen STVD: stä STM8S-kehityskorttiin ST-Link V2: n avulla
Liitä ST-Link V2 kehityskorttiin alla olevan kuvan mukaisesti.
Liitännät ovat melko suoraviivaisia, ja parasta on, että et tarvitse ulkoisia komponentteja. Laitteistoasetukset ohjelmointia varten on esitetty alla, olen juuri käyttänyt naaraspuolisia otsikkojohtoja yhteyden muodostamiseen. Huomaa kuitenkin, että ST-Linkisi pinout voi poiketa omasta, noudata laitteen pinoutia ennen liitäntöjen tekemistä.
Muodosta yhteys ja liitä laite tietokoneeseen, ohjaimen asennus alkaa automaattisesti. Voit varmistaa laitehallinnan avulla, onko tietokoneesi löytänyt ST-LINK V2: n oikein. Huomaat myös testilevyn vilkkuvan, jos piirilevy kytketään päälle ensimmäisen kerran. Heti kun olemme onnistuneesti koonneet koodin STVD: lle, saamme “S19” -laajennustiedoston projektikansion virheenkorjaushakemistoon. S19-tiedostoni näkyy alla.
Tämä S19 on kuin Hex-tiedosto, joka tulisi ladata ohjaimeen. Lataa ohjelma avaamalla ST Visual Programmer (STVP), joka olisi pitänyt asentaa yhdessä STVD: n kanssa. Valitse sitten kokoonpanoikkunassa alla olevan kuvan mukaisesti ja napsauta OK.
Napsauta sitten Tiedosto-> Avaa ja siirry S19-tiedostoon, jonka näytimme aiemmin. Salama sitten laite, seuraa Ohjelma -> Nykyinen- välilehteä. Jos vilkkuminen onnistui, sinun pitäisi nähdä seuraava tulos.
Kun ostat STM8S: n, sillä on oletusarvoisesti vilkkumisohjelma, joka vilkkuu testin LEDillä. Tämän tyhjän koodin lataamisen jälkeen LED ei enää vilku.
Tärkeää: Huomasin, että ST-Link ei nollannut korttia automaattisesti ohjelmoinnin jälkeen. Minun piti irrottaa ja liittää se uudelleen tarkistamaan ohjelmani lähtö. En ole varma, onko tämä ongelma kaikille, kerro minulle kommenttiosassa. Katso myös alareunassa oleva video, joka selittää ratkaisun tähän.
Lopetetaan tämä opetusohjelma, olemme oppineet laitteiston perusteet, rakentaneet kehitysympäristön ja oppineet koodin kääntämisen ja lähettämisen. Olemme nyt valmiita edistymään ja käytämme tätä kaikissa tulevissa opetusohjelmissamme. Jos sinulla on kysyttävää, lähetä ne foorumeillemme ja pysy kuulolla lisää !!