Konfigurace Eclipse pro vývoj na ARM Cortex

Posted by Petr Hapal on 3 December 2016 | 0 Comments

Tags: , , ,

Cílem tohoto příspěvku je ukázat, jak nakonfigurovat Eclipse IDE pro C a C++ vývoj pro mikrokontroléry ARM Cortex pomocí GCC. Zaměřím se na konfiguraci pro platformu STM32F0, protože právě tyto mikrokontroléry od ST jsou široce používány. Předpokládám, že používáte Windows. Konfigurace pro Linux je v principu podobná. Začněme od nuly krok po kroku.

Stáhněte Eclipse Mars IDE pro vývoj v C/C++ (je nutné mít nainstalovanou Javu). Je důležité použít Eclipse Mars, protože právě s touto verzí korektně fungují GNU ARM pluginy (budeme je instalovat později). Eclipse najdete na www.eclipse.org v sekci download pod packages. Eclipse IDE je distribuováno jako zip archiv. Jednoduše rozbalte obsah archivu do jakéhokoliv adresáře. Já používám c:\EclipseARM. Eclipse spustíte pomocí c:\EclipseARM\eclipse\eclipse.exe. Po spuštění klikněte na ikonu workbench. Měli by jste vidět neco takového:

Instalace toolchainu

Toolchain je soubor kompilačních nástrojů a knihoven, které jsou zapotřebí pro vývoj v C / C++. Je možné toolchain sestavit ze zdrojovách kódů, ale je mnohem jednodušší použít již existující GNU ARM Embedded toolchain pro Windows, který je ke stažení z https://launchpad.net/gcc-arm-embedded. Používám verzi 5-2016-q3-update. Stáhněte zip archiv (zde). Rozbalte obsah archivu do nejakého podadresáře v c:\EclipseARM (ja jsem zvolil c:\EclipseARM\tools\gcc-arm).

Poznámka: Pro následnou konfiguraci je vždy jednodušší mít všechny nástroje v jednom adresáři.

ARM Build tools

