blob: 001ac74c22bd9f15f7590fb6dda56e1b6653197b [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/* ###*B*###
2 * ERIKA Enterprise - a tiny RTOS for small microcontrollers
3 *
4 * Copyright (C) 2002-2014 Evidence Srl
5 *
6 * This file is part of ERIKA Enterprise.
7 *
8 * ERIKA Enterprise is free software; you can redistribute it
9 * and/or modify it under the terms of the GNU General Public License
10 * version 2 as published by the Free Software Foundation,
11 * (with a special exception described below).
12 *
13 * Linking this code statically or dynamically with other modules is
14 * making a combined work based on this code. Thus, the terms and
15 * conditions of the GNU General Public License cover the whole
16 * combination.
17 *
18 * As a special exception, the copyright holders of this library give you
19 * permission to link this code with independent modules to produce an
20 * executable, regardless of the license terms of these independent
21 * modules, and to copy and distribute the resulting executable under
22 * terms of your choice, provided that you also meet, for each linked
23 * independent module, the terms and conditions of the license of that
24 * module. An independent module is a module which is not derived from
25 * or based on this library. If you modify this code, you may extend
26 * this exception to your version of the code, but you are not
27 * obligated to do so. If you do not wish to do so, delete this
28 * exception statement from your version.
29 *
30 * ERIKA Enterprise is distributed in the hope that it will be
31 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
32 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 * GNU General Public License version 2 for more details.
34 *
35 * You should have received a copy of the GNU General Public License
36 * version 2 along with ERIKA Enterprise; if not, write to the
37 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
38 * Boston, MA 02110-1301 USA.
39 * ###*E*### */
40
41/*
42 * Author: 2000-2006 Paolo Gai
43 */
44
45#ifndef PKG_EE_INTERNAL_H
46#define PKG_EE_INTERNAL_H
47
48#include "eecfg.h"
49
50#include "ee_rtdruid_versions.h"
51
52#if defined(__cplusplus)
53extern "C" {
54#endif
55
56/*
57 *
58 * CPU
59 *
60 */
61
62/* Freescale */
63#if (defined(__MC9S12__)) || (defined(__HCS12XS__))
64#include "cpu/hs12xs/inc/ee_internal.h"
65#endif
66
67#ifdef __X86__
68#include "cpu/x86/inc/ee_internal.h"
69#endif
70
71#ifdef __AVR8__
72#include "cpu/avr8/inc/ee_avr8_internal.h"
73#endif
74
75#ifdef __ST10__
76#include "st10mono/internal.h"
77#endif
78
79#ifdef __ST10SEGM__
80#include "st10segm/internal.h"
81#endif
82
83#if (defined(__ARM7GNU__)) || (defined(__ARM7ADS__))
84#include "cpu/arm7tdmi/inc/ee_internal.h"
85#endif
86
87#ifdef __MPC5XX__
88#include "cpu/mpc5xx/inc/ee_internal.h"
89#endif
90
91#ifdef __MPC5PROTECTED__
92#include "cpu/mpc5protected/inc/ee_internal.h"
93#endif
94
95#ifdef __NIOS2__
96#include "cpu/nios2/inc/ee_internal.h"
97#endif
98
99#ifdef __PIC30__
100#include "cpu/pic30/inc/ee_internal.h"
101#endif
102
103#ifdef __PIC32__
104#include "cpu/pic32/inc/ee_internal.h"
105#endif
106
107#ifdef EE_CORTEX_AX_XENPV__
108#include "cpu/cortex_ax_xenpv/inc/ee_cax_internal.h"
109#endif /* EE_CORTEX_AX_XENPV__ */
110
111#ifdef __LM32__
112#include "cpu/mico32/inc/ee_internal.h"
113#endif
114
115#if (defined(__PPCE200Z7__)) || (defined(__PPCE200ZX__))
116#include "cpu/e200zx/inc/ee_internal.h"
117#endif
118
119#ifdef __ESI_RISC__
120#include "cpu/esi_risc/inc/ee_internal.h"
121#endif
122
123#ifdef __MSP430__
124#include "cpu/msp430/inc/ee_internal.h"
125#endif
126
127/* ARM */
128#ifdef __CORTEX_MX__
129#include "cpu/cortex_mx/inc/ee_internal.h"
130#endif
131
132/* Renesas RX200 */
133#ifdef __RX200__
134#include "cpu/rx200/inc/ee_internal.h"
135#endif
136
137/* Renesas RH850 */
138#ifdef __RH850__
139#include "cpu/rh850/inc/ee_internal.h"
140#endif
141
142#ifdef __CORTEX_RX__
143#include "cpu/cortex_rx/inc/ee_internal.h"
144#endif
145
146#ifdef __ARC_EM6__
147#include "cpu/arc_em6/inc/ee_internal.h"
148#endif
149
150/*
151 *
152 * MCU
153 *
154 */
155
156/* Freescale */
157#if (defined(__MC9S12__)) || (defined(__HCS12XS__))
158#include "mcu/hs12xs/inc/ee_internal.h"
159#endif
160
161/* Atmel AVR */
162#ifdef __ATMEGA__
163#include "mcu/atmel_atmega/inc/ee_internal.h"
164#endif
165
166#ifdef __ATTINY__
167#include "mcu/atmel_attiny/inc/ee_internal.h"
168#endif
169
170#ifdef __ATXMEGA__
171#include "mcu/atmel_atxmega/inc/ee_atmel_atxmega_internal.h"
172#endif
173
174
175/* ARM */
176#if defined(__SAMSUNG_KS32C50100__)
177#include "mcu/samsung_ks32c50100/inc/ee_internal.h"
178#endif
179
180#if defined(__UNIBO_MPARM__)
181#include "mcu/unibo_mparm/inc/ee_internal.h"
182#endif
183
184#if defined __TRISCENDA7S__
185#include "mcu/triscend_a7s/internal.h"
186#endif
187
188#if defined(__ST_STA2051__)
189#include "mcu/st_sta2051/inc/ee_internal.h"
190#endif
191
192/* PPC */
193#ifdef __MPC566EVB__
194#include "mcu/motorola_mpc566/inc/ee_mcu.h"
195#endif
196
197/* Microchip dsPIC */
198#ifdef __MICROCHIP_DSPIC30__
199#include "mcu/microchip_dspic/inc/ee_internal.h"
200#endif
201
202/* NIOS 2 */
203#ifdef __NIOS2__
204#include "mcu/altera_nios2/inc/ee_internal.h"
205#endif
206
207/* MICO32 */
208#ifdef __LM32__
209#include "mcu/mico32/inc/ee_internal.h"
210#endif
211
212/* Tricore1 */
213
214#ifdef __TC179x__
215#include "mcu/tc179x/inc/ee_internal.h"
216#endif
217
218/* LPCXpresso */
219#if (defined(__LPCXPRESSO__)) && (defined(__LPC12xx__))
220#include "mcu/nxp_lpcxpresso_lpc12xx/inc/ee_internal.h"
221#endif
222
223/* Stellaris */
224#if (defined(__STELLARIS__)) && (defined(__LM4F232xxxx__))
225#include "mcu/ti_stellaris_lm4f232xxxx/inc/ee_internal.h"
226#endif
227
228/* ST */
229#if (defined(__STM32__)) && (defined(__STM32F4xx__))
230#include "mcu/st_stm32_stm32f4xx/inc/ee_internal.h"
231#endif
232
233/* NORDIC */
234#if (defined(__NORDIC__)) && (defined(__NRF51X22__))
235#include "mcu/nordic_nrf51x22/inc/ee_internal.h"
236#endif
237
238/* Renesas RX200*/
239#if (defined(__RX200__)) && (defined(__R5F5210x__))
240#include "mcu/renesas_r5f5210x/inc/ee_internal.h"
241#endif
242
243/* Renesas R7F701503 */
244#if defined(__RH850__) && defined(__R7F701503__)
245#include "mcu/renesas_r7f701503/inc/ee_internal.h"
246#endif
247
248/* Renesas R7F701057 */
249#if defined(__RH850__) && defined(__R7F701057__)
250#include "mcu/renesas_r7f701057/inc/ee_internal.h"
251#endif
252
253#if (defined(__TI__)) && (defined(__TMS570__))
254#include "mcu/ti_tms570/inc/ee_internal.h"
255#endif
256
257/*
258 *
259 * Board
260 *
261 */
262
263/* Freescale */
264#if (defined(__MC9S12__)) || (defined(__HCS12XS__))
265#ifdef __DEMO9S12XSFAME__
266#include "board/hs12xs_demo9s12xsfame/inc/ee_internal.h"
267#endif
268#ifdef __TWRS12G128__
269#include "board/twrs12g128/inc/ee_internal.h"
270#endif
271#endif
272
273/* Atmel */
274#ifdef __ATMEL_STK50X__
275#include "board/atmel_stk500/inc/ee_internal.h"
276#endif
277
278#ifdef __XBOW_MIB5X0__
279#include "board/xbow_mib5x0/inc/ee_board.h"
280#endif
281
282#ifdef __ARDUINO_UNO__
283#include "board/arduino_uno/inc/ee_internal.h"
284#endif
285
286#ifdef __ATMEL_STK600__
287#include "board/atmel_stk600/inc/ee_atmel_stk600_internal.h"
288#endif
289
290/* ARM */
291#ifdef __EVALUATOR7T__
292#include "board/arm_evaluator7t/inc/ee_internal.h"
293#endif
294
295#if defined(__unibo_mparm__)
296#include "board/unibo_mparm/inc/ee_internal.h"
297#endif
298
299/* Microchip dsPIC */
300#ifdef __MICROCHIP_DSPICDEM11PLUS__
301#include "board/microchip_dspicdem11plus/inc/ee_internal.h"
302#endif
303
304#ifdef __MICROCHIP_EXPLORER16__
305#include "board/microchip_explorer16/inc/ee_internal.h"
306#endif
307
308#ifdef __EE_FLEX__
309#include "board/ee_flex/inc/ee_internal.h"
310#endif
311
312#ifdef __EE_MINIFLEX__
313#include "board/ee_miniflex/inc/ee_internal.h"
314#endif
315
316#ifdef __MICROCHIP_ESK__
317#include "board/microchip_esk/inc/ee_internal.h"
318#endif
319
320/* MICO32 */
321#ifdef __LM32__
322#include "board/fpg-eye/inc/ee_internal.h"
323#endif
324
325#ifdef __TC1796__
326#include "board/infineon_tc1796b/inc/ee_internal.h"
327#endif
328
329#ifdef __ESI_RISC__
330#include "board/esi_risc/inc/ee_board.h"
331#endif
332
333#ifdef __RSKRX210__
334#include "board/renesas_rskrx210/inc/ee_board.h"
335#endif
336
337/*
338 *
339 * Kernel
340 *
341 */
342
343
344#ifdef __FP__
345#include "kernel/fp/inc/ee_internal.h"
346/* API prototypes should be visible when defining API functions; also, some
347 * types are defined in ee_kernel.h */
348#include "kernel/fp/inc/ee_kernel.h"
349#endif
350
351#ifdef __EDF__
352#include "kernel/edf/inc/ee_internal.h"
353#endif
354
355#ifdef __FRSH__
356#ifdef __SEM_FRSH__
357#include "kernel/frsh/syncobj/inc/ee_sem.h"
358#endif
359#include "kernel/frsh/inc/ee_internal.h"
360#endif
361
362#ifdef __HR__
363#include "kernel/hr/inc/ee_internal.h"
364#endif
365
366#if (defined(__OO_BCC1__)) || (defined(__OO_BCC2__)) \
367 || (defined(__OO_ECC1__)) || (defined(__OO_ECC2__))
368/* API prototypes should be visible when defining API functions */
369#include "kernel/oo/inc/ee_oo_kernel.h"
370#include "kernel/as/inc/ee_as_kernel.h"
371/* Moved inline interrupt services inclusion here, because they need to see TP
372 * declarations */
373#include "kernel/oo/inc/ee_oo_inline.h"
374
375/* XXX: IT CAN HAPPEN THAT SOME OSEK INLINES NEED SOME INTERNALS FROM AS LAYER */
376#include "kernel/as/inc/ee_as_internal.h"
377#include "kernel/oo/inc/ee_oo_internal.h"
378
379#ifdef EE_AS_IOC__
380#include "kernel/as/inc/ee_as_ioc.h"
381/* WARNING
382 * The following file SHALL be generated by IOC Generator: if you are using
383 * Erika IOC implementation without a generator you MUST provide it in your
384 * project root. */
385#include "ioc_common.h"
386#endif /* EE_AS_IOC__ */
387
388#ifdef EE_AS_SCHEDULETABLES__
389#include "kernel/as/inc/ee_as_schedule_tables.h"
390#endif /* EE_AS_SCHEDULETABLES__ */
391
392#endif /* OO */
393
394#ifdef __SEM__
395#include "kernel/sem/inc/ee_sem.h"
396#endif
397
398#ifdef __ALARMS__
399#include "kernel/alarms/inc/ee_alarms.h"
400#endif
401
402#if (defined(__RN__)) || (defined(EE_AS_RPC__))
403#include "kernel/rn/inc/ee_rn_internal.h"
404#endif /* __RN__ || EE_AS_RPC__ */
405
406#if defined(__AS_SC4__)
407#include "kernel/as/inc/ee_os_internal.h"
408#endif
409
410
411
412#if defined(__cplusplus)
413};
414#endif
415
416#endif