mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-18 10:53:30 +08:00
Add component initialization define in rtdef.h
This commit is contained in:
parent
d80a471680
commit
f837ea41b1
@ -83,6 +83,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||
#include <stdarg.h>
|
||||
#define SECTION(x) __attribute__((section(x)))
|
||||
#define UNUSED __attribute__((unused))
|
||||
#define USED __attribute__((used))
|
||||
#define ALIGN(n) __attribute__((aligned(n)))
|
||||
#define rt_inline static __inline
|
||||
/* module compiling */
|
||||
@ -128,6 +129,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||
|
||||
#define SECTION(x) __attribute__((section(x)))
|
||||
#define UNUSED __attribute__((unused))
|
||||
#define USED __attribute__((used))
|
||||
#define ALIGN(n) __attribute__((aligned(n)))
|
||||
#define rt_inline static __inline
|
||||
#define RTT_API
|
||||
@ -147,6 +149,23 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||
#define RTT_API
|
||||
#endif
|
||||
|
||||
/* initialization export */
|
||||
#ifdef RT_USING_COMPONENTS_INIT
|
||||
typedef int (*init_fn_t)(void);
|
||||
#define INIT_EXPORT(fn, level) \
|
||||
const init_fn_t __rt_init_##fn SECTION(".rti_fn."level) = fn
|
||||
#else
|
||||
#define INIT_EXPORT(fn, level)
|
||||
#endif
|
||||
|
||||
/* board init routines will be called in board_init() function */
|
||||
#define INIT_BOARD_EXPORT(fn) INIT_EXPORT(fn, "1")
|
||||
/* device/component/fs/app init routines will be called in init_thread */
|
||||
#define INIT_DEVICE_EXPORT(fn) INIT_EXPORT(fn, "2")
|
||||
#define INIT_COMPONENT_EXPORT(fn) INIT_EXPORT(fn, "3")
|
||||
#define INIT_FS_EXPORT(fn) INIT_EXPORT(fn, "4")
|
||||
#define INIT_APP_EXPORT(fn) INIT_EXPORT(fn, "5")
|
||||
|
||||
/* event length */
|
||||
#define RT_EVENT_LENGTH 32
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user