diff --git a/rt-thread-version/rt-thread-standard/api-released-log/kernel-api-released-log.md b/rt-thread-version/rt-thread-standard/api-released-log/kernel-api-released-log.md index ea2695939cc831217413822a3702266caff17a93..772031d4bbacb9c87ef24a436b82686e28df1647 100644 --- a/rt-thread-version/rt-thread-standard/api-released-log/kernel-api-released-log.md +++ b/rt-thread-version/rt-thread-standard/api-released-log/kernel-api-released-log.md @@ -4,8 +4,6 @@ 注:暂未包含 SMP 相关的接口,日志内容含:API 增加、API 删除、API 变更。 -## new version - ## 5.0.1 #### API 增加: @@ -25,7 +23,7 @@ rt_err_t rt_thread_get_name(rt_thread_t thread, char *name, rt_uint8_t name_size ```c /* ----- ipc.c ----- */ -/* 消息队列相关 API 返回值类型更新,由 rt_err_t 改为 rt_ssize_t */ +/* 消息队列接收相关的 API 返回值类型更新,由 rt_err_t(接收成功/失败) 改为 rt_ssize_t(接收的实际消息大小) */ rt_ssize_t rt_mq_recv(rt_mq_t mq, void *buffer, rt_size_t size, @@ -63,7 +61,6 @@ rt_err_t rt_mq_recv_killable(rt_mq_t mq, #### API 增加: - ```c /* ----- device.c ----- */ // #ifdef RT_USING_DM @@ -183,7 +180,11 @@ const char *rt_strerror(rt_err_t error) /* 4.1.1-beta */ ## 4.1.0 -- 整理内存相关的文件以及 API +整理内存相关的文件以及 API,将用户使用的内存 API 统一放入 kservice.c 中。具体为: + +用户在使用内存相关的 API 时,一般是 mem.c(small mem),memheap.c 以及 slab.c 这三种管理算法三选一,这 3 个文件提供给用户的 API 是相同的。4.1.0 将这 3 个文件中提供给用户的 API 统一放入 kservice.c 中完成。 + +在 kservice.c 中提供内存管理算法 API(如 rt_system_heap_init, rt_malloc, rt_free 等),并加 RT_WEAK 修饰,以便用户选择外部内存管理算法。 #### API 增加: @@ -196,65 +197,23 @@ void rt_tick_sethook(void (*hook)(void)) /* 4.1.0 */ char *rt_strcpy(char *dst, const char *src) /* 4.1.0 */ void rt_malloc_sethook(void (*hook)(void *ptr, rt_size_t size)) /* 4.1.0 */ void rt_free_sethook(void (*hook)(void *ptr)) /* 4.1.0 */ -RT_WEAK void rt_system_heap_init(void *begin_addr, void *end_addr) /* 4.1.0 */ -RT_WEAK void *rt_malloc(rt_size_t size) /* 4.1.0 */ -RT_WEAK void *rt_realloc(void *rmem, rt_size_t newsize) /* 4.1.0 */ -RT_WEAK void *rt_calloc(rt_size_t count, rt_size_t size) /* 4.1.0 */ -RT_WEAK void rt_free(void *rmem) /* 4.1.0 */ -RT_WEAK void rt_memory_info(rt_size_t *total, - rt_size_t *used, - rt_size_t *max_used) /* 4.1.0 */ void *rt_page_alloc(rt_size_t npages) /* 4.1.0 */ void rt_page_free(void *addr, rt_size_t npages) /* 4.1.0 */ -/* ----- mem.c ----- */ -rt_smem_t rt_smem_init(const char *name, - void *begin_addr, - rt_size_t size) /* 4.1.0 */ -rt_err_t rt_smem_detach(rt_smem_t m) /* 4.1.0 */ -void *rt_smem_alloc(rt_smem_t m, rt_size_t size) /* 4.1.0 */ -void *rt_smem_realloc(rt_smem_t m, void *rmem, rt_size_t newsize) /* 4.1.0 */ -void rt_smem_free(void *rmem) /* 4.1.0 */ -void rt_memheap_info(struct rt_memheap *heap, - rt_size_t *total, - rt_size_t *used, - rt_size_t *max_used) /* 4.1.0 */ - - /* ----- memheap.c ----- */ void rt_memheap_info(struct rt_memheap *heap, rt_size_t *total, rt_size_t *used, rt_size_t *max_used) /* 4.1.0 */ - - -/* ----- slab.c ----- */ -rt_err_t rt_slab_detach(rt_slab_t m) /* 4.1.0 */ ``` #### API 删除: ```c -/* ----- mem.c ----- */ -void rt_malloc_sethook(void (*hook)(void *ptr, rt_size_t size)) /* 4.1.0 delete*/ -void rt_free_sethook(void (*hook)(void *ptr)) /* 4.1.0 delete*/ -rt_err_t rt_smem_detach(rt_smem_t m) /* 4.1.0 delete*/ -void *rt_calloc(rt_size_t count, rt_size_t size) /* 4.1.0 delete*/ -void rt_memory_info(rt_uint32_t *total, - rt_uint32_t *used, - rt_uint32_t *max_used) /* 4.1.0 delete*/ - - /* ----- thread.c ----- */ void rt_thread_timeout(void *parameter) /* 4.1.0 delete*/ - -/* ----- slab.c ----- */ -void *rt_calloc(rt_size_t count, rt_size_t size) -void rt_memory_info(rt_uint32_t *total, - rt_uint32_t *used, - rt_uint32_t *max_used) /* 4.1.0 delete*/ ``` #### API 变更: @@ -298,40 +257,15 @@ RT_WEAK int rt_kprintf(const char *fmt, ...) /* 4.1.0 */ RT_WEAK void rt_kprintf(const char *fmt, ...) /* 4.0.4 */ -/* ----- mem.c ----- */ -rt_smem_t rt_smem_init(const char *name, - void *begin_addr, - rt_size_t size) /* 4.1.0 */ -void rt_system_heap_init(void *begin_addr, void *end_addr) /* 4.0.4 */ - -void *rt_smem_alloc(rt_smem_t m, rt_size_t size) /* 4.1.0 */ -void *rt_malloc(rt_size_t size) /* 4.0.4 */ - -void *rt_smem_realloc(rt_smem_t m, void *rmem, rt_size_t newsize) /* 4.1.0 */ -void *rt_realloc(void *rmem, rt_size_t newsize) /* 4.0.4 */ - -void rt_smem_free(void *rmem) /* 4.1.0 */ -void rt_free(void *rmem) /* 4.0.4 */ - - -/* ----- slab.c ----- */ -rt_slab_t rt_slab_init(const char *name, void *begin_addr, rt_size_t size) /* 4.1.0 */ -void rt_system_heap_init(void *begin_addr, void *end_addr) /* 4.0.4 */ - -void *rt_slab_page_alloc(rt_slab_t m, rt_size_t npages) /* 4.1.0 */ -void *rt_page_alloc(rt_size_t npages) /* 4.0.4 */ - -void rt_slab_page_free(rt_slab_t m, void *addr, rt_size_t npages) /* 4.1.0 */ -void rt_page_free(void *addr, rt_size_t npages) /* 4.0.4 */ - -void *rt_slab_alloc(rt_slab_t m, rt_size_t size) /* 4.1.0 */ -void *rt_malloc(rt_size_t size) /* 4.0.4 */ - -void *rt_slab_realloc(rt_slab_t m, void *ptr, rt_size_t size) /* 4.1.0 */ -void *rt_realloc(void *ptr, rt_size_t size) /* 4.0.4 */ - -void rt_slab_free(rt_slab_t m, void *ptr) /* 4.1.0 */ -void rt_free(void *ptr) /* 4.0.4 */ +/* ----- 以下内存相关 API 增加 RT_WEAK 修饰,以便用户使用外部内存管理算法 ----- */ +RT_WEAK void rt_system_heap_init(void *begin_addr, void *end_addr) /* 4.1.0 */ +RT_WEAK void *rt_malloc(rt_size_t size) /* 4.1.0 */ +RT_WEAK void *rt_realloc(void *rmem, rt_size_t newsize) /* 4.1.0 */ +RT_WEAK void *rt_calloc(rt_size_t count, rt_size_t size) /* 4.1.0 */ +RT_WEAK void rt_free(void *rmem) /* 4.1.0 */ +RT_WEAK void rt_memory_info(rt_size_t *total, + rt_size_t *used, + rt_size_t *max_used) /* 4.1.0 */ ``` ## 4.0.4