Tag Archives: C-STAT

IAR Embedded Workbench vastly improves performance for 8-bit AVR MCUs


Version 6.70 of the popular toolchain includes improved compiler optimizations. 


IAR Systems has released a new version of its complete C/C++ development toolchain IAR Embedded Workbench for AVR. Version 6.70 of the popular toolchain includes improved compiler optimizations as well as new device support and updates to the add-on tool C-STAT for static code analysis.

template-monitor-b-perspective-micrum

“Embedded systems are growing in complexity and many applications are being migrated to 32-bit microcontrollers. Despite this, the 8-bit AVR microcontrollers are continuously being used in many applications for example within automotive, battery management and wireless solutions,” says Thomas Sporrong, IAR Systems Global FAE Manager. “IAR Systems has a large customer base of developers working with AVR and the company remains committed to supplying world-class tools for embedded developers across the entire range from 8-bit to 32-bit microcontrollers.”

IAR Embedded Workbench for AVR features world-leading code optimizations that create compact, fast-performing code. The optimization technology has been further improved in this version, particularly involving speed optimizations of floating-point data types. These improvements enable developers to gain even better performance in applications where optimal execution speed is critical. To achieve the best possible configuration for the application at hand, developers are able to tune the optimizations. With the possibility to set different optimizations for different parts of the code, the right balance between code size and code speed can be achieved.

bubbles287

The previous version 6.60 of IAR Embedded Workbench for AVR introduced support for IAR Systems’ static analysis add-on product C-STAT. Completely integrated in the IAR Embedded Workbench IDE, C-STAT can perform numerous checks for compliance with rules as defined by the coding standards MISRA C:2004, MISRA C++:2008 and MISRA C:2012, as well as rules based on for example CWE (the Common Weakness Enumeration) and CERT C/C++. By using static analysis, developers can identify errors such as memory leaks, access violations, arithmetic errors, and array and string overruns at an early stage to ensure code quality and minimize the impact of errors on the finished product and on the project timeline. With the latest release come further updates to the C-STAT tool, including an added report generator and added pragmas for temporary disabling checks.

IAR Embedded Workbench for AVR is a complete set of powerful C/C++ development tools with extensive support for devices in all AVR families. IAR Systems’ high-performance development tools and world-class technical support are available across Atmel’s entire range of 8-bit and 32-bit microcontroller architectures.

Interested? Get started here.

IAR Systems introduces static code analysis in Atmel AVR32 tools


The latest version of IAR Systems’ toolchain integrates C-STAT as well as stack usage analysis and parallel build.


IAR Systems, a leading provider of software tools for embedded systems, has revealed several major updates to its complete embedded development toolchain IAR Embedded Workbench for Atmel AVR32. The latest version, 4.30, introduces the add-on product C-STAT for completely integrated static code analysis, as well as stack usage analysis and shortened build times through parallel build.

ew-top

Static analysis finds potential issues in code by delving deeper on the source code level, given that errors such as memory leaks, access violations, arithmetic errors and array and string overruns can cause security issues and affect the overall performance and quality of a product. By using static analysis, developers can identify these errors early on, and ultimately, minimize their impact on the finished product and the project timeline. Aside from improving the code quality, the analysis can assist in aligning with industry coding standards. C-STAT is a powerful static analysis tool that checks compliance with rules as defined by the coding standards MISRA C:2004, MISRA C++:2008 and MISRA C:2012, as well as hundreds of rules based on for example CWE (the Common Weakness Enumeration) and CERT C/C++. Users can easily select which rule-set and which individual rules to check the code against, and the analysis results are provided directly in the IAR Embedded Workbench IDE.

c-stat-top

The new version also adds stack usage analysis. The stack is a fundamental property of an embedded system and a proper setup of the stack is essential to system stability and reliability. However, calculating the stack space is notoriously hard, making worst case maximum stack depth very useful information as it greatly simplifies estimates of how much stack an application will require. With stack usage analysis enabled in IAR Embedded Workbench, a stack usage section will be added to the linker map file with listings of the maximum stack depth for each call graph root. The analysis process can be customized to take into account such constructs as calls via function pointers and recursion. The output can optionally be generated in XML format for post processing.

template-monitor-b-perspective-micrum

In the compiler, parallel build has been introduced to help accelerate project times. The user can easily set the compiler to run in several parallel processes and make better use of the available processor cores in the PC. This feature can have a major impact on reducing the build times of the compiler.

As many of you are well aware, IAR Systems provides a plethora of powerful development tools for Atmel 8-bit and 32-bit families. And, IAR Embedded Workbench for AVR32 is a complete C/C++ compiler and debugger toolchain that creates the fastest, most compact code in the industry. Interested? Head over to its official page here to learn more.