compiler.h
Go to the documentation of this file.
1 /********************************************************************************************************
2  * @file compiler.h
3  *
4  * @brief This is the header file for TLSR8258
5  *
6  * @author Driver Group
7  * @date May 8, 2018
8  *
9  * @par Copyright (c) 2018, Telink Semiconductor (Shanghai) Co., Ltd.
10  * All rights reserved.
11  *
12  * The information contained herein is confidential property of Telink
13  * Semiconductor (Shanghai) Co., Ltd. and is available under the terms
14  * of Commercial License Agreement between Telink Semiconductor (Shanghai)
15  * Co., Ltd. and the licensee or the terms described here-in. This heading
16  * MUST NOT be removed from this file.
17  *
18  * Licensees are granted free, non-transferable use of the information in this
19  * file under Mutual Non-Disclosure Agreement. NO WARRENTY of ANY KIND is provided.
20  * @par History:
21  * 1.initial release(DEC. 26 2018)
22  *
23  * @version A001
24  *
25  *******************************************************************************************************/
26 
27 #pragma once
28 
29 
30 #define _attribute_packed_ __attribute__((packed))
31 #define _attribute_aligned_(s) __attribute__((aligned(s)))
32 #define _attribute_session_(s) __attribute__((section(s)))
33 #define _attribute_ram_code_ _attribute_session_(".ram_code")
34 #define _attribute_custom_code_ _attribute_session_(".custom") volatile
35 #define _attribute_no_inline_ __attribute__((noinline))
36 #define _inline_ inline
37 
38 #ifndef BLC_PM_DEEP_RETENTION_MODE_EN
39 #define BLC_PM_DEEP_RETENTION_MODE_EN 1
40 #endif
41 
42 #if (BLC_PM_DEEP_RETENTION_MODE_EN)
43  #define _attribute_data_retention_ _attribute_session_(".retention_data")
44 #else
45  #define _attribute_data_retention_
46 #endif
47 
48