You can buy a Segger JTAG J-Link clone for few USD on ebay, aliexpress, dx, ...
If you try to update its firmware with the official Segger tool, you'll brick the probe.
Don't worry, smart people have already put a checklist to restore a working firmware and even update it to the latest official version. I just put all the needed info into one single page.
To restore the firmware, you need to follow the instruction from http://www.sonsivri.to/forum/index.php?topic=41726.50 The best part ? It works from Linux.
For the step 9, you'll need the binary image to flash; use that one V8_Firmware_NoSerial_(crackn). It's from the same forum than above but without password and without additional useless .exe files.
- Download and install SAM-BA package from atmel.com (http://www.atmel.com/tools/ATMELSAM-BAIN-SYSTEMPROGRAMMER.aspx)
- Open the j-link case by gently popping the plastic edge near the jtag or usb ports.
- Identify the ERASE (pin 50) / TST (pin 40) jumpers/pins
- Short ERASE jumper to pull-high and connect the jlink to usb; wait for a minute and disconnect usb. ("pull-high", means set a jumper between the ERASE pin and the 3.3V pin next to it.)
- Remove the ERASE jumper and short the TST jumper to pull-high and connect the jlink to usb; wait for a minute and disconnect usb.
- Break/remove the TST jumper and reconnect USB
- Your jlink should now be identified as AT91 USB to serial adapter and a COM port should be assigned to it - if this doesn't happen repeat from step 3.
Something like cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device should appear in syslog or dmesg
- Open SAM-BA program; select COM/ttyACM port that was assigned to your jlink and in board select "at91sam7s64-ek"; click CONNECT
- Select "FLASH" and select the BIN file you downloaded before and select to load the firmware into flash; the application will ask you if you want to unlock - select YES; at the end of programming there will be a similar question if you want to lock - select NO! (very important)
- Congratulations, you are done. Reconnect the device and you should have a working jlink
Update the firmware
The previous step will reflash with a firmware from 2009.
Info : J-Link ARM V8 compiled May 27 2009 17:31:22
Quite old and I prefer to have the latest one.
Fortunately, the firmware you just flashed has a fake SerialNumber set to -1 and it happens to be enough to let the J-Link Configurator tool to flash it to the latest firmware without bricking it. This time you'll need a windows machine. I used a Windows10 image under vmware and it worked fine.
- go to https://www.segger.com/jlink-software.html and fetch the Windows software pack. The one I used was version 5.00g.
- install it and run the J-Link Configurator.
- It should detect the probe and allow you to update it to the latest firmware
- Congratulations, you are done. Reconnect the device and you should have a working J-Link this the latest firmware
Info : J-Link ARM V8 compiled Nov 28 2014 13:44:46
While origin of the binary firmware used in this tuto remains unknown, several posts suggest to modify the 'GDBFull' string to either 'GDBFULL' or 'GDB'
After found the BIN file, you have to open it with an hex editor and change the string "GDBFull" with "GDB" and also change the serial number. As far as I remember the serial number is not a string but just raw hex data nearby the address where the "GDBFull" string is located. Remember the raw data are little-endian. For the new serial number use something like "4054xxxx" where xxxx are random numbers.