Setelah membaca sekilas artikel ini , saya bertanya-tanya apa manfaat dari debugging SWD dibanding debugging JTAG?
Saya mengerti SWD menggunakan lebih sedikit kabel / pin, menghabiskan lebih sedikit ruang, dll. Tapi bagaimana cara kerjanya dalam hal kinerja, fitur, dan biaya perangkat keras programmer / perangkat debugger? Bisakah kode masih di-break menunjuk / dijeda dan melangkah masuk dalam IDE seperti Eclipse?
Dapatkah chip ARM diprogram menggunakan antarmuka SWD, seperti yang saya yakini dapat dilakukan di JTAG?
Jawaban:
SWD harus dapat memprogram chipset ARM plus Anda dapat men-debug dan menambahkan breakpoints. Hal baik lainnya tentang SWD adalah Anda dapat menggunakan penampil kawat serial untuk pernyataan printf Anda untuk debugging. Saya hanya menggunakannya dengan kompiler Keil.
sumber
Secara elektrik
Secara fungsional
Diskusi Umum
JTAG lebih banyak didukung, pada 2017, oleh mikron, programer dan lini produksi non-ARM. Programmer untuk JTAG bisa didapat dengan harga murah dalam bentuk breakout FT232H [*] dan perangkat pemrograman lain semacam itu. Namun, SWD memiliki keunggulan berbeda dalam hal kecepatan dan area lain dalam debugging chip ARM.
Karena pemisahan dalam sifat JTAG yang dimaksudkan dalam pengujian dan SWD dalam debugging, ARM menyediakan SWJ-DP (port serial / port debug jtag) melalui teknologi CoreSight-nya yang memetakan pin SWD ke jam JTAG dan mengatur ulang baris. Oleh karena itu SWJ-DP memungkinkan penggunaan kedua protokol pada koneksi fisik yang sama meskipun tidak harus pada saat yang sama atau dengan programmer yang sama seperti JTAG dan SWD harus multiplexing dalam waktu.
Referensi yang berguna
sumber
Saya mungkin agak terlambat untuk OP, tapi mungkin itu akan berguna untuk beberapa orang dengan pertanyaan yang sama. Jadi, ini dia (pengalaman pribadi): Dimungkinkan untuk memprogram dan men-debug (mengambil memori / mendaftar peta, istirahat, lari dari titik tertentu, dll.) Dengan SWD. Menggunakan Eclipse di sini dengan GDB melalui J-Link EDU, yang berlaku untuk ~ 50 Euro. Ada beberapa bug (mengatur ulang target melalui debugger, kadang-kadang tidak akan terhubung atau mengambil peta), tetapi relatif murah dan dapat digunakan, setelah Anda berkenalan dengan kebiasaannya
sumber
Pertanyaan lama, tetapi tidak ada jawaban yang membahas perbandingan kinerja. Meskipun set fitur antara SWD dan JTAG (saat menggunakan CoreSight DAP) cukup dekat, urutan SWD kira-kira 10% lebih pendek dari urutan JTAG yang setara.
Tidak ada kehilangan dalam bandwidth data dalam banyak kasus (terutama streaming membaca atau menulis di mana bandwidth paling penting).
sumber