Prvním a nejdůležitějším nástrojem, který budeme potřebovat prakticky pořád je debugger. Jedná se o ladící nástroj, který se chová jako most mezi aplikačním kódem a procesorem, který tento aplikační kód spouští.
Ladicí program má několik důležitých funkcí:
- Převezme zkompilovanou aplikaci a uloží ji do cílové paměti
- Komunikuje s cílovým procesorem a konfiguruje všechny integrované hardwarové ladicí moduly a funkce
- Je odpovědný za nastavení „breakpointů“
- Může být použit ke čtení registrů a paměti během procesu ladění.
- Dostává skutečné informace o trasování aplikace
V mnoha případech se jednoduše vybere nejlevnější debugger nebo základní debugger, který je součástí některé vývojové desky tzv. on-board debugger. Problém je v tom, že on-board debugger má velmi omezenou funkcionalitu.
Jedním z velkých hráčů na trhu s ladícími nástroji je společnost SEGGER. SEGGER J-Link on-board lze nalézt v mnoha vývojových sadách od mnoha různých výrobců mikrokontrolérů.
Všimněte si tří klíčových charakteristik rychlosti na zcela pravém konci tabulky: rychlosti SWO, rychlosti rozhraní a rychlosti stahování. Na první pohled se tato čísla nemusí zdát tak špatná, protože jsou zdarma. Pokud je porovnáme s plně vybaveným debuggerem, jako je například J-Link Ultra + nebo J-Trace, tak zjistíme, že tyto hodnoty nejsou nelepší. (obrázek 2).
Obrázek 2: Srovnání debuggerů SEGGER. Rychlost SWO dosahuje hodnoty až 100MHz (Zdroj obrázku: SEGGER)
Minimální rychlost SWO je 30 MHz a stoupá až na hodnotu 100 MHz. Rozhraní SWO se používá pro ladění a také pro příjem některých trasovacích dat. Toto zvýšení rychlosti, neomezený počet breakpointů a možnosti trasování Ethernetu a embeded trace buffer(ETB), činí z těchto debuggerů extrémně efektivní nástroj.
Například J-Link Ultra+ je plně vybavený profesionální debugger, který zahrnuje neomezené breakpointy a vysoké hodnoty SWO (obrázek 3).
Obrázek 3: J-Link Ultra+ je plně vybavený profesionální debugger (Zdroj obrázku: SEGGER)
Pokud se potřebujeme dostat s laděním na vyšší úroveň, měli bychom zvážit pořízení SEGGER J-Trace (obrázek 4). J-Trace podporuje nejen stejné funkce jako J-Link Ultra +, ale také se může připojit pomocí rozhraní Arm Embedded Trace Macrocell (ETM).
ETM obsahuje další datové komunikační kanály, které umožňují načíst mnohem více informací o aplikaci a způsobu fungování daného mikrokontroléru. Například lze použít ETM k provedení analýzy větví kódu a dokonce k provedení trasování instrukcí.
Segger nabízí tyto nástroje pro ladění:
Podporované CPU: