WS63 SDK 文档
7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
los_tables.h
浏览该文件的文档.
1
/* ----------------------------------------------------------------------------
2
* Copyright (c) Huawei Technologies Co., Ltd. 2013-2019. All rights reserved.
3
* Description: Tables
4
* Author: Huawei LiteOS Team
5
* Create: 2013-01-01
6
* Redistribution and use in source and binary forms, with or without modification,
7
* are permitted provided that the following conditions are met:
8
* 1. Redistributions of source code must retain the above copyright notice, this list of
9
* conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
11
* of conditions and the following disclaimer in the documentation and/or other materials
12
* provided with the distribution.
13
* 3. Neither the name of the copyright holder nor the names of its contributors may be used
14
* to endorse or promote products derived from this software without specific prior written
15
* permission.
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
20
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
* --------------------------------------------------------------------------- */
28
29
#ifndef _LOS_TABLES_H
30
#define _LOS_TABLES_H
31
32
#include "
los_typedef.h
"
33
34
#ifdef __cplusplus
35
extern
"C"
{
36
#endif
/* __cplusplus */
37
38
#ifndef LOS_HAL_TABLE_WOW_BEGIN
39
#define LOS_HAL_TABLE_WOW_BEGIN(label, name) \
40
__asm__(".section \".liteos.table." X_STRING(name) ".wow.begin\",\"aw\"\n" \
41
".globl " X_STRING(LOS_LABEL_DEFN(label)) "\n" \
42
".type " X_STRING(LOS_LABEL_DEFN(label)) ",object\n" \
43
".p2align " X_STRING(LOSARC_P2ALIGNMENT) "\n" \
44
X_STRING(LOS_LABEL_DEFN(label)) ":\n" \
45
".previous\n" \
46
)
47
#endif
48
49
#ifndef LOS_HAL_TABLE_WOW_END
50
#define LOS_HAL_TABLE_WOW_END(label, name) \
51
__asm__(".section \".liteos.table." X_STRING(name) ".wow.finish\",\"aw\"\n" \
52
".globl " X_STRING(LOS_LABEL_DEFN(label)) "\n" \
53
".type " X_STRING(LOS_LABEL_DEFN(label)) ",object\n" \
54
".p2align " X_STRING(LOSARC_P2ALIGNMENT) "\n" \
55
X_STRING(LOS_LABEL_DEFN(label)) ":\n" \
56
".previous\n" \
57
)
58
#endif
59
60
#ifndef LOS_HAL_TABLE_SCATTER_BEGIN
61
#define LOS_HAL_TABLE_SCATTER_BEGIN(label, name) \
62
__asm__(".section \".liteos.table." X_STRING(name) ".scatter.begin\",\"aw\"\n" \
63
".globl " X_STRING(LOS_LABEL_DEFN(label)) "\n" \
64
".type " X_STRING(LOS_LABEL_DEFN(label)) ",object\n" \
65
".p2align " X_STRING(LOSARC_P2ALIGNMENT) "\n" \
66
X_STRING(LOS_LABEL_DEFN(label)) ":\n" \
67
".previous\n" \
68
)
69
#endif
70
71
#ifndef LOS_HAL_TABLE_SCATTER_END
72
#define LOS_HAL_TABLE_SCATTER_END(label, name) \
73
__asm__(".section \".liteos.table." X_STRING(name) ".scatter.finish\",\"aw\"\n" \
74
".globl " X_STRING(LOS_LABEL_DEFN(label)) "\n" \
75
".type " X_STRING(LOS_LABEL_DEFN(label)) ",object\n" \
76
".p2align " X_STRING(LOSARC_P2ALIGNMENT) "\n" \
77
X_STRING(LOS_LABEL_DEFN(label)) ":\n" \
78
".previous\n" \
79
)
80
#endif
81
82
#ifndef LOS_HAL_TABLE_BEGIN
83
#define LOS_HAL_TABLE_BEGIN(label, name) \
84
__asm__(".section \".liteos.table." X_STRING(name) ".begin\",\"aw\"\n" \
85
".globl " X_STRING(LOS_LABEL_DEFN(label)) "\n" \
86
".type " X_STRING(LOS_LABEL_DEFN(label)) ",object\n" \
87
".p2align " X_STRING(LOSARC_P2ALIGNMENT) "\n" \
88
X_STRING(LOS_LABEL_DEFN(label)) ":\n" \
89
".previous\n" \
90
)
91
#endif
92
93
#ifndef LOS_HAL_TABLE_END
94
#define LOS_HAL_TABLE_END(label, name) \
95
__asm__(".section \".liteos.table." X_STRING(name) ".finish\",\"aw\"\n" \
96
".globl " X_STRING(LOS_LABEL_DEFN(label)) "\n" \
97
".type " X_STRING(LOS_LABEL_DEFN(label)) ",object\n" \
98
".p2align " X_STRING(LOSARC_P2ALIGNMENT) "\n" \
99
X_STRING(LOS_LABEL_DEFN(label)) ":\n" \
100
".previous\n" \
101
)
102
#endif
103
104
/* This macro must be applied to any types whose objects are to be placed in tables */
105
#ifndef LOS_HAL_TABLE_TYPE
106
#define LOS_HAL_TABLE_TYPE LOSBLD_ATTRIB_ALIGN(LOSARC_ALIGNMENT)
107
#endif
108
109
#ifndef LOS_HAL_TABLE_EXTRA
110
#define LOS_HAL_TABLE_EXTRA(name) \
111
LOSBLD_ATTRIB_SECTION(".liteos.table." X_STRING(name) ".extra")
112
#endif
113
114
#ifndef LOS_HAL_TABLE_WOW_ENTRY
115
#define LOS_HAL_TABLE_WOW_ENTRY(name) \
116
LOSBLD_ATTRIB_SECTION(".liteos.table." X_STRING(name) ".wow.data") \
117
LOSBLD_ATTRIB_USED
118
#endif
119
120
#ifndef LOS_HAL_TABLE_SCATTER_ENTRY
121
#define LOS_HAL_TABLE_SCATTER_ENTRY(name) \
122
LOSBLD_ATTRIB_SECTION(".liteos.table." X_STRING(name) ".scatter.data") \
123
LOSBLD_ATTRIB_USED
124
#endif
125
126
#ifndef LOS_HAL_TABLE_ENTRY
127
#define LOS_HAL_TABLE_ENTRY(name) \
128
LOSBLD_ATTRIB_SECTION(".liteos.table." X_STRING(name) ".data") \
129
LOSBLD_ATTRIB_USED
130
#endif
131
132
#ifndef LOS_HAL_TABLE_QUALIFIED_ENTRY
133
#define LOS_HAL_TABLE_QUALIFIED_ENTRY(name, _qual) \
134
LOSBLD_ATTRIB_SECTION(".liteos.table." X_STRING(name) ".data." X_STRING(_qual)) \
135
LOSBLD_ATTRIB_USED
136
#endif
137
138
#ifdef __cplusplus
139
}
140
#endif
/* __cplusplus */
141
142
#endif
/* _LOS_TABLES_H */
los_typedef.h
src
kernel
liteos
liteos_v208.5.0
Huawei_LiteOS
kernel
include
los_tables.h
由
William Goodspeed
维护 | E-mail: gongzl@stu.hebust.edu.cn | Wechat: a23333344 | ALSO CHECKOUT
WS63FLASH
!
生成于 2025年 一月 4日 星期六 17:47:12 , 为 WS63 SDK 文档使用
1.9.8