* the RT_HEAP_SIZE max value = (sram size - ZI size), 1024 means 1024 bytes */ #define RT_HEAP_SIZE (20*1024) static rt_uint8_t rt_heap[RT_HEAP_SIZE]; RT_WEAK void *rt_heap_begin_get(void) { return rt_heap; } RT_WEAK void *rt_heap_end_get(void) { return rt_heap +...
ASSERT((STACK_SIZE + HEAP_SIZE) <= 256K, "stack and heap total size larger than 256k")} 由于使用的是 gcc 编译工具链,这里格式按照 gcc的格式来编写和修改;如果使用的是SES的开发工具链,这套链接文件应该无法正常使用。本文来自博客园,作者:求隐,转载请注明原文链接:https://www.cnblogs.com/du...
void *rt_page_alloc(rt_size_t npages) void rt_page_free(void *addr, rt_size_t npages) static void rt_page_init(void *addr, rt_size_t npages) void rt_system_heap_init(void *begin_addr, void *end_addr) void *rt_malloc(rt_size_t size) void rt_free(void *ptr) 这里面有个rt_...
extern int Image$$RW_IRAM1$$ZI$$Limit; #define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit) #elif __ICCARM__ #pragma section="HEAP" #define HEAP_BEGIN (__segment_end("HEAP")) #else extern int __bss_end; #define HEAP_BEGIN (&__bss_end) #endif #define SRAM_SIZE 8 #define SR...
rt_thread_create()创建一个动态线程,使用rt_thread_init()初始化一个静态线程,动态线程与静态线程的区别是:动态线程是系统自动从动态内存堆上分配栈空间与线程句柄(初始化 heap 之后才能使用 create 创建动态线程),静态线程是由用户分配栈空间与线程句柄。
RT_USING_HEAP该宏决定了是否使用动态创建,如果没有初始化heap,那么类似动态创建线程函数是不能被使用的,还有就是类似rt_malloc的动态分配。 首先看看初始化传入的两个参数:HEAP_BEGIN、HEAP_END,具体定义在board.h中 #defineSTM32_FLASH_START_ADRESS ((uint32_t)0x08000000)#defineSTM32_FLASH_SIZE (512 * ...
1.将准备工作(包括创建线程)都做好后,启动RTOS调度器 2.先创建一个启动线程并启动RTOS调度器,在...
#define HEAP_BEGIN (&__bss_end) #endif #define SRAM_SIZE 8 #define SRAM_END (0x20000000 + SRAM_SIZE * 1024) /** * This function will initial STM32 board. */ void rt_hw_board_init() { // rtthread tick configuration // 2. Configure rtos tick and interrupt ...
rt_thread_create()创建一个动态线程,使用rt_thread_init()初始化一个静态线程,动态线程与静态线程的区别是:动态线程是系统自动从动态内存堆上分配栈空间与线程句柄(初始化 heap 之后才能使用 create 创建动态线程),静态线程是由用户分配栈空间与线程句柄。
rt_system_heap_init((void*)HEAP_BEGIN,(void*)HEAP_END);#define HEAP_BEGIN((void*)&__bss_end)#define HEAP_END STM32_SRAM1_END #define STM32_SRAM1_END RAM_END #define RAM_START(0x20000000)#define RAM_SIZE(128*1024)#define RAM_END(RAM_START+RAM_SIZE) ...