- Aparatūras un programmatūras izstrādes rīku izvēle
- STM8S103F3P6 izstrāde
- STM8S103F3P6 programmētājs
- STM8S103F3P6 IDE un kompilators
- STM8S ar Arduino, izmantojot Sduino
- Nepieciešamās programmatūras lejupielāde
- STVD un Cosmic C kompilatora iestatīšana
- Standarta perifērijas bibliotēka STM8S103F3P6
- Pirmās programmas sastādīšana
- Koda augšupielāde no STVD uz STM8S izstrādes paneli, izmantojot ST-Link V2
STM8 ir virkne 8 bitu Microcontrollers no STMicroelectronics, kas ir kļuvusi populāra izvēle par Microcontroller izmaksu ziņā jutīgu produktu attīstību. Iepriekš esmu strādājis ar AVR, PIC un dažiem citiem ARM Cortex mikrokontrolleriem, taču noteikti dažās lietojumprogrammās tie kļūst nepietiekami un ievērojami palielina BOM izmaksas. Nesen, nojaucot dažus lētus Ķīnas izstrādājumus, es atklāju, ka lielākajā daļā no tiem bija STM8 mikrokontrolleris. IC ir ne tikai lēts, bet arī iesaiņots ar daudzām funkcijām un iespējām, kas padara to piemērotu lietošanai daudzās dažādās lietojumprogrammās. Piemēram, STM8S kontrolieru sērija (ko mēs iemācīsimies šajā apmācību sērijā) ir vispārējas nozīmes kontrolieris, taču ir arī citas sērijas, piemēram, STM8A automobiļu dizainam un STM8L mazjaudas akumulatoriem, kas paplašina šo kontrolieru pielietojumu.
Šajā apmācību sērijā mēs uzzināsim, kā programmēt STM8S mikrokontrollerus, precīzāk, STM8S103F3P6. Iemesls darba sākšanai ar šo konkrēto detaļas numuru ir tikai tā cenas un veiktspējas faktors. Patīk !! paskatieties tikai par 0,25 USD (aptuveni 20 rūpijas), un mēs iegūstam 8 bitu mikrokontrolleru ar 16Mhz iekšējo oscilatoru, 8kB zibspuldzi, 10 bitu ADC, UART, SPI un I2C. Kurš nebūtu ieinteresēts? Arī STM8S103F3P6 ir plaši populārs, tāpēc kā iesācējs jūs atradīsit pietiekami daudz atbalsta, ja jums nepieciešama palīdzība ārpus apmācībām. Sākot ar to, mums būs apmācību secība, līdzīga PIC programmēšanas apmācībām, kur mēs iemācīsimies programmēt šo kontrolieri no pamata mirgošanas līdz dažādām displeja un sensoru saskarnēm. Varat arī apskatīt STM32F103C8 apmācību un projektus, ja jūs interesē 32 bitu STM mikrokontrolleri.
Aparatūras un programmatūras izstrādes rīku izvēle
Tagad, kad mēs esam iznīcinājuši mikrokontrolleru, mums būs jāizvēlas aparatūras un programmatūras izstrādes rīki, lai sāktu mācību procesu. Ir daudz iespēju, šeit es esmu izvēlējies tās, kuras ir brīvi izmantojamas un viegli pieejamas visiem.
STM8S103F3P6 izstrāde
ST 8 bitu mikrokontrolleru oficiālo izstrādes paneli sauc par STM8 Discovery komplektu, taču mēs izmantosim vēl vienu zemu izmaksu izstrādes paneli, kuru varat viegli atrast pie vietējā piegādātāja vai tiešsaistes veikalā. STM8S103F3P6 izstrādes dēļa attēls, kuru mēs izmantosim šajā apmācībā, ir parādīts zemāk.
Dēlis sastāv tikai no minimālajiem komponentiem, kas nepieciešami izstrādes sākšanai. Tas ir draudzīgs maizes dēlim un piemērots kompaktiem lietojumiem. Attēlā parādīta izstrādes paneļa iekšējā shēma.
Rūpīgāk apskatot, jūs pamanīsit, ka, izņemot STM8S103F3p6 kontrolieri, mums ir atiestatīšanas poga, lai atiestatītu kontrolieri. Strāvas vads un testa vads, kas savienots ar PB5 (B porta 5. kontakts) un AMS1117 sprieguma regulatoru, kas pārveido 5 V no USB porta uz 3,3 V kontrolierim. Ja nepieciešams, kontrolieri var arī darbināt ar 5 V. Dažādas kontrollera daļas ir atzīmētas zemāk. Mums ir arī 4 programmētāja tapas, proti, 3.3V, GND, SWIM un NRST, kuras var izmantot, lai viegli programmētu un atkļūdotu mūsu mikrokontrolleri.
STM8S103F3P6 programmētājs
Lai programmētu mūsu kontrolieri, mēs izmantosim ST-LINK v2, kas ir lēts un viegli pieejams tiešsaistē. Šim ST-LINK v2 dēļam ir daudz variantu (metāla, plastmasas, zelta, rozā, tukša dēļa), un tiem visiem ir viens un tas pats mērķis. Mine ir parādīta zemāk, bet jūs varat izmantot jebkura veida ST-LINK programmētājus, pinout atšķirsies, tāpēc vienkārši pārliecinieties, ka esat pareizi izlasījis pinouts uz korpusa. Ir arī ST-LINK V3 no pašas ST-Microelectronics, ko var izmantot nopietnai atkļūdošanai. Pagaidām mēs to neizmantosim, jo tas ir nedaudz dārgs, tāpēc to ietaupīsim nākotnei.
STM8S103F3P6 IDE un kompilators
Pareizā IDE un kompilatora izvēle STM8S103F3P6 ir mulsinoša vienkārši tāpēc, ka ir daudz iespēju izvēlēties. Oficiālie rīki, kas pieejami STM8 mikrokontrollerim, ir parādīti zemāk esošajā attēlā.
Konfigurācijas pusē mums ir STM8CubeMx, es izmēģināju programmatūru, un tā man bija pilnīga. Atšķirībā no STM32Cube, STM8Cube nevar automātiski ģenerēt kodu. Tas var ģenerēt piespraudes kartēšanu tikai vizualizācijas nolūkos, un tas var būt noderīgi, ja savu kodu pārvietojat no viena kontrollera uz otru. Izņemot to, es to neizmantotu. Tāpēc šajā apmācību sērijā mēs to neizmantosim.
Attiecībā uz IDE un Kompilatoru mums ir daudz iespēju izvēlēties. Divas galvenās IDE iespējas ir IAR darbagalds un ST Visual Develop (STVD). Abas programmatūras jūtas kā no 90. gadiem, bet pēc kāda laika spēlējot ar to, es atklāju, ka STVD ir laba izvēle tikai tāpēc, ka tā ir pilnīgi bez maksas. Tāpat kompilatoram mēs izmantosim Cosmic C Compiler, atkal tikai tāpēc, ka tas ir pilnīgi bez maksas. Vēl viens iemesls šī IDE un kompilatora izvēlei ir tāds, ka, tiklīdz mēs iepazināmies ar vidi, bez lielām pūlēm vajadzētu būt viegli lietojamam jebkuram citam 8 bitu ST mikrokontrollerim no ST. Par to, kā instalēt un iestatīt STVD ar Cosmic C kompilatoru, mēs šajā rakstā skatīsim vēlāk.
Lai mirgotu, mēs izmantosim ST Visual Programmer (STVP), šis rīks tiks automātiski instalēts, kad mēs instalēsim STVD. Tas tiks integrēts pašā IDE, palīdzot mums ātri programmēt un atkļūdot. Galīgā programmatūra būs STMStudio, kas ir STM8 uzraudzības programmatūra. Programmatūra var palīdzēt reāllaikā atkļūdot STM8, un tai ir dažas lieliskas funkcijas, piemēram, mainīgas vērtības monitorings, diagrammas zīmēšana utt. Es neesmu pietiekami eksperimentējis ar šo programmatūru. Vismaz dažās pirmajās apmācībās mēs neizmantosim šo programmatūru, jo mums nebūs vajadzīgas lielas atkļūdošanas prasības.
STM8S standarta perifērijas bibliotēka: ST Microelectronics nodrošina bibliotēku komplektu, lai atvieglotu kodu izstrādi STM8S mikrokontrolleriem. Šo bibliotēku īsumā sauc par “ Standarta perifērijas bibliotēku ” jeb SPL. Bibliotēka ir forša, izņemot to, ka tā ir rakstīta, paturot prātā visus iespējamos 8 bitu STM8S / A kontrolierus, nevis tikai STM8S103F3P6 kontrolieri, kuru mēs izmantosim. Tāpēc mums ir jāveic daži uzlabojumi šeit un tur, lai tas darbotos (ar ko es dalīšos vēlāk). Bet tomēr es uzskatu, ka ir vērts to izmēģināt, jo tas var ļoti ātri attīstīt, un tāpēc mēs to izmantosim mūsu apmācībā.
Ja nevēlaties izmantot bibliotēku, jums ir tieši jāpiekļūst kontroliera reģistriem vai jāveic tukša metāla montāžas programmēšana. Abi šie ir jautri, ja vien jums ir laiks to iemācīties un izmantot. Mana ideja ir izmantot SPL bibliotēku visur, kur tā darbojas labi, un pēc tam strādāt arī reģistra un montāžas līmenī, ja nepieciešams. Mēģināsim neizgudrot riteni no jauna!
STM8S ar Arduino, izmantojot Sduino
Programmatūras opciju apspriešana nekad nebūs pilnīga, ja es nepieminēšu Arduino IDE atbalstu STM8S. Jā, to pašu STM8S103F3P6 plāksni var ieprogrammēt tieši no Arduino IDE, izmantojot Sduino, pateicoties Michael Mayer. Bet projekts joprojām ir izstrādes stadijā, un, iespējams, Sduino prasīs zināmu laiku un kopienas atbalstu, lai sniegtu pilnīgu platformas atbalstu. Tomēr tikai dažu minūšu laikā, spēlējot ar Sduino, man tas sāka patikt, un tāpēc nolēmu arī izveidot atsevišķu rakstu par to, kā programmēt STM8S mikrokontrolleru ar Arduino. Es šo rakstu saistīšu šeit, kad tas būs gatavs. Šajā rakstā tiks apspriests, kāpēc un kāpēc jums STM8S mikrokontrolleru programmēšanai jāizmanto Arduino IDE.
Tātad, šīs ir manas izvēles attiecībā uz programmatūru un aparatūru. Informējiet mani komentāru sadaļā, ja domājat, ka kāda cita programmatūra būtu bijusi labāka izvēle un kāpēc. Es gribētu izpētīt arī citas iespējas.
Nepieciešamās programmatūras lejupielāde
Tagad, kad esam izlēmuši par programmatūru, kuru izmantosim šai apmācībai, turpināsim un lejupielādēsim tās, izmantojot šo saiti. Visa programmatūra ir bez maksas lejupielādējama un lietojama, ja jums vēl nebija, jums vienkārši jāreģistrē bezmaksas konts vietnē ST un Cosmic.
- ST vizuālā attīstība (STVD)
- Cosmic C sastādītājs
- Standarta perifērijas bibliotēka
- STM8Cube Mx (pēc izvēles)
- STMStudio priekš STM8 (pēc izvēles)
STVD un Cosmic C kompilatora iestatīšana
Pēc abu programmatūras lejupielādes vienkārši izpildiet ekrānā redzamos norādījumus, lai tās instalētu. Es ieteiktu tos atstāt noklusējuma katalogos, lai izvairītos no neskaidrībām vēlāk. STVD IDE tiks instalēts bez jebkādām pūlēm. Cosmic C kompilatoram instalēšanas laikā ir jāsaņem bezmaksas licences atslēga. Jums vienkārši jāsniedz uzņēmuma informācija ar e-pasta ID, ja esat students, vienkārši pieminējiet to. Licences atslēgas iegūšanas procesi ir tūlītēji un automātiski, lai gan iestatīšanas instrukcijās teikts, ka tas var aizņemt dienu vai divas, licences atslēgu es automātiski saņēmu uz sava e-pasta ID, tiklīdz es to iesniedzu, vienkārši pārliecinieties, ka esat pārbaudiet SPAM. Mans apstiprinājuma e-pasts ir parādīts zemāk.
Saskaņā ar e-pasta instrukcijām vienkārši nokopējiet failu licence.lic un ielīmējiet instalācijas mapes apakšmapē “licence”. Man ceļš bija “C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" . Vienkārši ielīmējiet failu vietā, kā parādīts zemāk.
Standarta perifērijas bibliotēka STM8S103F3P6
Kā stāstīts iepriekš, ST Microelectronics nodrošina bibliotēkas, ko sauc par SPL, un kuras var izmantot visiem 8 bitu STM8S / A mikrokontrolleriem. Varat vai nu lejupielādēt oriģinālo SPL no ST Microelectronics un veikt nepieciešamās izmaiņas, vai arī lejupielādēt manas STM8S103F3P6 SPL bibliotēkas un izmantot tās kā tādas. Es ieteiktu vēlāk.
Oriģināls SPL no ST Microelectronics
STM8S103F3P6 SPL
Kamēr atrodaties, pārliecinieties, ka lejupielādējat SPL lietotāja rokasgrāmatu, kas būs ļoti ērta, programmējot kontrolieri.
Pirmās programmas sastādīšana
Tagad, kad viss ir gatavs, mēģināsim sastādīt mūsu pirmo programmu, lai pārbaudītu, vai IDE, kompilators un bibliotēka darbojas pareizi. Detalizētas instrukcijas varat arī pārbaudīt video lapas apakšdaļā.
Sāciet, atverot STVD, un izvēlieties File -> WorkSpace, uznirstošajā logā atlasiet “New Workspace” un ievadiet projekta nosaukumu un ceļu, kur programma jāsaglabā. Es nosaucu savu programmu BareMinimum un saglabāju to mapē uz darbvirsmas. Noklikšķiniet uz Labi, un jūs saņemsit Jauns projekts dialoglodziņu, kā parādīts zemāk.
Es vēlreiz nosaucu projektu par bareminimum un zem toolchain mums jānorāda toolchain sakne uz ceļu, kur ir instalēts STM8 Cosmic kompilators. Noklusējuma ceļa adrese ir “C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8” . Pēc tam vienkārši noklikšķiniet uz Labi, lai iegūtu logu “MCU Selection”.
Atrodiet STM8S103F3P un atlasiet to un noklikšķiniet uz Labi. Tādējādi tiks atvērts jauns STM8S103F3P projekts STVD. Pēc pabeigšanas logiem vajadzētu izskatīties šādi.
Ar peles labo pogu noklikšķiniet uz “avota fails” un atlasiet “Pievienot failus mapei”, lai iekļautu visus c failus no mūsu SPL bibliotēkas, tāpat ar peles labo pogu noklikšķiniet uz Iekļaut failus, lai iekļautu visus galvenes failus. Ja jums ir kādi jautājumi, varat atsaukties uz zemāk esošo videoklipu. Kad visi faili ir pievienoti, noklikšķiniet uz Veidot -> atjaunot visus un pēc tam Kompilēt, lai pārbaudītu, vai kompilators un SPL darbojas kā paredzēts. Ja viss norit labi, jums vajadzētu redzēt šo ekrānu ar kļūdu būvēšanas rezultāts 0 un brīdinājumu.
Kad tas ir izdarīts, tagad mēs varam būt pārliecināti, ka visas mūsu SPL bibliotēkas strādā ar Cosmic kompilatoru un STVD. Šī ir standarta procedūra, kuru ievērosim katram jaunam projektam. Varat arī iekļaut tikai nepieciešamos galvenes un avota failus, kas nepieciešami projektam, lai vajadzības gadījumā samazinātu būvēšanas laiku.
Koda augšupielāde no STVD uz STM8S izstrādes paneli, izmantojot ST-Link V2
Pievienojiet ST-Link V2 ar izstrādes paneli, kā parādīts zemāk.
Savienojumi ir diezgan taisni uz priekšu, un labākais ir tas, ka jums nav nepieciešami ārēji komponenti. Mana aparatūras iestatīšana programmēšanai ir parādīta zemāk. Es tikko izmantoju sieviešu galvenes vadus, lai izveidotu savienojumu. Tomēr ņemiet vērā, ka jūsu ST-Link pinout var atšķirties no manējā, pirms savienojumu izveidošanas noteikti ievērojiet ierīces pinout.
Izveidojiet savienojumu un pievienojiet ierīci datoram, draivera instalēšana jāsāk automātiski. Varat izmantot ierīces pārvaldnieku, lai pārliecinātos, vai jūsu dators ir pareizi atklājis ST-LINK V2. Jūs arī pamanīsit, ka testa diode mirgo uz tāfeles, ja tā pirmo reizi darbina dēli. Tiklīdz būsim veiksmīgi sastādījuši kodu STVD, mēs iegūsim “S19” paplašinājuma failu zem projekta mapes atkļūdošanas direktorija. Mans S19 fails ir parādīts zemāk.
Šis S19 ir kā Hex fails, kas jāaugšupielādē kontrolierī. Lai augšupielādētu programmu, atveriet ST Visual Programmer (STVP), kas būtu jāinstalē kopā ar STVD. Pēc tam konfigurācijas logā atlasiet, kā parādīts zemāk esošajā attēlā, un noklikšķiniet uz Labi.
Pēc tam noklikšķiniet uz Fails-> Atvērt un dodieties uz S19 failu, kuru mēs parādījām iepriekš. Pēc tam, lai mirgot ierīci, izpildiet Program -> Current Tab. Ja mirgo veiksmīgi, jums vajadzētu redzēt šādu izvadi.
Pēc noklusējuma, iegādājoties STM8S, tam būs blin programma, kas mirgo testa LED. Pēc šī tukšā koda augšupielādes gaismas diode vairs nemirgos.
Svarīgi: Es atklāju, ka mans ST-Link pēc atiestatīšanas automātiski neatjaunoja dēli. Man bija jāatvieno un jāpievieno vēlreiz, lai pārbaudītu savas programmas izvadi. Es neesmu pārliecināts, vai tā ir problēma visiem, dariet to zināmu komentāru sadaļā. Apskatiet arī videoklipu apakšā, kas izskaidro šī risinājuma risinājumu.
Ar šo darbu pabeigsim šo apmācību, mēs esam apguvuši aparatūras pamatus, izveidojuši izstrādes vidi un iemācījušies apkopot un augšupielādēt kodu. Tagad mēs esam gatavi virzīties uz priekšu, un mēs to izmantosim visās gaidāmajās apmācībās. Ja jums ir kādi jautājumi, lūdzu, ievietojiet tos mūsu forumos un sekojiet līdzi vairāk !!