Hello, I have a few questions about the uVision simulator for the Cortex-M4 floating-point instructions.
1. Does the uVision simulator model Cortex-M4 floating-point instructions cycle-accurately? I tried the uVision v4.14.4 evaluation version. I got the Time (%) bars in the Performance Analyzer window, but the Timer (sec) was always 0. Besides, I didn't find a way to display cycle counts with the Performance Analyzer.
2. If the answer to 1 is 'yes', where can I find a step-by-step description to measure cycle counts?
3. If the answer to 1 is 'no', is there an alternate way to measure the cycle count for floating-point instructions?
Thanks in advance, -Robby
Hi, I am also very interested in that question! Could please someone give advice on how to measure cycle counts with the uVision Simulator?
Thanks, Joachim
I posed the same question to support@keil.com. Given the lack of response to your question, I suspect the answer is no, there's not a cycle-accurate simulator for the ARM tools. In the meantime I'm using the IAR tools, which do at least have a cycle counter, although I haven't a way to examine pipeline behavior with them.
- Mike
Maybe I don't understand your question but my MDK ARM simulator has a cycle (state) counter and a cycle timer. You need to have the correct clock frequency assigned for the counter to be somewhat accurate.
In the simulator, look under the Register files at the Internal register display.
In the Disassembly window, set two different breakpoints. Run to the first breakpoint, record the times or state and then run to the second breakpoint. The difference will be the cycle time for that block of code defined by your two breakpoints.
Bradford
Bradford,
Thank you very much - the "States" field under "Registers/Internal" seems to track even while single-stepping.
As a new (ignorant) user, I searched through the Help documentation for cycles and CPU cycles and cycle-accurate, and a whole lot of other key words. I never would have searched for states. After receiving your Email, I went through the IDE User's Guide and under "Registers" it never mentions "States". You may very well have written the only documentation that exists.
Thank you very much,
- Mike Cushing