Lajme

Lidhja e JLink me Pinecil për debug JTAG

Më shumë se dy vjet kanë kaluar që kur bleva një pajisje Pinecil për të bërë tavolinë dhe shkruajta për lidhjen e bordit të ndarjes dhe aksesin në UART. Kohët e fundit kam punuar më shumë me Pinecil, pasi Zephyr ka shtuar mbështetje për MCU-në Bouffalo Lab BL706 (falënderime të veçanta për @VynDragon, @will-tm, @josuah dhe të gjithë kontribuesit në projektin Bouffalo Lab).

Për të pasur kontroll të plotë mbi sistemin, veçanërisht gjatë diagnostikimit të fazave të hershme të nisjes dhe problemit me drejtuesit, përdor JLink-in tim, i cili ofron kompatibilitet të gjerë dhe mjete të fuqishme. Për ta lidhur JLink-in me Pinecil-in, nevojitet bordi i ndarjes që përshkruaj në postimet e mëparshme, i cili përmban një konektor 10‑pinësh për JTAG me një pin referimi 3,3 V, katër pinë GND dhe sinjalet standarde JTAG. Në vend të adaptorëve të ndërlikuar, mund të përdoren telat dupont femër‑femër për të lidhur pinët 2,54 mm të bordit me JLink-in; alternativisht, një kabëllë ribon me telat dupont femër‑meshë mund të lehtësojë lidhjen e përsëritur gjatë sesioneve të debugut.

Kur përdoret kabëlli ribon, duhet të kihet kujdes për orientimin e pinëve. Me thelbin e ribonit drejt sipër, pini VTref (pin 1 në JLink, i shënuar me telin e bardhë) ndodhet në cepin e sipërm të majtë të ribonit dhe duhet të përputhet me pini VTref në cepin e sipërm të djathtë të JLink-it. Pas lidhjes, mund të përdoret JLinkExe për të verifikuar se mappingu është i saktë; lidhja VTref me pinin 3,3 V të bordit do të lejojë JLink-in të zbulojë nivelin e tensionit logjik (~3,3 V).

Për të përdorur një debugger si gdb, mund të niset JLinkGDBServer, i cili lidhet me qarkun JTAG të bërthamës SiFive E24 në MCU-në BL706 dhe hap një server gdb lokalisht në portin 2331. Me komandën përkatëse gdb, mund të lidheni me serverin, të ngarkoni simbolët e firmware-it dhe të filloni të ekzekutoni hapat nëpër instruksione, duke lejuar diagnostikimin e thellë të sistemit.


Leave a Reply

Your email address will not be published. Required fields are marked *