A new version of IAR Embedded Workbench for ARM (IAR Systems) adds significant speed optimizations and several new features. Optimizations are targeted for the ARM CMSIS DSP library and for general speed improvements when generating code for Cortex-M processors.
One of the new features is stack usage analysis, which produces a stack usage report with listings of the maximum stack depth for each call graph root, greatly simplifying estimates of stack usage. The inline assembler has been improved with a new way of handling inlined assembler statements, allowing the user to place pieces of assembly code exactly where it is needed in the high-level code, with access to the surrounding C variables. The inlined assembler code can safely reserve private storage.
The Timeline window has been enhanced with a graphical event log for Cortex-M3/M4 users. When analyzing the timing behavior, users will be able to place certain macros in the code, and when these points are reached during execution, event messages will be sent and appear in the Timeline window. The time elapsed between two points in the code can be determined. The new feature can also provide support for creating a stack usage profile over time of an application.
The function profiling window has also been enhanced, using a function hide mechanism. This feature simplifies the task of getting an overall profiling picture of the application, as functions that are not of interest can be filtered out. This is useful when working with an RTOS, as you can hide everything related to the RTOS kernel and extract a focused picture of where the execution time is spent in a running application.
Signum JTAGjet, an advanced, real-time, in-circuit debugger for high-end applications, is now integrated in IAR Embedded Workbench for ARM, making it possible to take full advantage of the trace capabilities on Cortex-A and Cortex-R devices when debugging complex systems.