Різниця полягає в програмному забезпеченні та функціональності, що сильно впливає на обладнання.
Кабелі FTDI JTAG використовують командний набір для створення сигналів JTAG. Це дуже низькі команди, які часто вказують на точні відомості про те, як працює державна машина JTAG та керується нею. Логіка надсилання правильних команд для вашої установки виконується на хості налагодження на вашому ПК.
Це функціональне, дешеве обладнання, вільне програмне забезпечення (GNU GCC + GDB + OpenOCD) тощо. Досить гнучким (через набір команд низького рівня) є порти для налагодження ARM, програмування FPGA або загальне сканування ланцюгів JTAG .
Комерційні кабелі набагато більш специфічні для платформи і часто містять логіку всередині кабелю. Це дозволяє програмі ПК спілкуватися з пристроєм більш абстрактно, що може бути швидше.
Наприклад: подивіться протокол JLINK USB . Він містить такі команди, як EMU_CMD_WRITE_MEM_ARM79. Кабелі FTDI також можуть виконувати цю команду, але вона переведена на ПК на низькорівневі команди JTAG, які розуміє кабель FTDI. Це також означає, що команда високого рівня (записати деяку пам’ять) розбита на багато інших підкоманд, які JLINK може зробити на самому кабелі. Це може призвести до кращої затримки (з урахуванням обмежень USB) та / або більшої швидкості.
Також комерційні постачальники IDE залежать від того, який кабель вони підтримують, і швидше за все підтримується комерційний кабель. З іншого боку, швидше за все безкоштовні IDE підтримуватимуть дешеві налагоджувальні кабелі FTDI.
Деяке комерційне програмне забезпечення також містить підтримку точок зупинки програмного коду, де ви можете встановити більше точок переривання коду, ніж дозволяє обладнання.
Використання функцій слідування деяких мікроконтролерів вимагає дуже швидкого обладнання для захоплення 4-бітної паралельної шини. Обладнання, здатне використовувати цю функцію, часто містить FPGA для цього.