My go-to for print output is the Event Recorder. I used the CMSIS DSP FIR example for a Cortex-M0 target. It ran out of the box, with the only modifications needed being to change the debugger target and add EventRecorder. These steps worked for me:
If all went well, you should see non-zero floating-point data in your output and whatever you wanted printing in the debug printf window.
EventRecorder is very useful and quite well documented. You can use the EventRecorder API to push any data you like to the debug host. The IDE also supports user-defined debug functions (see uVision help) that can be defined to pretty-print your output to the debugger's command window,
I've worked with a DSP project where I needed to print the values of functions out. What I did was added functions to the ini file listed at the Options for Target - Debug tab's Initialization File field. If you don't have one, just use a text editor to create it and save to as file_name.ini. The functions acted as wrappers for the stdio printf. There was an array, output[1023], being used with fft functions that I was interested in. In one context the first 512 elements were interesting, in another, all 1024 were interesting.
.ini contents:
FUNC void print_output512(void){ unsigned int i; printf("BEGIN OUTPUT 512\n"); printf("BEGIN OUTPUT 512\n"); printf("BEGIN OUTPUT 512\n"); for(i = 0; i < 512; i++) { printf("%f\n",output[i]); } } FUNC void print_output1024(void){ unsigned int i; printf("BEGIN OUTPUT 1024\n"); printf("BEGIN OUTPUT 1024\n"); printf("BEGIN OUTPUT 1024\n"); for(i = 0; i < 1024; i++) { printf("%f\n",output[i]); } }
If I recall correctly, you then compile and in debug use the command INCLUDE file_name.ini. Then you can set a breakpoint where your interested in viewing values and call the functions by name in the command window. You can copy and paste from here.
As far as the memory window goes, you can change the data format by right clicking, and clicking Decimal. This should take global effect.
Also, you could look at using the Logic Analyzer http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_logicanalyzer.htm
You could also look at using DMA to store values to RAM and dump it later.