Druhý díl věnovaný počátečním nudným krokům, s STM32F VL - Discovery kitem, navazuje na první díl a jednoduše obsahuje to, co se nevešlo do prvního dílu - jak přeložit první demo, jak nakonfigurovat ladění aby fungovalo, atd.

Importování DEMA

Pro Atollic TrueSTUDIO rovněž firma ST připravila potřebné demo v podobě firmware, které si můžete přeložit sami.

Potřebný firmware si stáhnete zde. Pak si ten zip soubor musíte rozbalit někam na disk (v příkladech dál je firmware rozbalen do rootu na C disku, do adresáře C:/Value Line Discovery/FIRMWARE, ale pochopitelně si to můžete rozbalit kamkoliv chcete - POZOR adresář si musíte ještě chvíli pamatovat!).

Pak si spustíte TrueSTUDIO (předpokládám že mezi tím jste již zvládli registraci!) a objeví se vám úvodní pracovní strana (na následujícím obrázku jsou doplněny názvy pracovních ploch).





Nyní si do TrueSTUDIA musíme naimportovat demoprojekt od ST - ten je mezi daty, co jsme si rozbalili na disk. Zvolíme proto z menu sloupec File a dole Import. V okně importu rozbalíme General a zvolíme z vybalených možností "Existing Project into Workspace". Tak jak je znázorněno na dalším obrázku.





Po kliknutí na Next dole se nám objeví se nám následující okno.





A nyní musíme pomocí tlačítka Browse a listování zvolit ten správný adresář, kam jsme si rozbalili firmware (v adresáři třeba /stm32vldiscovery_package zvolíte Project, pak Demo, pak TrueSTUDIO a pak DISCOVER). V okénku Project níže se vám objeví
project DISCOVER, který jste nalistovali. Zkontrolujte zaškrtnutí políčka, že projekt je zvolen. Pak kliknutím na Finish, projekt naimportujete do vašeho nastaveného workspace (což se vám potvrdí tím, že Project Exploreru se vám vypíše projekt DISCOVER).
Projekt má před sebou "+", takže jej můžete rozbalit a podívat se mu na střeva. Ale zatím jej ještě nedokážete přeložit. Proč? Jednoduše proto, že vám chybí potřebné knihovny, na které se projekt odvolává. Naštěstí je projekt napsán tak, že všechny dodatečné soubory jsou volány relativně pomocí proměnné, a tak vám stačí nastavit jen tuto proměnnou a pak už projet přeložíte správně.


Nastavení linkovaných zdrojů (Linked Resources)

Místa, kde má sestavovač (linker) hledat potřebné soubory nastavíme tak, že v menu zvolíme Windows a pak dole Preferences. Otevře se nám okno, ve kterém si rozbalíme General a v něm si rozbalíme Workspace a pak konečně můžeme kliknout na Linked Resources. Situaci vidíme na následujícím obrázku.





Nyní musíme kliknout v pravo na tlačítko New, abychom vložili nový zdroj - adresář, definovaný proměnnou "CurPath". Takže vyplníme jméno proměnné a klikneme na tlačítko "Folder" a nalistujeme adresář, který jsme si rozbalili ((v adresáři například /stm32vldiscovery_package). Kontrolou by mělo být, že v adresáři uvidíte další čtyři složky (adresáře) s názvy _htmrsc, Libraries, Project a Utilities). Na závěr odklepneme OK a proměnná CurPath se nám zapíše do okna zdrojů. Okno zavřeme opět tlačítkem OK. A nyní už můžeme překládat.


Přeložení dema

Projekt přeložíme tak, že v menu zvolíme Project a v něm Build All, nebo jednoduše klávesovou zkratkou Ctrl-B (tuhle zkratku není špatné si zapamatovat, překládá se dost často ). Objeví se okno znázorňující průběh překladu, kliknutím na Details se nám ukáži podrobnosti co se děje. Pokud jste vše dělali správně podle tohoto postupu, tak překlad proběhne v pořádku.

Navýsledek překladu se můžeme podívat, když dole vpravo klikneme na Console a v Console window uvidíme něco jako text:
Build complete for project DISCOVER
Time consumed: 11484 ms.
Pochopitelně ten čas bude záležet na tom , jak rychlý máte počítač a kolik aplikací máte spuštěných.

Takže demo aplikaci máme přeloženou a teď jí musíme dostat do kitu.



Debug, alias česky - ladění

