查看kservice.c文件,实际可以通过rtconfig.h中的宏定义来控制内存分配的实现方式,这里指定RT_USING_SMALL_MEM_AS_HEAP作为内存分配方式,将这个宏添加到rtconfig.h中宏定义。 /* Memory Management */#defineRT_USING_MEMPOOL#defineRT_USING_SMALL_MEM#defineRT_USING_HEAP#defineRT_USING_SMALL_MEM_AS_HEAP/* ...
在工程目录下创建RT-Thread目录,并创libcpu目录和bsp目录 将rt-thread-v4.1.1中的include和src文件夹拷贝进RT-Thread 将rt-thread-v4.1.1 libcpu\arm中的cortex-m3文件夹拷贝进RT-Thread\libcpu 在RT-Thread\bsp下创建board.c 在RT-Thread下创建rtconfig.h 3.添加到工程 新建RT-Thread组 添加RT-Thread\src...
RT_USING_SMALL_MEM_AS_HEAP RT_USING_MEMHEAP_AS_HEAP RT_USING_SLAB_AS_HEAP 应该是宏最终这样被...
rt_uint8_t thread[8]; /< thread name */ #else rt_uint8_t thread[4]; /< thread name/ #endif /ARCH_CPU_64BIT/ #endif /RT_USING_MEMTRACE */ }; 内存管理算法的初始化和删除比较简单,主要是对rt_small_mem和第一个内存块的初始化,以及对内核对象的操作。 内存管理的表现主要体现在...
_smem_setname(mem2," ");#endif/* RT_USING_MEMTRACE *///设置当前信息块的下一个为pt2/* and insert it between mem and mem->next */mem->next = ptr2;//如果不是初始时候的第一块那需要把end of heap的pre指向ptr2if(mem2->next != small_mem->mem_size_aligned + SIZEOF_STRUCT_MEM)...
#include <rtthread.h> #if defined (RT_USING_SMALL_MEM) /** * memory item on the small mem */ #define DBG_TAG "kernel.mem" #define DBG_LVL DBG_INFO #include <rtdbg.h> struct rt_small_mem_item { rt_ubase_t pool_ptr; /**< small memory object addr */ Expand Down Expand Up...
#define RT_USING_HEAP /* Using Small MM--是否使用小存储容量的片子的功能,用效率来换空间的意思*...
该板级支持包主要是针对**ARM架构的大核**实现的一份移植,支持RT-Thread标准版和Smart版内核。 ## 2. 编译说明 推荐使用ubuntu20的[env环境](https://github.com/RT-Thread/env),当然也可以使用windows上的[env工具](https://www.rt-thread.org/download.html#download-rt-thread-env-tool)进行编译。下面...
/* Inter-Thread communication */ #define RT_USING_SEMAPHORE #define RT_USING_MUTEX #define RT_USING_EVENT #define RT_USING_MAILBOX #define RT_USING_MESSAGEQUEUE #define RT_USING_SIGNALS /* Memory Management */ #define RT_USING_MEMPOOL #define RT_USING_SMALL_MEM #define RT_...
准备工作都已经做好了,接下来可以开始RT-Thread的移植了。 将rt-thread整个文件夹拷贝到我们的工程目录下,为了工程的精简,我们可以删掉一些我们不需要的文件。 将RT-Thread添加到我们的工程中。 添加头文件路径 移植RT-Thread,我们主要需要修改的是board.c和rtconfig.h这两个文件,board.c主要是配置系统时钟和OS_T...