logo_elektromys.eu

/ STM8S208 vytváření projektu s SPL |

Zde naleznete "step by step" postup pro přípravu projektu a budu ho postupně doplňovat podle toho s čím budou mít studenti potíže. Předesílám, že to není jediný možný postup. Existuje více vývojových prostředí a vícero překladačů. Tento postup platí pro prostředí STVD a překladač Cosmic.

Postup přípravy toolchain

Postup pro STM8S208RB v prostředí STVD s překladačem Cosmic

  1. Předpokládám, že máte vytvořený workspace a máte ho otevřený. Pokud ne, otevřete si ho. Pokud ho nemáte ani vytvořený, vytvořte ho.
  2. Klikněte Project -> Add New Project Into Workspace (+ potvrdit výběr "new project")
  3. Vyplňte název projektu (bez diakritky a mezer), v sekci "project location" vytvořte pro projekt novou složku (ideálně se stejným názvem jako projekt), toolchain nechte STM8 Cosmic, cesta v toolcahin root by měla vést na správné místo ("Program Files\COSMIC\FSE_Compilers")
  4. volba MCU. Vyhledejte STM8S208RB, klikněte Select a potvrďte OK
  5. V okně workspace bude k vidění váš projekt psaný tučným písmem. Pokud tam je, ale není tučným písmem (tučně je jiný projekt), tak dejte Project->Set Active Project a vyberte váš nový projekt.
  6. Ve složce vašeho projektu vytvořte nové adresáře inc a src
  7. Ze složky STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template zkpírujte do složky vašeho projektu soubor main.c (nahradí původní soubor vytvořený studiem).
  8. Ze složky STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template zkpírujte do složky inc vašeho projektu soubor stm8s_conf.h
  9. Ze složky STM8S_StdPeriph_Lib\Libraries\STM8S_StdPeriph_Driver\inc do složky inc vašeho projektu zkopírujte všechny soubory kromě: stm8s_adc1.h, stm8s_tim5.h, stm8s_tim6.h, stm8s_uart2.h, stm8s_uart4.h
  10. Analogicky ze složky STM8S_StdPeriph_Lib\Libraries\STM8S_StdPeriph_Driver\src do složky src vašeho projetku zkopírujte všechny soubory kromě: stm8s_adc1.c, stm8s_tim5.c, stm8s_tim6.c, stm8s_uart2.c, stm8s_uart4.c
  11. V sekci workspace rozklikněte váš projekt (dvojklik na jeho název nebo jeden klik na malou ikonku + vlevo do něj) a uvidíte tři virtuální složky (Source Files, Include Files, External Dependecies)
  12. Pravým tlačítkem na složce Source Files zvolte Add Files to Folder a vyberte všechny soubory z adresáře src vašeho projektu (před chvíli jste je tam nakopírovali)
  13. Pravým tlačítkem na složce Include Files zvolte Add Files to Folder a vyberte všechny soubory z adresáře inc vašeho projektu (před chvíli jste je tam nakopírovali)
  14. Otevřete soubor stm8s.h a najděte zakomentované makro /* #define STM8S208 */ a odkomentujte ho ( #define STM8S208 ). Tím zvolíte v SPL knihovnách konfiguraci pro vaše MCU.
  15. Celou práci si uložíte pomocí File->Save Workspace (neboť tam se ukládá konfigurace vašeho projektu)
  16. Můžeme ještě v souboru stm8s_conf.h zakomentovat řádek #define USE_FULL_ASSERT (1)
  17. Všechny změny v souborech (stm8s.h, případně stm8s_conf.h) musíme uložit
  18. Pro kontrolu můžeme spustit překlad (Build->Build nebo siskem F7). Ten by měl proběhnout úspěšně
  19. Další kontrolu uděláme tím že ve zdrojovém kódu (soubor main.c) zkusíme do funkce main zapsat "GPIO_I" a stisknout CTRL+Mezerník. Funkce automatického dokončování by nám měla nabídnout dokončit text jako "GPIO_Init". Pokud to neudělá, je velmi pravděpodobné, že jste postup nedodrželi správně.

Postup pro jiné MCU než STM8S208 (např pro STM8S103, STM8S105 atp.)

Test debuggeru

Napište si jednoduchý program (viz obrázek), který bude pouze inkrementovat a dekrementovat proměnnou, přeložte ho, připojte debugger (viz předchozí návod) a dejte Debug->Start Debugging. Dole v okně Output se vypíše mimo jiné ->Chip-reset... ** Application stopped:. To znamená, že debugger restartoval váš mikrokontroler a zastavil se ještě před vykonáváním vyšeho programu. Označte (klikněte na) řádek s prvním příkazem vašeho programu (x=0;) a stiskněte Debug->Run to cursor nebo CTRL+F10 nebo příslušnou ikonku. Program se rozběhne, vykoná inicializaci mikrokontroléru, která je napsaná v assembleru a zastaví se na zvoleném příkazu vašeho kódu. Řádek se žlutě podsvítí, což znamená že program se zastavil před vykonáním tohoto příkazu. Dále už můžete program krokovat a ladit podle dalších potřeb. Toto zatím stačí jako ověření, že je vše připraveno a funkční. Debugování ukončíte stisknutím Debug->Stop Debugging nebo kliknutím na ikonku bílého kříže v červeném kole.

Po spuštění debugu se aplikace zastaví ještě před funkcí main. Označíme řádek s prvním příkazem a dáme Run to Cursor. Debugger zastaví aplikaci na tomto řádku a my máme ověřeno že vše funguje jak má.

Home
| V1.1 22.5.2020 /
| By Michal Dudka (m.dudka@seznam.cz) /