logo_elektromys.eu

/ Debugger k moderním AVR |

Cenová politika vývojových nástrojů Atmelu/Microchipu není (už mnoho let) úplně přívětivá. Například ve srovnání s politikou STmicroelectronics. Pro představu nejlevnější oficiální programátor/debugger od STmicroelectronics schopný pokrýt 95% aplikací stojí okolo 280kč. Vybavené Debuggery (převodník úrovní, různá rozhraní pro bootloadery atp.) pak okolo 1000kč. Vývojové kity z nichž každý je vybaven debuggerem začínají pod 300kč. U Atmelu/Microchipu stojí nejlevnější oficiální debugger (Atmel-ICE) 2900kč a to je jen holá DPS bez plastového krytu a kabelů. Za plastový kryt a primitivní káblík (s hodně omezeným použitím) si připlatíte 1600kč (slovy jeden tisíc šest set korun). A za použitelný káblík (který má individuální piny) a malou redukci s různými konektory 2500kč. Samozřejmě že plastový kryt si dnes vytisknete na 3D tiskárně za babku a káblík za hodinku zhotovíte svépomocí, ale tím neutečete investici do Atmel-ICE. Tři tisíce nejsou málo, zvláště pak pro studenta nebo pro školu. Pojďme se tedy podívat zda neexistuje nějaká alespoň trochu schůdnější alternativa pro "moderní" mikrokontroléry rodiny AVR.

/ Curiosity Nano |

Existuje (už). Můžete si za přibližně 700kč koupit některý z vývojových kitů "Curiosity Nano" (viz seznam níže). Tento vývojový kit se stává ze dvou částí, cílového mikrokontroléru a programátoru/debuggeru - nEDBG. Vývojový kit je navržen tak aby bylo možné nEDBG elektricky oddělit od cílového čipu a používat ho samostatně. Debugger zvládá i roli převodníku USB-UART, takže poslouží i pro komunikaci s PC pomocí VCP. Asi nejzajímavější vlastnost je nastavitelný zdroj napětí. Osobně jsem si již dávno zvykl napájet cílovou aplikaci ze samostatného zdroje, ale ještě si pořád dobře vzpomínám na své začátky, kdy bych přesně takovou vlastnost velmi ocenil.


Převzato z User Guide DS50002971A
Seznam kitů, které jsou vybaveny nEDBG:

Pro následující ukázky budu používat konkrétně kit DM164151 (AVR128DA48). Krom již zmíněného nEDBG, kterému se budeme podrobněji věnovat je tento kit vybaven ještě tlačítkem, LEDkou a hodinovým krystalem. Kolíkové řady mají standardní rozteč 2.54mm a jsou opatřeny popisky. Dokumentace kitu obsahuje i kompletní schema, takže si můžete všimnout že všechny I/O nEDBG jsou vybaveny "level shiftery" a lze tedy debugovat cílové MCU provozované na různých napětích.

/ Úprava Curiosity Nano |

V této ukázce chceme upravit kit tak abychom mohli debugovat externí mikrokontrolér, který budeme napájet z kitu. Úprava je dobře zdokumentovaná i v uživatelském manuálu a zvládne ji každý. V prvním kroku musíme odříznout šest propojek ze spodní strany desky (viz obrázek). Rozumné je obdobným způsobem odpojit i napájení vedoucí k MCU na desce - rozdělením spoje "POWER".


Odpojení datových pinů a (volitelné?) odpojení napájení od MCU na kitu (Převzato z user guide DS50002971A)

Druhá úprava je softwarová. Je potřeba Atmel Studiu říct, že chceme pomocí nEDBG programovat i jiná MCU než jen ten jeden konkrétní, který byl na vývojovém kitu (v mém případě AVR128DA48). Tento krok je opět zdokumentovaný i v uživatelském manuálu (3.5.2 Software Configuration) a musíme:

/ Vlastnosti Curiosity Nano |

Po těchto úpravách jsme získali samostatný debugger. Jeho pinout lze opět nalézt v manuálu (Figure 3-10.) a nebo na obrázku níže. Jednotlivé piny si zaslouží stručný komentář.


UPDI je Programovací / Debugovací rozhraní. VTG je napájecí napětí generované programátorem, RX a TX jsou vývody USB-UART převodníku.

Regulátor (MIC5353), který slouží na kitu jako zdroj napětí má svá omezení.