Section variables.
More...
Section variables.
#define NRF_SECTION_VARS_COUNT |
( |
|
data_type, |
|
|
|
section_name |
|
) |
| NRF_SECTION_VARS_LENGTH(section_name) / sizeof(data_type) |
Macro to get number of variables registered in a section.
- Parameters
-
[in] | data_type | Data type of the variables in the section. |
[in] | section_name | Name of the section. |
#define NRF_SECTION_VARS_CREATE_SECTION |
( |
|
section_name, |
|
|
|
data_type |
|
) |
| |
Value:
Macro to create a section to register variables in.
- Parameters
-
[in] | data_type | The data type of the variables to be registered in the section. |
[in] | section_name | Name of the section. |
- Warning
- The data type must be word aligned to prevent padding.
Macro to obtain the address of end of a section.
- Parameters
-
[in] | section_name | Name of the section. |
#define NRF_SECTION_VARS_END_SYMBOL |
( |
|
section_name | ) |
section_name ## $$Limit |
Macro to obtain the symbol marking the end of a given section.
The symbol that this macro resolves to is used to obtain a section stop address.
- Parameters
-
[in] | section_name | Name of the section. |
#define NRF_SECTION_VARS_GET |
( |
|
i, |
|
|
|
data_type, |
|
|
|
section_name |
|
) |
| (data_type*)(NRF_SECTION_VARS_START_ADDR(section_name) + i * sizeof(data_type)) |
Macro to retrieve a variable from a section.
- Warning
- The stored symbol can only be resolved using this macro if the type of the data is word aligned. The operation of acquiring the stored symbol relies on sizeof of the stored type, no padding can exist in the named section in between individual stored items or this macro will fail.
- Parameters
-
[in] | i | Index of the variable in section. |
[in] | data_type | Data type of the variable. |
[in] | section_name | Name of the section. |
Macro for retrieving the length of a given section, in bytes.
- Parameters
-
[in] | section_name | Name of the section. |
#define NRF_SECTION_VARS_REGISTER_VAR |
( |
|
section_name, |
|
|
|
section_var |
|
) |
| static section_var __attribute__ ((section(#section_name))) __attribute__((used)) |
Macro to declare a variable and register it in a section.
Declares a variable and registers it in a named section. This macro ensures that the variable is not stripped away when using optimizations.
- Note
- The order with which variables are placed in a section is dependant on the order with which the linker encouters the variables during linking.
- Parameters
-
[in] | section_name | Name of the section. |
[in] | section_var | The variable to register in the given section. |
Macro to obtain the address of the beginning of a section.
param[in] section_name Name of the section.
#define NRF_SECTION_VARS_START_SYMBOL |
( |
|
section_name | ) |
section_name ## $$Base |
Macro to obtain the symbol marking the beginning of a given section.
The symbol that this macro resolves to is used to obtain a section start address.
- Parameters
-
[in] | section_name | Name of the section. |