logo_elektromys.eu

/ Programátory na STM8 |

/ Programátory / Debuggery |

Mikrokontroléry STM8 používají k programování a debugování 4 drátové rozhraní SWIM (Single Wire Interface Module). Jedná se o tzv ICSP (In Circuit Serial Programming), které jak název napovídá umožňuje programovat mikrokontrolér přímo v zařízení (což je dnes běžný standart) bez nutnosti ho vytahovat a vsazovat do programátoru. Kromě programování umožňuje i debugování s celou řadou funkcí o nichž bude řeč v některém z dalších dílů. Většinu mikrokontrolérů STM8 lze programovat i pomocí tzv. bootloaderu. To lze provádět i bez programátoru jen za pomoci USB-UART převodníku. Tato metoda ale neumožňuje debugování a je pro začátečníky nevýhodná a proto se jí dále nebude zabývat. Programátor/debugger se jmenuje St-link a máte minimálně tři způsoby jak si ho opatřit.

Jak vidno řešení je nespočet. Tuto sekci budu postupně doplňovat vždy když se mi některé z navrhovaných řešení podaří ověřit.

Připojení programátoru St-link/V2

Připojení programátoru St-link/V2. Nezapomeňte že VDD slouží k tomu aby si St-link snímal napětí vašeho MCU (je to tedy vstup a nelze ho použít jako zdroj napájení).

Připojení programátoru z STM8S Discovery

Odpájením propojek SB2 a SB1 vznikne samostatný St-link s VDD fungujícím jako zdroj napájení (jumperem JP1 volíme 5V z USB nebo 3.3V). Při odlomení desky nebude na VDD přivedeno napětí z kitu a VDD bude vstup. Upozorňuji že 5V napájecí napětí (přímo z USB) není přesné ani nijak zvlášť stabilní.

Připojení programátoru z STM8S Nucleo

Odlomením ST-linku z Nucledesky vznikne samostatný programátor. Vývody je nutno připájet na rezistory R9,R12,R14 například tak jako na fotografii níže.
Na zadní straně odlomeného ST-linku lze také připájet vývody pro UART (Stlink má i funkci VCP). TX a RX je myšleno ve vztahu vůči cílovému čipu (TX k TX cílového čipu).

Klon programátoru St-link

Rozložení pinů je vytištěno přímo na programátoru. Pin 5.0V je výstup 5V, pin 3.3V je výstup 3.3V. K propojení s STM8 slouží piny SWIM a RST. Vývody ozačené SWDIO a SWCLK slouží k programování debugování STM32.

/ ST Visual Programmer |

ST Visual Programmer (STVP) je počítačový program sloužící k základnímu ovládání programátorů (v našem případě St-linku). Umí zapisovat a číst a mazat program (tedy obsah flash paměti) i paměť EEPROM a konfigurovat takzvané "option bytes". Na obrázku jsou červeně zarámované "záložky", které nám umožňují sledovat obsah flash paměti (Program memory), EEPROM (Data memory) a "Option bytes". Skrze horní menu se můžeme dostat do okna "Configuration", kde volíme programátor, rozhraní a MCU se kterým chceme komunikovat. Programátor mám zvolený ST-LINK, komunikační rozhraní používáme SWIM a mikrokontrolér volíme v pravém sloupci (já testoval na STM8S103F3). Volbu mikrokontroléru lze provést i v roletkové nabídce v horní liště. Program využijete převážně na konfiguraci "Option bytes" o nichž bude řeč později. A případně na "test spojení" kdy budete chtít ověřit že máte programátor správně připojený. V takovém případě vyberete vhodné MCU, zvolíte si jednu ze záložek (doporučuji "Option byte") a stisknete Read->Current tab. Buď vše proběhne v pořádku a načte se zvolený obsah mikrokontroléru a nebo na vás vyskočí varovná hláška že se programátoru nepodařilo s mikrokontrolérem spojit. V takovém případě nejprve zkontrolujte zda máte správně a spolehlivě připojené všechny čtyři vodiče (VDD,GND,RST,SWIM). Pokud ano, zkontroluje zda má mikrokontrolér napájení (třeba voltmetrem). Tyto dvě situace tvoří 95% příčin kdy se nedaří s mikrokontrolérem spojit.
Nic v "Option bytes" neměňte dokud tomu nebudete opravdu dobře rozumět. Zvláště ne ROP (Read Out Protection) a EXTCLK.

Okno STVP. Otevřena konfigurace programátoru.

/ Vzorové zapojení |

Tahle sekce je pro opravdové začátečníky. Takže si na modulu s STM8S103F3P6 ukážeme zapojení. Modul musíme nějak napájet. Můžete buď připojit na vývod označený 5V napájení z vnějšího zdroje nebo modul zapojit pomocí USB kabelu (slouží jen jako napájení). V takovém případě je mikrokontrolér napájený napětím 3.3V přes stabilizátor (osazený zespod modulu). Na kratší hraně desky jsou vývody označené 3V3,SWIM,GND,RST. Ty nejprve propojte s programátorem a zkontrolujte správnost zapojení. Na pinu označeném 3V3 je napájecí napětí a připojuje se tedy na pin VDD programátoru.

Zapojení modulu s STM8S103F3P6 pomocí St-link/V2. Kit potřebuje své napájení (viz dvojice přívodních drátů)

| Odkazy /

Home
| V1.2 30.5.2022 /
| By Michal Dudka (m.dudka@seznam.cz) /