6. LLVM Toolchain
6.1. overview
e2 studio offers compatibility with multiple toolchains and versions, including the GNU Arm compiler and LLVM Embedded Toolchain for Arm. Verified LLVM compiler versions for SDK6 are integrated into the e2 studio installer. LLVM, short for “Low Level Virtual Machine,” serves as a compiler infrastructure project primarily aimed at optimization, compilation, and code generation across different programming languages. Renowned for its modularity and flexibility, LLVM equips developers with tools for constructing compilers for diverse programming languages and for conducting static and dynamic analysis, debugging, and more.
To configure the LLVM toolchain settings in e2 studio, follow these steps:
Open e2 studio.
Navigate to the menu option Project > Properties.
In the Properties dialog, locate C/C++ Build and click on it.
Within C/C++ Build, find the Tool chain editor.
Click on Tool chain editor to access the settings dialogs for the LLVM toolchain.
These steps enable users to select and configure the LLVM toolchain settings conveniently within e2 studio, facilitating seamless integration and optimization of development environments.

Figure 18 e² studio Project toolchain settings for LLVM
Within e2 studio and through the menu Project > Properties > C/C++ Build > Settings
you can check which LLVM version is used. Latest LLVM release can be found in LLVM embedded toolchain for Arm GitHub.

Figure 19 e² studio Project LLVM version
6.2. Memory Footprint Comparison: e2 studio with LLVM vs. KEIL
A thorough analysis of the memory footprint of the two compiled projects was conducted, e2 studio with LLVM and KEIL.
Memory footprint measurements were obtained by reading prox_reporter_535.map
on KEIL and the output console on e2 studio to assess the RAM and ROM usage of each compiled project.
The findings revealed slight differences in the memory footprint between the two compiled projects
The project compiled with e2 studio and LLVM exhibited a slightly Higher memory usage compared to the project compiled with KEIL, on the DA14535 target it is about 2.08 % (Code size in bytes).
The latest tools version utilized includes:
KEIL 5.39 release (ARM compiler V6.21)
Latest e2 studio version (2024-01.1 (24.1.1))
Proximity reporter |
e2 studio (LLVM) |
KEIL |
% |
---|---|---|---|
DA14535 |
18914 |
18520 |
2,08% |
DA14531 |
24004 |
23700 |
1,27% |
DA14531-01 |
18896 |
18592 |
1,61% |
DA14585 |
30106 |
29128 |
3,25% |
DA14586 |
30358 |
29356 |
3,30% |