Crossware enhances C/C++ compiler
Crossware Products
C/C++ compiler
Crossware has released version 3.0 of its C/C++ compiler for ARM-based microcontrollers.
The compiler, available as part of Crossware's ARM Development Suite, is able to perform advanced optimisations that can increase the execution speed and reduce the code size of the final compiled application.
The Crossware compiler's complex analysis of both program and data flow is used to perform a sequence of transformations, which then enable a range of advanced optimisation algorithms to be applied.
These algorithms include dead code elimination and conditional constant propagation.
'We recently wanted the compiler to unroll a loop in a benchmark program for one of our customers,' said Alan Harry, chief executive officer of Crossware.
'Incredibly, when we switched on these three optimisations and looked at the code our compiler had produced, we observed that the loop had disappeared completely.
'Loop unrolling was unnecessary as there was nothing left to unroll - the optimisations had eliminated all the overhead and consequently the program execution speed was significantly quicker.' Another optimisation performed by the compiler is conditional branch elimination, which takes advantage of the ARM instruction set.
Where appropriate, conditional branch instructions are removed and the ARM instructions are instead conditionally executed.
This results in faster execution speed by avoiding any pipeline delays that would otherwise occur.
Stack frame elimination has been also implemented in version 3.0 of the compiler to reduce the function call overhead.
This overcomes the need to save and restore the stack pointer at the beginning and end of each function thereby further reducing code size and increasing execution speed.
More stories
Crossware adds support to Atmel microcontrollers
Crossware, an embedded software tools developer, has enhanced its ARM Development Suite, adding support for the Atmel AT91SAM3U family of ARM Cortex-M3 Flash microcontrollers (MCU).
Crossware releases tools for ARM7 microcontrollers
Crossware has released a modular set of tools for the ARM7 microcontrollers based on the company's ARM Development Suite.
Visionpro from Cognex enables laser marking specialist to ensure component traceability weblink
Asys Automatisierungssysteme, a laser marking specialist based in Dornstadt, Germany, has incorporated Cognex’s Visionpro vision software into its Insignum 2000 laser marking system to ensure complete component traceability.
Rittal software provides support for planning and verification of low-voltage switchgear weblink
Version 6.0 of Rittal’s Power Engineering software is designed to provide support for the planning and verification of standardised Ri4power switchgear, as well as low-voltage switchgear consisting of the TS 8 enclosure system and the Riline60 modular busbar system.
B and R works with Eplan to create seamless interface between development tools weblink
B and R and Eplan have developed a seamless interface between the B and R Automation Studio and Eplan Electric P8 development tools, which are suitable for mechanical, electrical and software engineering.



