Selected Documentation for Messaging-Cells Library
Macros | Variables
loader.h File Reference

Macros to access the linker script values. More...

#include "shared.h"
+ Include dependency graph for loader.h:
+ This graph shows which files directly or indirectly include this file:

Macros

#define MC_VAL_EXTERNAL_RAM_SIZE   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_RAM_SIZE)
 Value of linker script variable LD_EXTERNAL_RAM_SIZE.
 
#define MC_VAL_EXTERNAL_CODE_SIZE   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_CODE_SIZE)
 Value of linker script variable LD_EXTERNAL_CODE_SIZE.
 
#define MC_VAL_EXTERNAL_LOAD_SIZE   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_LOAD_SIZE)
 Value of linker script variable LD_EXTERNAL_LOAD_SIZE.
 
#define MC_VAL_EXTERNAL_MANAGERU_DATA_SIZE   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_MANAGERU_DATA_SIZE)
 Value of linker script variable LD_EXTERNAL_MANAGERU_DATA_SIZE.
 
#define MC_VAL_EXTERNAL_MANAGERU_ALLOC_SIZE   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_MANAGERU_ALLOC_SIZE)
 Value of linker script variable LD_EXTERNAL_MANAGERU_ALLOC_SIZE.
 
#define MC_VAL_EXTERNAL_RAM_ORIG   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_RAM_ORIG)
 Value of linker script variable LD_EXTERNAL_RAM_ORIG.
 
#define MC_VAL_EXTERNAL_CODE_ORIG   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_CODE_ORIG)
 Value of linker script variable LD_EXTERNAL_CODE_ORIG.
 
#define MC_VAL_EXTERNAL_LOAD_ORIG   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_LOAD_ORIG)
 Value of linker script variable LD_EXTERNAL_LOAD_ORIG.
 
#define MC_VAL_EXTERNAL_MANAGERU_DATA_ORIG   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_MANAGERU_DATA_ORIG)
 Value of linker script variable LD_EXTERNAL_MANAGERU_DATA_ORIG.
 
#define MC_VAL_EXTERNAL_MANAGERU_ALLOC_ORIG   MCK_LNK_SCRPT_SYM_VAL(LD_EXTERNAL_MANAGERU_ALLOC_ORIG)
 Value of linker script variable LD_EXTERNAL_MANAGERU_ALLOC_ORIG.
 
#define MC_VAL_WORKERU_STACK_ORIG   MCK_LNK_SCRPT_SYM_VAL(LD_WORKERU_STACK_ORIG)
 Value of linker script variable LD_WORKERU_STACK_ORIG.
 
#define MC_VAL_WORKERU_MODULE_ORIG   MCK_LNK_SCRPT_SYM_VAL(LD_WORKERU_MODULE_ORIG)
 Value of linker script variable LD_WORKERU_MODULE_ORIG.
 
#define MC_VAL_WORKERU_MODULE_SIZE   MCK_LNK_SCRPT_SYM_VAL(LD_WORKERU_MODULE_SIZE)
 Value of linker script variable LD_WORKERU_MODULE_SIZE.
 
#define MCL_NODE(nam, aa)   (& MCL_NODE_NAM(nam, aa))
 Parrallel loading tree definition macro that declares a workeru 'aa' of tree named 'nam' to be loaded.
 
#define MCL_LEAF_NODE(nam, aa)
 Parrallel loading tree definition macro that defines a leaf workeru 'aa' of tree named 'nam' to be loaded.
 
#define MCL_TREE_NODE(nam, aa, ...)
 
#define mc_dbg_e3_node(nn)   MCL_NODE(lib_dbg_map, nn)
 Macro to declare lib_dbg_map nodes.
 
#define mc_dbg_e3_leaf(nn)   MCL_LEAF_NODE(lib_dbg_map, nn)
 Macro to declare lib_dbg_map leafs.
 
#define mc_dbg_e3_tree(nn, ...)   MCL_TREE_NODE(lib_dbg_map, nn, __VA_ARGS__)
 Macro to declare lib_dbg_map trees.
 
#define mc_std_e3_node(nn)   MCL_NODE(lib_std_map, nn)
 Macro to declare lib_std_map nodes.
 
#define mc_std_e3_leaf(nn)   MCL_LEAF_NODE(lib_std_map, nn)
 Macro to declare lib_std_map leafs.
 
#define mc_std_e3_tree(nn, ...)   MCL_TREE_NODE(lib_std_map, nn, __VA_ARGS__)
 Macro to declare lib_std_map trees.
 

Variables

mc_addr_t LD_EXTERNAL_RAM_SIZE
 
mc_addr_t LD_EXTERNAL_CODE_SIZE
 
mc_addr_t LD_EXTERNAL_LOAD_SIZE
 
mc_addr_t LD_EXTERNAL_MANAGERU_DATA_SIZE
 
mc_addr_t LD_EXTERNAL_MANAGERU_ALLOC_SIZE
 
mc_addr_t LD_WORKERU_MODULE_SIZE
 

Detailed Description

Macros to access the linker script values.

Defines the macros that allows the user to access the values defined in the link script. See example mc-linker-script.ldf


Macro Definition Documentation

#define MCL_TREE_NODE (   nam,
  aa,
  ... 
)
Value:
mc_load_map_st* childs_of_ ## nam ## aa [] mc_external_data_ram = { __VA_ARGS__ , mc_null }; \
mc_load_map_st MCL_NODE_NAM(nam, aa) mc_external_data_ram = { \
.num_workeru = aa, \
.is_loaded = false, \
.childs = childs_of_ ## nam ## aa \
}; \

Parrallel loading tree definition macro that defines a sub-tree workeru 'aa' of tree named 'nam' to be loaded with a variable number of sub-trees to be loaded before this workeru. See standard loading trees lib_dbg_map and lib_std_map in file broadcast_maps.c

Variable Documentation

mc_addr_t LD_EXTERNAL_RAM_SIZE

Full external epiphany system RAM size. RAM shared with the manageru (znq).

mc_addr_t LD_EXTERNAL_CODE_SIZE

External RAM used for code (.text, data, rodata, bss and .stack)

mc_addr_t LD_EXTERNAL_LOAD_SIZE

External RAM used for modules code

mc_addr_t LD_EXTERNAL_MANAGERU_DATA_SIZE

External RAM used structured shared data with the manageru (znq)

mc_addr_t LD_EXTERNAL_MANAGERU_ALLOC_SIZE

External RAM used dynamic allocated shared data with the manageru (znq)

mc_addr_t LD_WORKERU_MODULE_SIZE

Core module size