فهرست منبع

[kernel] rtthread.h 增加#ifdef RT_USING_HEAP 预编译

Meco Man 3 سال پیش
والد
کامیت
99f57bcd00
1فایلهای تغییر یافته به همراه22 افزوده شده و 2 حذف شده
  1. 22 2
      include/rtthread.h

+ 22 - 2
include/rtthread.h

@@ -48,9 +48,11 @@ void rt_object_init(struct rt_object         *object,
                     enum rt_object_class_type type,
                     const char               *name);
 void rt_object_detach(rt_object_t object);
+#ifdef RT_USING_HEAP
 rt_object_t rt_object_allocate(enum rt_object_class_type type,
                                const char               *name);
 void rt_object_delete(rt_object_t object);
+#endif
 rt_bool_t rt_object_is_systemobject(rt_object_t object);
 rt_uint8_t rt_object_get_type(rt_object_t object);
 rt_object_t rt_object_find(const char *name, rt_uint8_t type);
@@ -90,12 +92,14 @@ void rt_timer_init(rt_timer_t  timer,
                    rt_tick_t   time,
                    rt_uint8_t  flag);
 rt_err_t rt_timer_detach(rt_timer_t timer);
+#ifdef RT_USING_HEAP
 rt_timer_t rt_timer_create(const char *name,
                            void (*timeout)(void *parameter),
                            void       *parameter,
                            rt_tick_t   time,
                            rt_uint8_t  flag);
 rt_err_t rt_timer_delete(rt_timer_t timer);
+#endif
 rt_err_t rt_timer_start(rt_timer_t timer);
 rt_err_t rt_timer_stop(rt_timer_t timer);
 rt_err_t rt_timer_control(rt_timer_t timer, int cmd, void *arg);
@@ -128,17 +132,18 @@ rt_err_t rt_thread_init(struct rt_thread *thread,
                         rt_uint8_t        priority,
                         rt_uint32_t       tick);
 rt_err_t rt_thread_detach(rt_thread_t thread);
+#ifdef RT_USING_HEAP
 rt_thread_t rt_thread_create(const char *name,
                              void (*entry)(void *parameter),
                              void       *parameter,
                              rt_uint32_t stack_size,
                              rt_uint8_t  priority,
                              rt_uint32_t tick);
+rt_err_t rt_thread_delete(rt_thread_t thread);
+#endif
 rt_thread_t rt_thread_self(void);
 rt_thread_t rt_thread_find(char *name);
 rt_err_t rt_thread_startup(rt_thread_t thread);
-rt_err_t rt_thread_delete(rt_thread_t thread);
-
 rt_err_t rt_thread_yield(void);
 rt_err_t rt_thread_delay(rt_tick_t tick);
 rt_err_t rt_thread_delay_until(rt_tick_t *tick, rt_tick_t inc_tick);
@@ -146,6 +151,7 @@ rt_err_t rt_thread_mdelay(rt_int32_t ms);
 rt_err_t rt_thread_control(rt_thread_t thread, int cmd, void *arg);
 rt_err_t rt_thread_suspend(rt_thread_t thread);
 rt_err_t rt_thread_resume(rt_thread_t thread);
+void rt_thread_exit(void);
 void rt_thread_timeout(void *parameter);
 
 #ifdef RT_USING_SIGNALS
@@ -228,10 +234,12 @@ rt_err_t rt_mp_init(struct rt_mempool *mp,
                     rt_size_t          size,
                     rt_size_t          block_size);
 rt_err_t rt_mp_detach(struct rt_mempool *mp);
+#ifdef RT_USING_HEAP
 rt_mp_t rt_mp_create(const char *name,
                      rt_size_t   block_count,
                      rt_size_t   block_size);
 rt_err_t rt_mp_delete(rt_mp_t mp);
+#endif
 
 void *rt_mp_alloc(rt_mp_t mp, rt_int32_t time);
 void rt_mp_free(void *block);
