Using isymexport to export symbols from one project to another

Technical Note 95375

Targets:

ARM

Component:

Linker

Updated:

11/30/2011 9:45 AM

Introduction

You want to place const data in (for example) external flash, and later on use the data from a separate project. Using the method described in this Technical Note, you will be able to use the symbolic names of the const data (i.e. there is no need to use absolutely placed symbols and use their addresses to access them). You will also avoid re-downloading the const data to flash, and having to rebuild it in the project.

Solution

Use the IAR Absolute Symbol Exporter, "isymexport". This is a step-by-step instruction on it's use:

A1. Create a project for the const data library.

A2. Configure the target device (for example Cortex-M3).

A3. Configure the linker to use an address range separate from the application.

A4. Select General Options -> Library Configuration -> Library: None

A5. Set the default program entry to an existing symbol in Linker -> Library options.

C1. If the flash where the const data is located is supported by an IAR Embedded Workbench for for ARM flash loader, you can download the const data library to the target device (needed at least once) by adding the output file to Options -> Debugger -> Download extra image -> Path: