]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M4_SimpleLink_CC3220SF_CCS/ti/devices/cc32xx/inc/asmdefs.h
Add SimpleLink CC3220SF demo.
[freertos] / FreeRTOS / Demo / CORTEX_M4_SimpleLink_CC3220SF_CCS / ti / devices / cc32xx / inc / asmdefs.h
1 /*\r
2  * -------------------------------------------\r
3  *    CC3220 SDK - v0.10.00.00 \r
4  * -------------------------------------------\r
5  *\r
6  *  Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/ \r
7  *  \r
8  *  Redistribution and use in source and binary forms, with or without \r
9  *  modification, are permitted provided that the following conditions \r
10  *  are met:\r
11  *\r
12  *    Redistributions of source code must retain the above copyright \r
13  *    notice, this list of conditions and the following disclaimer.\r
14  *\r
15  *    Redistributions in binary form must reproduce the above copyright\r
16  *    notice, this list of conditions and the following disclaimer in the \r
17  *    documentation and/or other materials provided with the   \r
18  *    distribution.\r
19  *\r
20  *    Neither the name of Texas Instruments Incorporated nor the names of\r
21  *    its contributors may be used to endorse or promote products derived\r
22  *    from this software without specific prior written permission.\r
23  *\r
24  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
25  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
26  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
27  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
28  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
29  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
30  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
31  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
32  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
33  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
34  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
35  *  \r
36  */\r
37 \r
38 //*****************************************************************************\r
39 //\r
40 // asmdefs.h - Macros to allow assembly code be portable among toolchains.\r
41 //\r
42 //*****************************************************************************\r
43 \r
44 #ifndef __ASMDEFS_H__\r
45 #define __ASMDEFS_H__\r
46 \r
47 //*****************************************************************************\r
48 //\r
49 // The defines required for code_red.\r
50 //\r
51 //*****************************************************************************\r
52 #ifdef codered\r
53 \r
54 //\r
55 // The assembly code preamble required to put the assembler into the correct\r
56 // configuration.\r
57 //\r
58     .syntax unified\r
59     .thumb\r
60 \r
61 //\r
62 // Section headers.\r
63 //\r
64 #define __LIBRARY__             @\r
65 #define __TEXT__                .text\r
66 #define __DATA__                .data\r
67 #define __BSS__                 .bss\r
68 #define __TEXT_NOROOT__         .text\r
69 \r
70 //\r
71 // Assembler nmenonics.\r
72 //\r
73 #define __ALIGN__               .balign 4\r
74 #define __END__                 .end\r
75 #define __EXPORT__              .globl\r
76 #define __IMPORT__              .extern\r
77 #define __LABEL__               :\r
78 #define __STR__                 .ascii\r
79 #define __THUMB_LABEL__         .thumb_func\r
80 #define __WORD__                .word\r
81 #define __INLINE_DATA__\r
82 \r
83 #endif // codered\r
84 \r
85 //*****************************************************************************\r
86 //\r
87 // The defines required for EW-ARM.\r
88 //\r
89 //*****************************************************************************\r
90 #ifdef ewarm\r
91 \r
92 //\r
93 // Section headers.\r
94 //\r
95 #define __LIBRARY__             module\r
96 #define __TEXT__                rseg CODE:CODE(2)\r
97 #define __DATA__                rseg DATA:DATA(2)\r
98 #define __BSS__                 rseg DATA:DATA(2)\r
99 #define __TEXT_NOROOT__         rseg CODE:CODE:NOROOT(2)\r
100 \r
101 //\r
102 // Assembler nmenonics.\r
103 //\r
104 #define __ALIGN__               alignrom 2\r
105 #define __END__                 end\r
106 #define __EXPORT__              export\r
107 #define __IMPORT__              import\r
108 #define __LABEL__\r
109 #define __STR__                 dcb\r
110 #define __THUMB_LABEL__         thumb\r
111 #define __WORD__                dcd\r
112 #define __INLINE_DATA__         data\r
113 \r
114 #endif // ewarm\r
115 \r
116 //*****************************************************************************\r
117 //\r
118 // The defines required for GCC.\r
119 //\r
120 //*****************************************************************************\r
121 #if defined(gcc)\r
122 \r
123 //\r
124 // The assembly code preamble required to put the assembler into the correct\r
125 // configuration.\r
126 //\r
127     .syntax unified\r
128     .thumb\r
129 \r
130 //\r
131 // Section headers.\r
132 //\r
133 #define __LIBRARY__             @\r
134 #define __TEXT__                .text\r
135 #define __DATA__                .data\r
136 #define __BSS__                 .bss\r
137 #define __TEXT_NOROOT__         .text\r
138 \r
139 //\r
140 // Assembler nmenonics.\r
141 //\r
142 #define __ALIGN__               .balign 4\r
143 #define __END__                 .end\r
144 #define __EXPORT__              .globl\r
145 #define __IMPORT__              .extern\r
146 #define __LABEL__               :\r
147 #define __STR__                 .ascii\r
148 #define __THUMB_LABEL__         .thumb_func\r
149 #define __WORD__                .word\r
150 #define __INLINE_DATA__\r
151 \r
152 #endif // gcc\r
153 \r
154 //*****************************************************************************\r
155 //\r
156 // The defines required for RV-MDK.\r
157 //\r
158 //*****************************************************************************\r
159 #ifdef rvmdk\r
160 \r
161 //\r
162 // The assembly code preamble required to put the assembler into the correct\r
163 // configuration.\r
164 //\r
165     thumb\r
166     require8\r
167     preserve8\r
168 \r
169 //\r
170 // Section headers.\r
171 //\r
172 #define __LIBRARY__             ;\r
173 #define __TEXT__                area ||.text||, code, readonly, align=2\r
174 #define __DATA__                area ||.data||, data, align=2\r
175 #define __BSS__                 area ||.bss||, noinit, align=2\r
176 #define __TEXT_NOROOT__         area ||.text||, code, readonly, align=2\r
177 \r
178 //\r
179 // Assembler nmenonics.\r
180 //\r
181 #define __ALIGN__               align 4\r
182 #define __END__                 end\r
183 #define __EXPORT__              export\r
184 #define __IMPORT__              import\r
185 #define __LABEL__\r
186 #define __STR__                 dcb\r
187 #define __THUMB_LABEL__\r
188 #define __WORD__                dcd\r
189 #define __INLINE_DATA__\r
190 \r
191 #endif // rvmdk\r
192 \r
193 //*****************************************************************************\r
194 //\r
195 // The defines required for Sourcery G++.\r
196 //\r
197 //*****************************************************************************\r
198 #if defined(sourcerygxx)\r
199 \r
200 //\r
201 // The assembly code preamble required to put the assembler into the correct\r
202 // configuration.\r
203 //\r
204     .syntax unified\r
205     .thumb\r
206 \r
207 //\r
208 // Section headers.\r
209 //\r
210 #define __LIBRARY__             @\r
211 #define __TEXT__                .text\r
212 #define __DATA__                .data\r
213 #define __BSS__                 .bss\r
214 #define __TEXT_NOROOT__         .text\r
215 \r
216 //\r
217 // Assembler nmenonics.\r
218 //\r
219 #define __ALIGN__               .balign 4\r
220 #define __END__                 .end\r
221 #define __EXPORT__              .globl\r
222 #define __IMPORT__              .extern\r
223 #define __LABEL__               :\r
224 #define __STR__                 .ascii\r
225 #define __THUMB_LABEL__         .thumb_func\r
226 #define __WORD__                .word\r
227 #define __INLINE_DATA__\r
228 \r
229 #endif // sourcerygxx\r
230 \r
231 #endif // __ASMDEF_H__\r