place at directive
Syntax
[ "name": ] place [ noload ] at { address [memory: ]address| start ofregion_expr[ with mirroring tomirror_address] | end ofregion_expr[ with mirroring tomirror_address] } {extended-selectors} [ except {section-selectors} ];
For information about extended selectors and except clauses, see Section selection.
Parameters
| Optional. If it is specified, it is used in the map file, in some log messages, and is part of the name of any ELF output sections resulting from the directive. (This is entirely a matter of presentation. There is no connection to names used in the application.) |
| Optional. If it is specified, it prevents the sections in the directive from being loaded to the target system. To use the sections, you must put them into the target system in some other way. |
| A specific address in a specific memory. The address must be available in the supplied memory defined by the |
| A region expression that results in a single-internal region. The start of the interval is used. |
| A region expression that results in a single-internal region. The end of the interval is used. |
| If Note: This functionality is intended to support external (target-specific) mirroring. |
Description
The place at directive places sections and blocks either at a specific address or, at the beginning or the end of a region. The same address cannot be used for two different place at directives. It is also not possible to use an empty region in a place at directive. If placed in a region, the sections and blocks will be placed before any other sections or blocks placed in the same region with a place in directive.
Note
with mirroring to can be used only together with start of and end of.
Example
/* Place the RO section .startup at the start of code_region */
"START": place at start of ROM { readonly section .startup };