6.3.7 Methods of importing linker-defined symbols in C and C++

You can import linker-defined symbols into your C or C++ source code. They are external symbols and you must take the address of them.

The only case where the & operator is not required is when the array declaration is used, for example extern char symbol_name[];.

The following examples show how to obtain the correct value:

Importing a linker-defined symbol
extern unsigned int Image$$ER_ZI$$Limit;
config.heap_base = (unsigned int) &Image$$ER_ZI$$Limit;
Importing symbols that define a ZI output section
extern unsigned int Image$$ER_ZI$$Length;
extern char Image$$ER_ZI$$Base[];
memset(Image$$ER_ZI$$Base,0,(unsigned int)&Image$$ER_ZI$$Length);
Non-ConfidentialPDF file icon PDF versionARM DUI0474M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.