Debugger Raspberry Pi Debug Probe dla platformy Raspberry Pi Pico

Kilka dni temu miała miejsce premiera nowego produktu Fundacji Raspberry Pi. Jest to debugger Raspberry Pi Debug Probe specjalnie przeznaczony do płytek Raspberry Pi Pico oraz pozostałych płytek z mikrokontrolerem RP2040. Jest to od dawna oczekiwany produkt, który znacznie upraszcza wyszukiwanie błędów w kodzie na tą platformę.

Do tej pory na rynku nie było dedykowanego debuggera na platformę Raspberry Pi Pico. Użytkownicy co prawda mogli skorzystać z uniwersalnych debuggerów, takich jak J-Link, komputera Raspberry Pi, czy też drugiego modułu Pico z zainstalowanym oprogramowaniem picoprobe. Szczególnie ta ostatnia opcja była dość atrakcyjna z powodu niskiej ceny i prostoty użycia. Właśnie na tej konstrukcji oparto Raspberry Pi Debug Probe. Jest to bowiem zmodyfikowana płytka Raspberry Pi Pico z układem RP2040 oraz złączami do podłączenia interfejsu SWD. Całość ma niewielkie wymiary, elegancką półprzezroczystą obudowę, a w zestawie znajdziemy wszystkie niezbędne przewody, w tym przewód do debugowania, do połączenia UART oraz przewód microUSB.

Rys. 1. Raspberry Pi Debug Probe wraz z elementami dołączonymi do zestawu

Debugger Raspberry Pi Debug Probe

Jak wspomnieliśmy Debug Probe używa do debugowania portu SWD. Jest to alternatywa do standardowego portu JTAG, zaprojektowana przez ARM. Cechuje się niższą liczbą niezbędnych połączeń – jedynie dwoma, podczas gdy JTAG wymaga co najmniej czterech. Ma to przewagę, gd potrzebujemy oszczędzać przestrzeń na płytce oraz liczbę wyprowadzeń mikrokontrolera poświęconych na port do debugowania. Więcej informacji na ten temat znajdziesz w artykule SWD – ARM’s alternative to JTAG (eng.).

Interfejs jest zgodny ze standardem CMSIS-DAP. Oznacza to, że bez problemu jest w stanie współpracować nie tylko z układem RP2040, ale także z każdym mikrokontrolerem ARM wyposażonym w złącze SWD.

Jeśli chodzi o oprogramowanie na komputerze PC, to projektanci z Raspberry Pi preferują tutaj pakiet OpenOCD. Działa on jako pewnego rodzaju serwer czy pośrednik pomiędzy debuggerem programowym, jak np. GDB, a portem SWD czy JTAG. Jest dostępny na systemy Linux, Windows oraz macOS i szeroko stosowany w rozmaitych projektach.

Jak już wspomnieliśmy moduł ma fabrycznie zainstalowane oprogramowanie firmware picoprobe, umożliwiające użycie płytki z RP2040 jako debuggera do tego samego mikrokontrolera. Ten program oryginalnie napisano dla modułu Raspberry Pi Pico, co pozwalało wykorzystać drugi moduł do obsługi pierwszego, na którym przygotowywany jest docelowy projekt. Technicznie podobnie działa debugowanie za pomocą Raspberry Pi Debug Probe, jednak w tym przypadku otrzymujemy rozwiązanie bardziej eleganckie, wstępnie skonfigurowane i proste w użyciu.

Oprócz portu SWD, produkt oferuje także osobny port UART. Pozwala to na komunikację z komputerem za pomocą popularnego portu szeregowego. Oba porty wyprowadzono na 3-pinowe złącza JST o rastrze 1,0 mm.

Rys. 2. Płytka Debug Probe bez obudowy. Widoczne porty UART oraz DEBUG

Połączenie z Raspberry Pi Pico

Wszystkie moduły Raspberry Pi Pico zawierają trzypinowe złącze do debugowania zgodne ze standardem złącza do debugowania Raspberry Pi. Aby jednak do niego dotrzeć, trzeba zakupić Raspberry Pi Pico H z fabrycznie przylutowanymi złączami, lub też samemu przylutować odpowiednie złącza.

Aby podłączyć debugger do Raspberry Pi Pico H należy:

  • Złącze D (Debug) połączyć ze złączem JST Debug na Raspberry Pi Pico
  • Złącze U (UART0 należy połączyć z portem szeregowym mikrokontrolera:
    • Pin RX (przewód żółty) do TX Pico (GP0),
    • Pin TX (przewód pomarańczowy) do RX Pico (GP1),
    • Masa debuggera (czarny) do masy Pico (GP2).

Poniżej można obejrzeć schemat połączenia debuggera z Raspberry Pi Pico.

Rys. 3. Schemat połączenia debuggera z Raspberry Pi Pico

Dla użytkowników systemów Windows producent przygotował prosty instalator całego ekosystemu programistycznego wraz ze środowiskiem . Plik instalacyjny wraz z wyjaśnieniem oraz przykładem uruchomienia debuggera można znaleźć na stronie https://www.raspberrypi.com/news/raspberry-pi-pico-windows-installer/.

Więcej informacji, pełna dokumentacja oraz procedura instalacji pakietu narzędziowego można także znaleźć na stronie dokumentacji Raspberry Pi.

Podsumowanie

Raspberry Pi Debug Probe to sprzętowy debugger zaprojektowany do współpracy z Raspberry Pi Pico i innymi płytkami rozwojowymi z mikrokontrolerem RP2040. Produkt ten jest niewielkim, niedrogim i wygodnym rozwiązaniem, którego brakowało do tej pory na rynku. Korzysta ze standardowych rozwiązań takich jak port SWD i CMSIS-DAP, co pozwala na współpracę ze standardowymi narzędziami programistycznymi, a także z innymi mikrokontrolerami z rdzeniami ARM i portem SWD. Na pewno, mimo niskiej ceny, jest to potężne narzędzie, które znacząco uprości projektowanie kodu na platformę Raspberry Pi Pico.

Debugger Raspberry Pi Debug Probe kupisz w sklepie internetowym Kamami.pl, który jest poficjalnym dystrybutorem produktów Raspberry Pi w Polsce.

O autorze