Różnica polega na oprogramowaniu i funkcjonalności, które mają duży wpływ na sprzęt.
Kable FTDI JTAG używają zestawu poleceń do generowania sygnałów JTAG. Są to polecenia bardzo niskiego poziomu, często wnikające w dokładne szczegóły działania i działania statemachine JTAG. Logika wysyłania poprawnych poleceń do konfiguracji odbywa się na hoście debugującym na komputerze.
Jest to funkcjonalny, tani sprzęt, darmowe oprogramowanie (GNU GCC + GDB + OpenOCD) itp. Jest wystarczająco elastyczny (ze względu na zestaw poleceń niskiego poziomu), że istnieją porty do debugowania ARM, programowania FPGA lub ogólnego skanowania łańcucha JTAG .
Kable komercyjne są znacznie bardziej specyficzne dla platformy i często zawierają logikę w kablu. Pozwala to programowi PC rozmawiać z urządzeniem w bardziej abstrakcyjny sposób, który może być szybszy.
Na przykład: spójrz na protokół USB JLINK . Zawiera polecenia takie jak EMU_CMD_WRITE_MEM_ARM79. Kable FTDI mogą również wykonywać to polecenie, ale jest ono tłumaczone po stronie komputera na niskopoziomowe polecenia JTAG rozumiane przez kabel FTDI. Oznacza to również, że polecenie wysokiego poziomu (zapisz trochę pamięci) jest podzielone na wiele innych poleceń podrzędnych, które JLINK może wykonać na swoim kablu. Może to skutkować lepszym opóźnieniem (biorąc pod uwagę ograniczenia USB) i / lub wyższą prędkością.
To zależy także od komercyjnych dostawców IDE, który kabel obsługuje, i jest bardziej prawdopodobne, że obsługiwany jest kabel komercyjny. Z drugiej strony, bardziej prawdopodobne jest, że darmowe IDE będą obsługiwać tanie kable debugujące FTDI.
Niektóre programy komercyjne zawierają także obsługę punktów przerwania kodu, w których można ustawić więcej punktów przerwania kodu niż pozwala na to sprzęt.
Korzystanie z funkcji śledzenia niektórych mikrokontrolerów wymaga bardzo szybkiego sprzętu do przechwycenia 4-bitowej magistrali równoległej. Sprzęt obsługujący tę funkcję często zawiera układ FPGA.