Med Raspberry Pi har organisationen Raspberry Pi Foundation dels lyckats med målet att med billiga enkortsdatorer ta hård- och mjukvara till klassrummen, dels samlat en stor skara entusiaster världen över. Succéprodukterna har på senare tid varit svåra att hitta i butik, men bolagets enklare Raspberry Pi Pico har inte drabbats av samma torka. Den senare är i stil med välkända Arduino en mikrokontroller, som kan användas för att med kod styra det mesta.

Pico-versionen är således betydligt enklare och billigare än ordinarie Raspberry Pi-enheter, men ett gäng anslutningar och kretsen RP2040 är ofta fullt tillräckliga för många användningsområden. En nackdel med att ladda över kod till en sådan plattform är dock svårigheter att identifiera buggar under körning, något som med en vanlig dator kan göras genom att stega igenom koden med debug-verktyg. Nu presenteras en lösning för att hitta tokigheter även hos RP2040-system – Debug Probe.

helbild.jpg
Pico.jpg

På ena kortsidan finns kontaktpunkter för att ansluta Debug Probe. Sådana kontakter finns inte nödvändigtvis på alla RP2040-bestyckade mikrokontroller.

schema.jpg

SWD är kort för Serial Wire Debug

But what if your C program is running directly on the processor, without an operating system (this is often referred to as bare metal operation)? What if you’re writing an operating system? In this case, you’ll need a way to access the debug capabilities built into the processor itself. And that’s where a debug probe comes in. [...]

All modern Arm-based microcontrollers, including RP2040, implement Arm’s CoreSight debug architecture. Each processor core, like the Cortex-M0+ used in RP2040, provides an Access Port (AP) which can be used to single step, set breakpoints, observe the values of processor registers, and access memory and peripherals via the processor’s bus interface. – Raspberry Pi Foundation

Den färska Raspberry Pi-produkten är ett 12 dollar dyrt verktyg för att styra kodexekveringen från en dator med valfri debug-mjukvara. Raspberry Pi Foundation förklarar att alla ARM-baserade mikrokontroller har stöd för för buggjakt, som gör det möjligt att stega fram koden och läsa av processorns minne och register – information som kan avslöja logiska snedsteg.

Raspberry Pi Pico har tillgängliga anslutningar för att koppla in Debug Probe, som i sin tur kopplas till en dator via USB, alternativt GPIO-stiften på en Raspberry Pi. För den som sysslar med RP2040-programmering är det därmed slut på tidskrävande gissningslekar för hitta fel i koden. Raspberry Pi Debug Probe må kosta tre gånger mer än Pico-mikrokontrollern, men med i förpackningen följer ett plastchassi och kablage för anslutning på båda sidor.

Har du experimenterat med Raspberry Pi Pico? Vad har du knåpat ihop?