|ARM Technical Support Knowledge Articles|
Applies to: ARM Development Tools
Information in this article applies to:
How do I keep data in my output image regardless of whether they are referenced or not like a constant version number or checksum?
Append the USED attribute to your constant. Please refer to the example below:
unsigned const int checksum __attribute__((used)) = 0x12345678;
The same attribute can also be used for static function to avoid removal from the object file.
Static variables marked as used are emitted to a single section, in the order they are declared. Please refer to the following example:
static char a1; /* at offset 0 */ static int b1; /* at offset 4 */ static char c1; /* this will be placed at offset 1 to exploit the gap */ /* these ones will not only be kept but also not reordered */ static char a2 __attribute__((used)); /* at offset 0 */ static int b2 __attribute__((used)); /* at offset 4 */ static char c2 __attribute__((used)); /* at offset 8 */
You can specify the section that variables are placed in using __attribute__((section)).
Request the files attached to this knowledgebase article.
Article last edited on: 2011-06-03 09:27:21
Did you find this article helpful? Yes No
How can we improve this article?