Teď´když kliknete na ladění (to je ta ikona broučka v ekologické zelené barvě, pod menu), tak to skončí chybou - sytém neví, na jakém hardware má ladit. Abychom to zdolali, tak musíme kliknout na název projektu DISCOVER v okně Project Window (DISCOVER zmodrá) a pak stisknout F11. Na mžik problikne hláška že není korektní nastavení a otevře se nám okno, které je vidět na následujícím obrázku.





Tohle okno, nám ale k ničemu není, ukázal jsem vám ho jen proto, aby jste věděli že jste na dobré cestě. Ukončíme ho pomocí Cancel v pravo dole a pak se nám teprve ukáže to správné okno - Edit Configuration. Kurzor bliká na řádku nazvaném Name, kde je předvyplněno "STM32100B-EVAL.elf". Nám je celkem jedno, jak tu konfiguraci nazveme a klidně můžeme nechat předvyplněný název. Nic neměníme, pouze odklikneme OK. Mě se potom poněkud nepochopitelně objevila reklama na zakoupení plné verze produktu, pokud vám též, tak jí jen odkliknete pomocí "Close".

Nyní ale vidíte, jak vpravo dole, ze systém snaží připojit k ST-Linku. Naskakují procenta. Pokud se vám objeví něco jako tohle:
localhost:61234: Pokus o p\370ipojen\355 selhal, proto\236e p\370ipojen\341 strana v \350asov\351m intervalu \370\341dn\354 neodpov\354d\354la, nebo vytvo\370en\351 p\370ipojen\355 selhalo, proto\236e neodpov\354d\354l p\370ipojen\375 hostitel.
Tak to znamená, že máte zapnutý firewall a ladění z IDE nemůže komunikovat se serverem, který komunikuje s ST-Linkem. Proto si nakonfigurujte firewall tak, aby nebránil komunikaci s ladicím serverem, který si TrueSTUDIO spustí. Potom odpojte kit, zavřete TrueSTUDIO, připojte kit, spusťte TrueSTUDIO a znovu opakujte celý postup od začátku této kapitoly. Předpokládám že nyní se všem již zobrazí následující okno.



To je okno ladění projektu - tudíž důkaz toho, že TrueSTUDIO se dokázalo pomocí ST-linku připojit k cílovému ValueLine mcu. To že ladění funguje si můžeme ověřit tím, že klikneme na zelenou šipku nahoře (je vpravo vedle vypsaného názvu okna Debug) a zelená LED na kitu nám začne blikat. Zelená šipka se jmenuje Resume. Po kliknutí na ikonu Suspend (vypadá jako rovnítko otočené o 90 stupňů, je hned v pravo vedle Resume) se blikání zastaví. Kliknutím na červené tlačítko vedle (Terminate) se ladění ukončí a opět se dostaneme do základního okna IDE, ze kterého jsme se do ladění dostali.

Podrobnosti k ladění a praktický příklad si ukážeme v některém v dalších dílů.


Odkazy

První dil "Začínáme s STM32 VL Discovery kitem" naleznete zde.
Článek s popisem VL Discovery kitu naleznete zde.


Doplnění

Včera večer jsem si s tím hrál a mám následující poznatky. Musíte být na internetu aby fungovala instalce (resp. ověřuje to správné licenční číslo přes internet). Otravné hlášení o doporučení pořízení si Professional verze se objevuje dost často (zejména při přechodu do ladění, takže když odstraňujete chyby, tak je to otravné až dost ).
Ta finta s nastavením Targetu přes F11, popsaná výše chodí tak napůl. Jednak vytvoříte jen Debug Target, takže když jsem chtěl doplnit běžnou binárku bez ladicích informací, tak jsem neuspěl. A za druhé to stále hlásí chyby, že údaje o targetu jsou vyplněny blbě. Nicméně to pak skočí do debugu a ten funguje. Zvláštní.
Jde s tím celkem šikovně generovat nový projekt - ale je to jako s tím skládáním šicího stroje za socialismu - ať jej skládáte jak chcete, tak je z toho samopal. Tady vám vždy vznikne program na blikání. Bohužel je to univerzální wizard, takže je pro všechny developping boardy pro STM32F a tak je nově vytvořený projekt šíleně ukecaný (pomocí ifdef je ošetřeno vypsání informací na LCD, načítání tlačítek, blikání, atd. atd.).

Pozor, musíte mít nastaveno při ladění pomocí ST-Link, aby se využíval protokol SWD, nikoliv JTAG!