Ladění aplikace
Napsali jsme a zkompilovali jednoduchý příklad, který stačilo nahrát do paměti mikrokontroléru, spustit a program hned napoprvé fungoval. To ale není běžná realita. Ve většině případů se vývojář potýká s chybami programu nebo i s hardwarovými problémy. A právě v této chvíli přichází na řadu debugger.
Nejprve si objasníme historický původ slova debugger. Když má nějaké zařízení chyby, říká se, že má brouky. Anglický výraz pro brouka je ”bug” a proces odstraňování brouků je ”debugging”. Traduje se, že původ tohoto výrazu je v problémech, které v dávnověku počítačů způsoboval skutečný hmyz. Známá je třeba historka o molu zachyceném v roce 1947 na relé počítače Mark II. Mol byl pečlivě vyproštěn a nalepen do záznamu s poznámkou „první skutečný případ nalezeného brouka“. Debuggování tedy doslova znamená odstraňování brouků (chyb v programu) a debugger je nástroj, který nám tento proces výrazně usnadní.
Co nás čeká ...
Zapojení debuggeru
Debugger je nástroj, který umožňuje sledovat a řídit provádění programu v cílovém procesoru. Říká, kde se má program zastavit, umí si vyžádat od procesoru hodnoty uložené v registrech nebo v paměti, umí je změnit, umožňuje nahrát program do paměti procesoru. Procesory ARM jsou vybavené rozhraním JTAG, které slouží jako komunikační rozhraní s blokem ladící logiky procesoru.
Konfigurace OpenOCD
Vytvořili jsme spojení mezi USB portem osobního počítače a JTAG rozhraním mikrokontroléru LM3S800. Abychom mohli debugger plnohodnotně a pohodlně používat, musíme zprovoznit jeho softwarovou část. Hlavním stavebním kamenem bude software open source projektu OpenOCD.
Ladění programu v Eclipse
Abychom mohli pohodlně krokovat a nahrávat program přímo z vývojového prostředí, aniž bychom museli ručně psát jakékoli příkazy, musíme si nastavit Eclipse. Využijeme projekt blink-led z popisu konfigurace IDE a do něj si doplníme konfiguraci ladění.