From 99f57bcd007281ea1df67c984c12988754330c31 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Fri, 28 May 2021 22:46:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[kernel]=20rtthread.h=20=E5=A2=9E=E5=8A=A0#?= =?UTF-8?q?ifdef=20RT=5FUSING=5FHEAP=20=E9=A2=84=E7=BC=96=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/rtthread.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/include/rtthread.h b/include/rtthread.h index 784b208a76..ef01c3e396 100644 --- a/include/rtthread.h +++ b/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, From 393d7f44790f9ccdc00bdff56434030160d196f7 Mon Sep 17 00:00:00 2001 From: Meco Jianting Man <920369182@qq.com> Date: Sat, 29 May 2021 16:37:52 +0800 Subject: [PATCH 2/2] [revert] remove rt_thread_exit --- include/rtthread.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/rtthread.h b/include/rtthread.h index ef01c3e396..1e4b4c5b8d 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -151,7 +151,6 @@ 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