In Developer Studio, while starting a new project, most of you have already saw that project allow multiple compiler possibilities:
- ADS: which is an old compiler that has been always supported by Open AT. ADS was only available from ARM Limited but it is no more commercially available. Open AT still support ADS to remain compatible with legacy platform, but Sierra Wireless has no intention to maintain it in the futur. In addition this compiler doesn’t support the EABI library format.
- RVDS: It is the latest compiler available from ARM Limited. Firmwares and Open AT libraries are compiled with it, as it offers the most interresting performances for code size reduction and code execution speed. In addition RVDS support the EABI library format. So, it is recommanded for further project.
- GCC ARM Elf: Old compiler generation that was included in the early age of Open AT. Open AT still support GCC ARM Elf, but we have no intention to maintain it. Remaining libraries that are still compiled with this compiler will be also compiled with RVDS or GCC ARM EABI (if not already done), or some of them won’t be maintained and disapear from next SDK.
- GCC ARM EABI: Latest compilation mode that was recently added to Open AT. The interrest of this compiler is that it is compatible with RVDS EABI library format. GCC ARM EABI is part of the recommended compiler for further project.
But what is the EABI compilation mode?
Libraries compiled in EABI mode are interoperable. RVDS or GCC libraries that are compiled in EABI mode are compatible and can be used in the same project to build an end application.
Sierra Wireless plan to deliver all their next generation of libraries based on EABI compilation mode to ease interroperability and compatibility.
Then, any project relying on EABI compiler (RVDS or GCC) could support a libraries from any third party without knowing which compiler was used originally, preventing interworking issues.
Which compiler is the best?
From our experience, RVDS remain the most powerfull compiler in code size reduction and code speed execution. Anyway, GCC performances are reasonably good.
RVDS is not free of charge and available from ARM directly or their reseller, while GCC is already included with Developer Studio.
Sierra Wireless intends to deliver RVDS EABI library in order to let you benefits from their maximum of performances. Then, these libraries could be used in any projects relying on GCC EABI or RVDS.