1 #ifndef __COMPILER_LD_H
2 #define __COMPILER_LD_H
3 
4 #define ATTR_STRINGIFY(x)               #x
5 #define ATTR_TOSTRING(x)                ATTR_STRINGIFY(x)
6 #define ATTR_UNI_SYMBOL                 __FILE__ ATTR_TOSTRING(__LINE__)
7 #define ATTR_CLOCK_SECTION              __attribute__((section(".sclock_rlt_code." ATTR_UNI_SYMBOL)))
8 #define ATTR_CLOCK_CONST_SECTION        __attribute__((section(".sclock_rlt_const." ATTR_UNI_SYMBOL)))
9 #define ATTR_TCM_SECTION                __attribute__((section(".tcm_code." ATTR_UNI_SYMBOL)))
10 #define ATTR_TCM_CONST_SECTION          __attribute__((section(".tcm_const." ATTR_UNI_SYMBOL)))
11 #define ATTR_DTCM_SECTION               __attribute__((section(".tcm_data")))
12 #define ATTR_HSRAM_SECTION              __attribute__((section(".hsram_code")))
13 #define ATTR_DMA_RAM_SECTION            __attribute__((section(".system_ram")))
14 #define ATTR_WIFI_RAM_SECTION           __attribute__((section(".wifi_ram")))
15 #define ATTR_NOINIT_PSRAM_SECTION       __attribute__((section(".psram_noinit")))
16 #define ATTR_NOCACHE_RAM_SECTION        __attribute__((section(".nocache_ram")))
17 #define ATTR_NOCACHE_NOINIT_RAM_SECTION __attribute__((section(".nocache_noinit_ram")))
18 #define ATTR_HBN_RAM_SECTION            __attribute__((section(".hbn_ram_code")))
19 #define ATTR_HBN_RAM_CONST_SECTION      __attribute__((section(".hbn_ram_data")))
20 #define ATTR_FALLTHROUGH()              __attribute__((fallthrough))
21 
22 #endif
23