STM8S103F3P6 Vývojová deska

Návod jak programovat mikrokontrolery STM8S v Arduino IDE

V našem článku se naučíš programovat mikrokontrolery od STMicroelectronics z rodiny STM8S ve vývojovém prostředí Arduino IDE. Jedná se o 8bit mikrokontrolery s integrovanou EEPROM pamětí pro ukládání uživatelských dat. Jsou levnější variantou k rodině STM32.

Příprava vývojové desky

K programování desky budeš potřebovat některý z programátorů ST-Link.
Z naší nabídky například tento: ST-Link V2

Zjistili jsme, že dodávané desky mají od výrobce nahraný demo software, který po zapnutí napájení bliká integrovanou LEDkou. Bohužel výrobce přitom uzamkl mikrokontroler pro čtení a zápis. Jako první tedy bude nutné mikrokontroler odemknout.

K tomu bude potřeba nainstalovat software od STMicroelectronics – ST Visual Programmer. Stáhnout ho můžeš ze stránek výrobce: https://www.st.com/en/development-tools/stvp-stm8.html. Po stažení ho rozbal a spusť instalační soubor sttoolset_pack42.exe.

Na prvním okně klepni na tlačítko Next>.

Na dalším okně je potřeba odsouhlasit licenci. Zatrhni volbu: I accept the terms of the agreement a klepni na tlačítko Next>.

Na dalším okně není potřeba nic měnit a tudíž stačí, když klepneš na tlačítko Next>.

Jako další si můžeš vybrat, kam se software nainstaluje. Ve většině případů není potřeba měnit a tak opět stačí klepnout na tlačítko Next>.

Dále si můžeš vybrat, jestli ti má instalátor vytvořit zástupce na ploše. Přednastavená volba bude opět stačit. Klepni na tlačítko Next>.

Teď bude probíhat instalace a v průběhu bude potřeba povolit i instalaci několika ovladačů. Na všech výzvách o instalaci ovladače klepni na tlačítko Instalovat.

Po nainstalování všech potřebných komponent na posledním okně instalace klepni na tlačítko Finish.

Tím je instalace ST Visual Programmeru hotova a na ploše by se měly objevit dvě ikonky:

Nyní propoj programátor s deskou:

ProgramátorDeska
3.3V3V3
SWIMSWIM
GNDGND
RSTNRST

Zapoj programátor do USB počítače, měla by se rozsvítit LEDka PWR na desce. LEDka TEST začne blikat. Nyní můžeš spustit program ST Visual Programmer.

Na prvním okně vyber typ programátoru, programovací mód a typ mikrokontroleru. V našem případě to bude ST-LINK, SWIM a STM8S103F3. Klepni na tlačítko OK.

Nyní můžeš vyzkoušet, zda vše funguje. Klepni na ikonu Read:

Při prvním spuštění se může objevit toto chybové hlášení. Klepni na tlačítko OK, zmáčkni tlačítko RST na desce a zkus to znovu.

Objeví-li se toto okno, programátor komunikuje s mikrokontrolerem, ale mikrokontroler je uzamčen pro čtení.

Tím máš komunikaci programátoru s mikrokontrolerem otestovanou a můžeš přikročit k odemknutí mikrokontroleru.

Klepni na záložku OPTION BYTE:

Zkontroluj že je vybrána položka Read Out Protection OFF v poli ROP:

Klepni na tlačítko Program:

Tím došlo k odemknutí mikrokontroleru pro čtení a zápis.

Opět můžeš pro kontrolu načíst paměť mikrokontroleru klepnutím na tlačíko Read. Vše by mělo proběhnout bez chybového hlášení.

Tím máš vývojou desku připravenu a můžeš do ni nahrát svůj první program. ST Visual Programmer můžeš zavřít, teď ho již používat nebudeš.

Podpora mikrokontroleru v Arduino IDE

Pokud ještě nemáš nainstalováno vývojové prostředí Arduino IDE, můžeš si přečíst náš článek, jak s tímto prostředím začít: Začínáme s Arduinem

Pro instalaci podpory těchto mikrokontrolerů budeš potřebovat nainstalovat knihovnu Sduino.

Spusť Arduino IDE a v menu Soubor – Vlastnosti do seznamu Správce dalších desek URL přidej nový řádek: https://github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json

Potom v menu Nástroje – Vývojová deska – Manažér desek zadej do horního vyhledávacího políčka stm8 a klepni na tlačítko Instalace.

Po nainstalování v menu Nástroje – Vývojová deska vyber desku STM8S103F3P6 Brakout Board.

Jako poslední je potřeba vybrat typ programátoru. V menu Nástroje – Programátor vyber ST-Link/V2.

Test funkčnosti

Tím je příprava hotová, nyní můžeš vyzkoušet, že vše funguje. K tomu účelu použij jednoduchý program, který rozbliká LED diodu na desce.

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  int i;

  for(i=0; i < 3; i++) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(100);

    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
  }
  
  delay(500);
  
  for(i=0; i < 2; i++) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(500);

    digitalWrite(LED_BUILTIN, LOW);
    delay(500);
  }
}

Nahraj program do desky tlačítkem Nahrát . Po úspěšném nahrání programu do desky se program automaticky spustí a LEDka začne blikat.

To je vše! Nyní se můžeš pustit do vývoje vlastní aplikace!

Sdílet článek

5 komentářů

    1. Dobrý den,

      tato chyba znamená, že program Arduino IDE nemůže stáhnout soubor package_sduino_stm8_index.json z uvedeného odkazu. Odkaz jako takový jsme zkoušeli a je funkční. Zřejmě budete mít nějaký problém s dostupností tohoto odkazu. S tím Vám bohužel více poradit nebudeme schopni.

  1. Dobrý den,
    zkouším odemknout mikrokontroler, postupuju podle návoku prok po kroku, ale při pokusu otestovat připojení přes „Read“ mi vyskočí okno s hláškou „Wrong tool selection or check tool power supply or check that a previous session is closed.“.

    PWR a TEST diody na desce svítí, zkoušel jsem prohodit USB porty i vyměnit kabel ale bohužel bezezměny. Konfiguraci mám nastavenou: Hardware – ST-link, Port – USB, Programming mode – Swim, Device – STM8S103F3.

    Nevíte kde by mohla být chyba?
    Děkuji.

    1. Dobrý den,
      toto hlášení se objevuje v případě, že nemáte připojen programátor ST-Link do počítače. Zkontrolujte, zda jej máte správně nainstalovaný a připojený do USB portu počítače.

Napsat komentář: Martin Frajdl Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Mohlo by se také líbit