MicroPython-la işləyənlər yaxşı bilir: debug çox vaxt print()-lərlə, təxminlərlə və təkrar yükləmələrlə keçir. GHI Electronics isə MicroPython üçün Visual Studio daxilində on-chip source-level debugging təklif edir. Yəni klassik breakpoint, dəyişənlərin izlənməsi, call stack – hamısı birbaşa mikrokontroller üzərində işləyən koda tətbiq olunur.
Lazım olan tək şey: dəstəklənən MicroPython host (məsələn, Raspberry Pi Pico və ya ESP32) və indiyə qədər istifadə etdiyiniz eyni USB kabeli. Ayrı JTAG/SWD debugger, xüsusi adapter və s. tələb olunmur.
Necə işləyir?
Bu imkan üçün xüsusi MicroPython firmware lazımdır:
- Hazır firmware faylını GHI-nin təqdim etdiyi variantlardan seçib
flashedə bilərsiniz; - Və ya öz custom MicroPython image-inizi toolchain qurub mənbə koddan kompilyasiya edə bilərsiniz.
Hazırda bir neçə Raspberry Pi Pico versiyası və müxtəlif ESP32 çipləri dəstəklənir. Təcrübədə bəzi qeyri-standart platada (məsələn, RP2040 GEEK klonları) firmware yazılması zamanı xəta mesajları çıxa bilər, amma əslində yazma prosesi baş tutur. Oxşar problem Linux + ESP32-S3 kombinasiyasında da məlumdur.
Məhdudiyyətlər və praktik tərəfi
GitHub sənədlərində bir neçə məhdudiyyət qeyd olunub:
- Artıq kod tərəfindən
try/exceptilə tutulmuş istisnaları debugger səviyyəsində birbaşa "tuta" bilmirsiniz (ammaexceptblokunda breakpoint qoya bilərsiniz); - Breakpoint aktiv olanda bütün thread-lər dayanır;
- Bir neçə digər xırda limit var, amma real layihələr üçün kritik showstopper sayılmır.
Sadə skriptlər üçün bəlkə də print() kifayət edir. Amma mürəkkəb state machine, asinxron kod və ya çoxsaylı moduldan ibarət layihələrdə birbaşa çip üzərində vizual debug imkanı MicroPython-u tamamilə başqa səviyyəyə qaldırır.
Mənbə: Hackaday










