# IAR Embedded Workbench for ARM

beLow is compatible with IAR Embedded Workbench for ARM. To make a project compatible with beLow, the iarbuild command must be used in the Build script.

IAR Embedded Workbench for ARM creates a project metadata file with extension .ewp.

Commands to build your project

* Incremental build

{% code title="Incremental build (recommended)" %}

```powershell
iarbuild .\path\to\MyProject.ewp -make "MyConfig"
```

{% endcode %}

* Clean build

{% code title="Clean build" %}

```powershell
iarbuild .\path\to\MyProject.ewp -build "MyConfig"
```

{% endcode %}

We recommend using the incremental build for better performance.

{% hint style="warning" %}
iarbuild must be in your PATH when running beLow. Also the IAR ARM tools (for example iccarm) must be in your PATH as well.
{% endhint %}

Default installation paths (IAR Embedded Workbench 9.2)

* Default path of iarbuild:

```
C:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin
```

* Default path of ARM tools (including iccarm):

```
C:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin
```

For beLow to work properly with IAR Embedded Workbench for ARM, add these paths to your user's Path environment variable.

![Edit your user's environment variables](/files/bcd9abc4db244ddb4b8a0a3a218ea0fd5f650cef)

Edit your user's environment variables

{% stepper %}
{% step %}

### Add IAR tools to your PATH

Add the following directories to your user's Path environment variable:

* C:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin
* C:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin
  {% endstep %}

{% step %}

### Verify commands in a new terminal

After updating the environment, open a new terminal and verify the commands work:

{% code title="Verify commands" %}

```powershell
iarbuild --help
iccarm --help
```

{% endcode %}
{% endstep %}

{% step %}

### Restart beLowCTL

beLowCTL should be restarted after changing the user's environment for the changes to be recognized.
{% endstep %}

{% step %}

### Test building your project

In a terminal, check that your project can be built using iarbuild (example incremental build):

{% code title="Test build" %}

```powershell
iarbuild .\path\to\MyProject.ewp -make "MyConfig"
```

{% endcode %}
{% endstep %}
{% endstepper %}

Configuring beLow project scripts

* Configure section: leave blank.
* Clean section:
  * Script content:

{% code title="Clean script" %}

```powershell
iarbuild .\path\to\MyProject.ewp -clean "MyConfig"
```

{% endcode %}

* Script execution path: In the target directory
* Shell: Pwsh
* Build section:
  * Script content:

{% code title="Build script" %}

```powershell
iarbuild .\path\to\MyProject.ewp -make "MyConfig"
```

{% endcode %}

* Script execution path: In the target directory
* Shell: Pwsh

{% hint style="info" %}
Do not wrap your iarbuild command in another script: beLow needs to recognize the iarbuild command directly in the script to perform instrumentation for compilation database generation. The iarbuild command must appear directly in your script.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wedolow.com/documentation/ressources/compatibility-guide/iar-embedded-workbench-for-arm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
