I used to work in team that develop product based on ARM v7 MCU but used to be application programmer. Now I deep into electronics with PIC/AVR/ARM boards as hobbyist.
We used Segger J-Link programmer/debugger.
Now I think to buy one myself and frustrated by variety of possible JTAG flashing/debugging devices. There are for ARM, for PIC, AVR, some FPGA boards...
Do really each arch require its own type of ICE even if all these devices connected through JTAG?
According to https://en.wikipedia.org/wiki/Joint_Test_Action_Group JTAG is specs and protocol for electrical connection to IC in order to perform Boundary scan testing.
And somehow JTAG link become used for flashing/debugging...
Why industry make specialized hardware for communicating over JTAG link for flashing/debugging purpose instead of making universal USB-to-JTAG adapter and perform "magic" on general purpose PC?
https://en.wikipedia.org/wiki/In-circuit_emulation article say about emulation. But I used real boards with J-Link and debugger shows actual hardware registers (GPIO memory mapped values). Where does emulation make place?
Is that right that I need to update firmware of ICE tool to work with new type of core?