Pro generování výsledných binárních souborů budeme potřebovat make. Make je součástí balíku GNU ARM Eclipse Build Tools, který je ke stažení ze sourceforge (https://sourceforge.net/projects/gnuarmeclipse/files/Build Tools/). Stáhněte win32 nebo win64 (z závislosti na Vaši architektuře) a spusťte instalačního průvodce. Znovu změňte cílový adresář na náš adresář s Eclipse (já jsem zvolil c:\EclipseArm\tools\Build Tools\2.6-201507152002).

OpenOCD

OpenOCD volně šiřitelný On-chip debugger. Podporuje mnoho ladicích zařízení a cílových platforem. Ke stažení je opět ze sourceforge (https://sourceforge.net/projects/openocd/). Stáhněte zip archiv a rozbalte do c:\EclipseARM\tools.

Nyní máme připraveny veškeré nástroje nutné k sestavení projektu.

Konfigurace Eclipse

Nyní přicházejí na řadu GNU ARM C/C++ pluginy. V hlavním menu klikněte na Help -> Install new software. Zobrazí se instalační dialog. Zde je nutné přidat instalační zdroj kliknutím na tlačítko Add a zadáním http://gnuarmeclipse.sourceforge.net/updates do Location. Klikněte na OK. Teď je možné tento zdroj zvolit ve "Work with" menu. Po chvíli se načte seznam pluginů, které jsou k dispozici. Zaškrtněte všechny a nainstalujte je. Eclipse by se měl po úspěšné instalaci restartovat.

Pokračujeme konfigurací toolchainu. Otevčete nastavení kliknutím na Window -> Preferences. Zvolte C/C++ -> Build -> Global Tools Paths a vyplňte cesty k toolchainu a build tools. Všimněte si, ze používám relativní cesty k adresáři s Eclipse. Mělo by to vypadat asi takto:

Na závěr je potřeba změnit cestu k balíkům (packs, nainstalujeme je později). Bohužel zde není požné použít relativní cesty ale pouze absolutní:

Klikněte na Apply a OK. Od teď by mělo být možné zkompilovat např. "Hello world" projekt.

Podpora cílových zařízení

Dalším krokem je instalace podpory cílových zařízení (mikrokontrolérů a vývojových desek) instalací balíků (packs). Balíky obsahují konfigurační podporu pro jednotlivé mikrokontroléry. Díky nim je také možné zobrazovat registry periferií v debug perspektivě. Je nutné přepnout do perspektivy packs. Ve výchozím stavu není tato perspektiva k dispozici - přidáme ji kliknutím na ikonu v pravém horním rohu, poté zvolte Packs perspective a klikněte na OK:

Otevřete Packs perspektivu. Vše by mělo být prázdné - nejsou nainstalovány žádné balíky. Pro zobrazení seznamu všech balíků, které jsou k dispozici, je nutné kliknout na tlačítko refresh. Načtení seznamu zabere poměrně dlouhý čas (vhodná doba dát si kávu):

Po načtení seznamu zvolte balíky, které chcete nainstalovat (zvolte miktrokontroléry, pro které budete vyvíjet), klikněte pravým tlačítkem a zvolte Install.

Po instalaci je Vaše vývojové prostředí plně připraveno.

Poznámka: Protože jsme vsechny součásti (včetně balíků) instalovali do jednoho adresáře společně s Eclipse IDE je Vaše vývojové prostředí plně přenositelné. Ale pozor - jak si jistě pamatujete museli jsme nastavit cestu k balíkům absolutně - pokud přemístíte Vaše vývojové prostředí do jiného adresáře, je nutné zmenit i cestu k balíkům (pokud to neuděláte balíky zmizí).

Ukázkový projekt pro STM32F0

Ukažme si, jak vytvořit a nakonfigurovat testovací projekt pro ladění s OpenOCD. Mam tu desku Nucleo-F030R8 s mikrokontrolérem STM32F030R8. Začneme vytvořením ukázkového projektu v Eclipse. V hlavní nabídce klikněte na File -> New -> C project. V otevřením dialogu zadejte jméno projektu, cestu a zvolte STM32F0xx C/C++ project. V toolchains zvolte Cross ARM GCC a klikněte na Next. V následujícím dialogu nastavte volbu Content na Blinky (ukázkový projekt). Dokončete konfïguračního průvodce zvolením příslušného typu mikrokontroléru případně zvolte Vaše konkrétní nastavení.

Poznámka: Nainstalované balíky pro STM32F0 obsahují demo projekt včetně linker skriptu. Linker skript je jednou z nejdůležitějších částí projektu. Zjednodušeně řečeno říká linkeru, jak je organizována pamět a kam má jednotlivé části projektu vložit. Pokud by jste vytvořili obyčejný hello world projekt, neobsahoval linker skript a pravděpodobně byste nebyli schopni naflashovat / ladit Vaši aplikaci. Napsání linker skriptu je pro začátečníky jednou z nejobtížnějších (a nejméně zábavných) záležitostí.

Po dokončení průvodce by se měl projekt otevřít a vy byste jej měli být schopni sestavit kliknutím na Project -> Build all.

Konfigurace OpenOCD pro ladění

Nyní vytvořme pro náš projekt novou ladicí konfiguraci. V hlavním menu klikněte na Run -> Debug configurations... V otevřeném dialogu kliněte na GDB OpenOCD Debugging a poté klikněte na tlačítko New launch configuration v levém horním rohu. Vytvoří se nová OpenOCD konfigurace. Otevřete záložku Debugger a nastavte Config options. V Config options je nutné specifikovat cílové zařízení / desku. Já používám vývojový kit nucleo (-f board/st_nucleo_f0.cfg). Všechny podporované konfigurace můžete najít v adresáři OpenOCD (c:\EclipseARM\tools\openocd-0.9.0\tcl)

Nyní je vše připraveno ke spuštění ladění. Klikněte na Apply a Debug (předpokládám, že kit nucleo je připojen k PC a že jsou nainstalovány ovladače). Mělo by dojít k naflashování firmwaru a ke zobrazení debug perspektivy:

 

Zaslat komentář

Komentáře

Nikdo na této stránce ještě nepřidal komentář.

RSS kanál pro komentáře na této stránce | RSS kanál pro všechny komentáře