I can not decide whether to buy ULINK2 debugger from Keil or J-Link from Segger, MDK-ARM supports both. Can you advise?
I own both of them. If you decide to work exlusive with KEIL µVision, you should pay for an ULINK2. ULINK2 is supported only by Keil µVision - none other. If you unsure working exclusice with the Keil Ide, you should decide you for Seggers J-LINK, that got a wide support of IDE's that are available now. I had noticed, that the ULINK2 are faster in Uploading and upload and debugging and feels closer integrated in µVision environement as any other and does not need any driver installation or updates of Windows usb drivers because they use the HID drivers. The J-LINK is more flexible and supports a wide range of Chips and is not brand specific.The support of the from Segger is awesome and supported by every well known IDE - even LINUX, MAC-OS10 or Windows. The J-LINK is upgradable for a bunch of debuggers and needs just a license code. I hope this helps you to find a decision for your purposes. I don't want to fix me on Keil, so i purchaised both of them.
Actually, I find J-Link is faster even when downloading the program, at least when you use the J-Link Flash loader.
See segger.com/jlink-flash-download.html
Also, you have the option to use an unlimited number of breakpoints in flash memory, which is especially important if you are using a device with few breakpoints.
See segger.com/jlink-unlimited-flash-breakpoints.html