@@ -303,8 +311,10 @@ rt_err_t rt_sem_init(rt_sem_t    sem,
                      rt_uint32_t value,
                      rt_uint8_t  flag);
 rt_err_t rt_sem_detach(rt_sem_t sem);
+#ifdef RT_USING_HEAP
 rt_sem_t rt_sem_create(const char *name, rt_uint32_t value, rt_uint8_t flag);
 rt_err_t rt_sem_delete(rt_sem_t sem);
+#endif
 
 rt_err_t rt_sem_take(rt_sem_t sem, rt_int32_t time);
 rt_err_t rt_sem_trytake(rt_sem_t sem);
@@ -318,8 +328,10 @@ rt_err_t rt_sem_control(rt_sem_t sem, int cmd, void *arg);
  */
 rt_err_t rt_mutex_init(rt_mutex_t mutex, const char *name, rt_uint8_t flag);
 rt_err_t rt_mutex_detach(rt_mutex_t mutex);
+#ifdef RT_USING_HEAP
 rt_mutex_t rt_mutex_create(const char *name, rt_uint8_t flag);
 rt_err_t rt_mutex_delete(rt_mutex_t mutex);
+#endif
 
 rt_err_t rt_mutex_take(rt_mutex_t mutex, rt_int32_t time);
 rt_err_t rt_mutex_release(rt_mutex_t mutex);
@@ -332,8 +344,10 @@ rt_err_t rt_mutex_control(rt_mutex_t mutex, int cmd, void *arg);
  */
 rt_err_t rt_event_init(rt_event_t event, const char *name, rt_uint8_t flag);
 rt_err_t rt_event_detach(rt_event_t event);
+#ifdef RT_USING_HEAP
 rt_event_t rt_event_create(const char *name, rt_uint8_t flag);
 rt_err_t rt_event_delete(rt_event_t event);
+#endif
 
 rt_err_t rt_event_send(rt_event_t event, rt_uint32_t set);
 rt_err_t rt_event_recv(rt_event_t   event,
@@ -354,8 +368,10 @@ rt_err_t rt_mb_init(rt_mailbox_t mb,
                     rt_size_t    size,
                     rt_uint8_t   flag);
 rt_err_t rt_mb_detach(rt_mailbox_t mb);
+#ifdef RT_USING_HEAP
 rt_mailbox_t rt_mb_create(const char *name, rt_size_t size, rt_uint8_t flag);
 rt_err_t rt_mb_delete(rt_mailbox_t mb);
+#endif
 
 rt_err_t rt_mb_send(rt_mailbox_t mb, rt_ubase_t value);
 rt_err_t rt_mb_send_wait(rt_mailbox_t mb,
@@ -376,11 +392,13 @@ rt_err_t rt_mq_init(rt_mq_t     mq,
                     rt_size_t   pool_size,
                     rt_uint8_t  flag);
 rt_err_t rt_mq_detach(rt_mq_t mq);
+#ifdef RT_USING_HEAP
 rt_mq_t rt_mq_create(const char *name,
                      rt_size_t   msg_size,
                      rt_size_t   max_msgs,
                      rt_uint8_t  flag);
 rt_err_t rt_mq_delete(rt_mq_t mq);
+#endif
 
 rt_err_t rt_mq_send(rt_mq_t mq, const void *buffer, rt_size_t size);
 rt_err_t rt_mq_send_wait(rt_mq_t     mq,
@@ -435,8 +453,10 @@ rt_err_t rt_device_register(rt_device_t dev,
                             rt_uint16_t flags);
 rt_err_t rt_device_unregister(rt_device_t dev);
 
+#ifdef RT_USING_HEAP
 rt_device_t rt_device_create(int type, int attach_size);
 void rt_device_destroy(rt_device_t device);
+#endif
 
 rt_err_t
 rt_device_set_rx_indicate(rt_device_t dev,