Keil Logo

IDATA Linker Directive

Abbreviation

ID

Arguments

IDATA (〚base〛 〚segment 〚(address)〛 〚, ...〛〛)

Default

None.

µVision

Options — BL51 Locate — Idata Base.
Options — BL51 Locate — Idata Segments.

Description

The IDATA directive specifies:

  • The base address for relocatable IDATA segments.
  • The order of relocatable IDATA segments in memory.
  • The absolute memory location of individual IDATA segments.

This directive is specified as follows:

IDATA (〚base, ...〛 〚segment 〚(address)〛 〚, ...〛〛)

Where

base specifies the base address to use for IDATA segments.
segment is the name of a segment.
address is a physical address at which the segment is to be located.

Note

  • The BL51 Linker allows you to use wildcards when locating program segments. For example, ?PR?*?MYFILE may be used to represent all program segments from the MYFILE source file.
See Also

BIT, CODE, DATA, PDATA, PRECEDE, RAMSIZE, STACK, XDATA

Example

The example below specifies that relocatable IDATA segments be located at or after address 64 decimal (40 hex) in the IDATA memory.

BL51 MYPROG.OBJ IDATA(64)

or

BL51 MYPROG.OBJ IDATA(0x40)

To specify the order for segments, you must include the names of the segments separated by commas. The following example places the ?ID?A, ?ID?B, and ?ID?C segments at the beginning of the IDATA memory:

BL51 A.OBJ,B.OBJ,C.OBJ IDATA(?ID?A,?ID?B,?ID?C)

You may also specify the memory location. This example places the ?ID?A and ?ID?B segments at 30h and 40h in the on-chip IDATA memory:

BL51 MYPROG.OBJ,A.OBJ,B.OBJ IDATA(?ID?A(30h),?ID?B(40h))

Related Knowledgebase Articles

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.