ความแตกต่างคือในซอฟต์แวร์ & ฟังก์ชันซึ่งมีผลต่อฮาร์ดแวร์อย่างมาก
สายเคเบิล FTDI JTAG ใช้ชุดคำสั่งเพื่อสร้างสัญญาณ JTAG คำสั่งเหล่านี้อยู่ในระดับต่ำมากซึ่งมักจะพูดถึงรายละเอียดที่แน่นอนว่า JTAG statemachine ทำงานและทำงานอย่างไร ตรรกะของการส่งคำสั่งที่ถูกต้องสำหรับการตั้งค่าของคุณเสร็จสิ้นในโฮสต์การดีบักบนพีซีของคุณ
นี่คือฮาร์ดแวร์ที่ใช้งานได้ราคาถูกซอฟต์แวร์ฟรี (GNU GCC + GDB + OpenOCD) ฯลฯ มีความยืดหยุ่นเพียงพอ (เนื่องจากชุดคำสั่งระดับต่ำ) ที่มีพอร์ตสำหรับการดีบัก ARM, การเขียนโปรแกรม FPGA หรือการสแกนโซ่ JTAG ทั่วไป .
สายเชิงพาณิชย์มีความเฉพาะเจาะจงมากขึ้นกับแพลตฟอร์มและมักจะมีตรรกะภายในสายเคเบิล สิ่งนี้ทำให้โปรแกรมพีซีสามารถพูดคุยกับอุปกรณ์ในลักษณะที่เป็นนามธรรมซึ่งสามารถเร็วขึ้น
ตัวอย่างเช่นดูที่โปรโตคอล JLINK USB มันมีคำสั่งเช่น EMU_CMD_WRITE_MEM_ARM79 สาย FTDI ยังสามารถรันคำสั่งนี้ได้ แต่มันถูกแปลบนฝั่ง PC เป็นคำสั่ง JTAG ระดับต่ำที่สาย FTDI เข้าใจ นอกจากนี้ยังหมายถึงคำสั่งระดับสูง (เขียนหน่วยความจำบางส่วน) แบ่งออกเป็นคำสั่งย่อยอื่น ๆ อีกมากมายซึ่ง JLINK สามารถทำบนสายเคเบิลที่ตนเอง ซึ่งอาจส่งผลให้เวลาในการตอบสนองดีขึ้น (โดยคำนึงถึงข้อ จำกัด ของ USB) และ / หรือความเร็วที่สูงขึ้น
นอกจากนี้ยังขึ้นอยู่กับผู้ขายเชิงพาณิชย์ของ IDE ที่รองรับสายเคเบิลและมีแนวโน้มที่จะรองรับสายการค้า ในทางกลับกันก็มีแนวโน้มที่ IDE ของฟรีจะรองรับสายดีบั๊ก FTDI ราคาถูก
ซอฟต์แวร์เชิงพาณิชย์บางตัวยังมีการสนับสนุนจุดพักโค้ดซอฟต์แวร์ซึ่งคุณสามารถตั้งค่าเบรกพอยต์โค้ดได้มากกว่าฮาร์ดแวร์ที่อนุญาต
การใช้ฟังก์ชั่นการติดตามของไมโครคอนโทรลเลอร์บางตัวต้องการฮาร์ดแวร์ที่รวดเร็วมากในการจับบัสบัสแบบ 4 บิต ฮาร์ดแวร์ที่มีคุณสมบัตินี้มักจะมี FPGA ให้ทำเช่นนั้น