Heres some good alternatives that provide jtag /swd that should work well in dev and production
n.b some require shells for protection in harsh environments.
1. Bus blaster by dangerous prototypes (change-able front end to emulate j-link, kt-link, jtagkey , ftdi pid/vid can be changed to match these devices) - recommend for devs - massive software support- massive target support
2. Black magic probe (embedded debug probe for openocd, may not work with chip makers flashing tools unless it has a open source version, does provide real time gdb server)
3. ST-link v2 with Jlink emulation firmware (quite good and works with official tools including gdb) official ones are cheap and come with probes/shell - downside is it's a diy/opensource software solution- might have bugs - hardware is solid though - avoid the stlink clones as they have reduce BOM and target support is flaky - avoid stlink mini/v3 as this solution is not compatible,
4. JB OB LInk JLink compatible probe from micro robotics - upside is support from manufacturer
However none of these tools support the pro features of being able to store firmware for production/assembly/testing floor and not requiring a computer.
There is firmware out there for the raspberry pi pico that has sdcard support for repeat flashing but it is a diy project so no off the shelf product.
Another alternative is the raspberry pi (buying one is like rocking horse sh1t atm) , using the correct scripts you could have it flash as soon as it detects the target device, can provide wireless gdb for
dev environments, handy for remote debug and design. Provides the most flexible target support but is limited to 3.3v without the JTAGHat from blinkin micros, this gives level shifting support and more, shells can be purchased cheap from many suppliers including 3d print factories and metal based casings. upside to this solution is wireless support for both gdb but you can pull the flash files from a offsite ftp/http server putting firmware version control in the hands of the devs or a moderator/testing dept, scripts and firmware files can be swapped on the fly using external inputs/buttons - feedback via simple lcd's or hdmi screens with touch control for lets say bed of nails testing (first it installs debug firmware, when passed test it's reflashed with production firmware and tested again or you might want to run a batch of say 10 debug units for sending back to testers )
all of this assume your willing to hunt for the correct cables as many of these solutions dont always provide the correct jtag lay out that you may be used too.
Again you also may be wanting a "just off the shelf known solution" and not a possible headache with open source diy projects.
How ever a savvy design using tc-2050 IDC in pcb jtag/swd interface and when you order the cable you set the pinout to your chosen interface e.g xylinx jtag/bus blaster compatibel, JTAGHat etc and they will ship you that. Some are already pre-existing e.g Segger jlink to tc-2050 IDC
However this is not a issue if you already have your own jtag layout requirements (security, safety , IP protection or whatever) and have a custom cable to board interconnect but making sure everybody has the right one matching the right programmer might be a headache.
darkspr1te