We are not using CW but GCC. For flashing we do not submit ELF directly to PEEDI (although we could) but we are producing raw bin (with objcopy) which is being flashed by PEEDI. Of course we submit ELF to GDB for symbolic and debugging information. Debugging is straight-forward as PEEDI acts as GDB server.
I have used this quite a bit - it works quite well: here is a lab that describes the K60: www.keil.com/appnotes/docs/apnt_249.asp
There are examples of what you can obtain with the ETM trace and ULINKpro. Plus examples of what Serial Wire Trace will give you.
This lab is for MDK 4 and to get it to work with MDK 5 you will have to download and add the MDK v4 Legacy Support.
Bob
ARM