Jste zde

Ladící nástroje pro vývoj embeded software

Vývoj embeded systému vyžaduje mít ty správné nástroje pro ladění daného kódu. Nejedná se jen o ladící software, ale také o potřebný hardware a různé konektory a sondy. Podívejme se, jaké nástroje jsou potřeba a jak je vybrat.

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ů.

Obrázek 1: Vlastnosti SEGGER J-Link on-board, které jsou součástí některých vývojových desek. (Zdroj obrázku: SEGGER)

 

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:

https://www.segger.com/products/debug-probes/j-link/technology/cpus-and-devices/overview-of-supported-cpus-and-devices/

 

       

Hodnocení článku: