SK LABS
Raspberry Pi Debug Probe
Njuškalo za bube u Malinama
D. PETROVIĆ
1. mart 2025.

Pre skoro četiri godine (zar već?) susreli smo se sa prvom „Malinom u Svetu čuda” (SK 3/2021, i.sk.rs/29330), u svetu mikrokontrolera. Tada smo provukli da taj Pico ima i neki DEBUG priključak i na tome smo ostali. Za te četiri godine pojavile su se još tri Pico razvojne pločice, o kojima smo pisali. Prošlo je toliko vremena, i tek sada smo, ljubaznošću dobavljača, došli do uređaja Raspberry Pi Debug Probe, male istraživačke sonde koja dolazi iz fondacije Raspberry Pi, a namenjene da nam pomogne u otkrivanju i otklanjanju grešaka (debug - lov na bube), a preko DEBUG priključka na Pico pločicama. RPi Debug Probe može da se koristi za sve Pico, ali i za sve RPi SBC male računare. I ne samo RPi.

Raspberry Pi Debug Probe je mali istraživački uređaj koji dolazi u providnom plastičnom kućištu. Donosi čak dve funkcije: standardan UART serijski priključak i Arm SWD (Serial Wire Debug) interfejs. Na zelenoj PCB jasno su označeni JST priključci (UART, DBUG), a uz istraživač se dobijaju tri kablića sa različitim krajevima, shodno krajnjem uređaju i načinu povezivanja. Primetili smo da novije Pico pločice ne dolaze sa PTH, već sa 3p JST, što je dosta praktičnije (varijante H). Sa računarom se istraživač povezuje preko mikro-USB priključka, za šta se takođe dobija kabl. Debug Probe se zasniva na RP2-B2 mikrokontroleru, što je zapravo najnovija verzija osnovnog RP2040. „RP2” se odnosi na naziv čipa, dok „B2” govori o reviziji. I dalje govorimo o dvojezgarnom Arm Cortex-M0+ mikrokontroleru koji kuca na 133 megaherca i ima 264 kilobajta RAM-a. Na pločici se nalaze još taster ’bootsel’ i crvena lampica koja svetli u zavisnosti od režima rada. Uz svaki JST postavljene su dve dodatne lampice, RX/TX za UART i DAP_TARGET_RUNNING/DAP_CONNECTED za DEBUG. I ova pločica ima svoj SWD izveden preko tri PTH. Zanimljivo je da sa donje strane pločice postoji nekoliko test-polja za čiju upotrebu treba da se posavetujete sa šemom, ali u najvećem broju slučajeva ona vam neće biti potrebna.

RPi istraživač dolazi sa firmverom (Picoprobre) koji podržava standardne UART i CMSIS-DAP preko USB-a, što znači da možemo da ga koristimo kao klasičan UART most, ali i kao nešto čime možemo da zavirimo pod haubu svakom Arm procesoru. Može da radi sa svakim OpenOCD alatom koji podržava CMSIS-DAP. Firmver je dostupan i lako se nadograđuje, tako što zadržimo taster ’bootsel’ dok istraživač povezujemo sa računarom. Tada crvena lampica neće svetleti, a istraživač će se prijaviti kao „rpi-rp2” drajv. Baš kao i svaki RPi Pico. Dovoljno je prekopirati novu verziju i to je to. Nažalost, kao i svaka Pico pločica, ni ova nema taster za ponovno pokretanje. Srećom, kod istraživača ova činjenica nije toliko bolna kao kod Pico pločica, jer se spuštanje novog firmvera svakako neće raditi svakodnevno.

Prilikom povezivanja istraživača na računar, da bismo lovili bube i ostalu gamad, taster ne koristimo. I inače je sve to lepo pokriveno kućištem. Tada bi istraživač trebalo da se prijavi pod nekim COM portom. Ukoliko budete imali nekih problema, nije zgoreg pokrenuti Zadig. Ovaj programčić će da instalira odgovarajući drajver, ukoliko je to potrebno. Zadig neće odmah izlistati istraživača (CMSIS-DAP v2 Interface (Interface 0)), već je potrebno da se omogući opcija List All Devices, pod Options. Za Driver se bira WinUSB. Ako nemamo nikakvih problema, možemo da krenemo sa istraživanjem gamadi.

Pre lova na bube, da se prvo osvrnemo na UART deo istraživača. Za RPi Pico ova funkcija istraživača i nema nekog velikog smisla, jer u Arduino univerzumu možemo da čitamo UART direktno kroz mikro-USB Pico pločice. Naravno, možemo i preko istraživača i odgovarajućih izvoda (RX/TX, TX/RX, GND/GND), s tim da, nažalost, nazivi izvoda istraživača nisu naznačeni, već je potrebno da se prati dijagram ili oznake po bojama prikazane na kutiji u kojoj istraživač dolazi. Ako UART nema neku veliku upotrebnu vrednost za Pico pločice, ima za SBC-ove. Dovoljno je da se sve poveže na UART nekog SBC-a, otvori, recimo, PuTTy, te odabere COM Port i čita ono šta mali računar šalje preko serijskog terminala. Ukoliko budete imali problema sa brzinama prenosa podataka, što direktno zavisi od samog CPU-a na SBC-u, možda ćete morati da posegnete za nekim drugim alatom, sposobnim da komunicira većim brzinama.

Primarna funkcija je svakako otkrivanje i otklanjanje grešaka u programskom kodu. Koristimo DEBUG priključak, to jest SWD i linije SWDIO i SWCLK. Za Windows, potrebno je par instalacija da bismo mogli da radimo sa istraživačem. Pre svega OpenOCD, koji je malo nezgodan za instalaciju, pa je bolje koristiti neku od već kompajliranih verzija. Takođe, potrebno je dodati putanju u Environment Variables. Zatim, potrebno je instalirati i GDB, što već imamo ako koristimo standardnu podršku RPi MCU u Arduino IDE. Odlično objašnjenje možete naći na stranicama Wavesharea, korak po korak. Za lov na bube možemo da koristimo razne alatke, pa čak i Arduino IDE u verziji 2.x. Potrebno je da odaberemo odgovarajuću ploču, zatim da za Upload Method odaberemo Picoprobe/Debugprobe (CMSIS-DAP), zatim Verify, pa Start Debugging. Ukoliko ste sve dobro postavili, trebalo bi da dobijete odgovarajuće informacije u gdb-server i Debug Console u okviru alata. Sa leve strane će da se otvori dodatna široka traka izdeljena u nekoliko poglavlja. U svakom od poglavlja će se očitavati određene informacije, shodno našim akcijama. Iznad ovih poglavlja su komande kojima upravljamo izvršavanjem korisničkog programa. Tu su Pause/Continue, Step Over, Step Into, Step Out, Restart i Stop. Pauziranjem našeg Blink programa, dobili smo poruke pod Threads, Call Stack i Variables. Ovo poslednje otvara dodatno grananje. U zavisnosti od toga šta radimo, koliki je naš korisnički program i slično, dobićemo drugačije informacije. Nadamo se i one koje će nam pomoći da otkrijemo gde je problem.

Treća funkcija je klasično spuštanje korisničkog programa na bilo koji Pico, uz odabir Picoprobe/Debugprobe (CMSIS-DAP) za Upload Method, te dalje na Upload. Arduino IDE će ovaj posao da izvrši potpuno isto kao i da smo išli na standardnu opciju Default (UF2).

Nećemo ulaziti dublje, jer može da se napiše čitava knjiga o otkrivanju i otklanjanju grešaka u korisničkom programu. Reći ćemo samo to da je ovo povoljan mali istraživač sa velikim mogućnostima. Može da se koristi i van Arduino IDE, a u našem omiljenom alatu za rad sa mikrokontrolerima radi savršeno. Jedinu zamerku imamo na činjenicu da na kućištu (a ni na PCB-u) nema oznaka izvoda JST priključaka. Debug funkcionalnost radi baš onako kako treba i, ako ste se ikada susretali sa lovom na bube, i ovde ćete ih lako loviti. Mi se, naravno, nadamo da vam lov na bube neće ni biti potreban. Ali, ako vam zatreba, Raspberry Pi Debug Probe može da se nabavi i u domaćim trgovinama, vrlo povoljno.

GALERIJA

Kontakt: Malina314 (malina314.com)


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
JUN 2025
Doom: The Dark Ages
Doom iz mračnog doba drugačiji je od svih drugih Doomova, jer je Slayer koncipiran kao tenk sa štitom...
Clair Obscur: Expedition 33
Estetika Belle Époquea, gameplay u skladu sa kanonima JRPG-a, vrhunsko pripovedanje i ljubav prema igrama...
Computex 2025, Tajpej, Tajvan
AI NEXT
Ovaj, nekada ultra-PC-specifični sajam, odavno se proširio na srodne tehnologije, biznis rešenja i digitalne usluge, postavši varijanta azijskog C...
Gigabyte GeForce RTX 5070 Gaming OC 12G
Višak samopouzdanja
Kartica je sa hardverske strane vrlo kvalitetna, ali ništa ne može da nadomesti nedostatak snage „pod haubom”...
Asus ProArt P16 (H7606WP)
Pronalazak neverovatnog
Novi ProArt P16 donosi moderna rešenja, u dobro usaglašenom odnosu gabarita i performansi – alatka koju ćete sa ponosom nosati sa sobom...
Logitech ProX Superlight 2
Sve udvostručeno
Ovaj miš predstavlja jasnu indikaciju da najveći proizvođač ne želi da napusti nijedan segment tržišta...
Winhance 25.05
Popravka Prozora
U pitanju je alatka koja omogućava da se brzo rešite (većine) bloatwarea, ali i da obavite optimizaciju rada Windowsa...
TCL NXTPAPER 11 Plus
Momak za sve
Ovo bi bio najbolji tablet „za te pare” i da košta 100 evra više...
.rs: Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Unapređeno e Zakazivanje
Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Google Mariner, Google Astra i AI autonomni agenti
Uspon tihog softvera
Umesto kliktanja stručnog lica, softver će, već ove godine, u tihom, gotovo nečujnom načinu rada - završavati posao...
Fatal Fury: City of the Wolves
Fatal Fury je oduvek bio čudna cvećka u svetu borilačkih igara; takav je i ostao...
Arc Raiders
Novi extraction shooter iz pera autora dobrih delova franšize Battlefield (i potcenjenog The Finals)...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama