JTAG, SWD, EDBG, ICSP, ISP .
Can someone simply explain their differences.
For example if EDBG debugger can ALSO program flash, why Arduino boards have both ISP and EDBG ?
And in picture, why they wrote "SWD(EDBG)" ?
Whats the point of writing EDBG and writing it in paranthesis ?
Why ISP and ICSP have the same meaning ? Why not only one abbreviation ?
And finally, what is the relationship of JTAG with all this ?