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
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama