You copied the Doc URL to your clipboard.

Arm Compiler armlink User Guide : Creating a symdefs file

Creating a symdefs file

You can specify a symdefs file on the linker command-line.

You can use a symdefs file, for example, if you have one image that always resides in ROM and multiple images that are loaded into RAM. The images loaded into RAM can access global functions and data from the image located in ROM.

Use the armlink option --symdefs=filename to generate a symdefs file.

The linker produces a symdefs file during a successful final link stage. It is not produced for partial linking or for unsuccessful final linking.


If filename does not exist, the linker creates the file and adds entries for all the global symbols to that file. If filename exists, the linker uses the existing contents of filename to select the symbols that are output when it rewrites the file. This means that only the existing symbols in the filename are updated, and no new symbols (if any) are added at all. If you do not want this behavior, ensure that any existing symdefs file is deleted before the link step.