
FreeRTOS
咕噜咕噜斯基haha
江苏大学机械研究生,业余编程
展开
-
FreeRTOS使用printf输出浮点数时进入HardFault硬件错误
问题描述在FreeRTOS中定义了一个任务,打印浮点数。/*! \brief LogPrint Func Runing \param[in] none \param[out] none \retval none*/static void LogPrint(void){ float i=3.1415f; int b=10; while(1) { vTaskDelay(1000); printf("\r\nLogPrinting原创 2022-04-23 11:16:35 · 1530 阅读 · 0 评论 -
FreeRTOS五种内存管理方案比较
FreeRTOS五种内存管理方案比较(heap_1.c/heap_2.c/heap_3.c/heap_4.c/heap_5.c)FreeRTOS为SRAM的管理提供了五种方案。下表是五种方案的比较heap_1.cheap_2.cheap_3.cheap_4.cheap_5.c只申请内存不进行释放,申请内存的时间是个常量采用最佳匹配算法,支持释放内存,但是不能把相邻的小块内存合并。通过链表按照内存块大小进行排列。configTOTAL_HEAP_SIZE不起作用,只是对m原创 2022-03-05 18:39:22 · 617 阅读 · 0 评论 -
FreeRTOS进入函数prvStartFirstTask() 启动SVC后进入HardFault死循环
FreeRTOS进入函数prvStartFirstTask() 启动SVC后进入HardFault死循环原因:在初始化串口时为串口中断配置的NVIC与FreeRTOS的优先级设置冲突解决方法:设置USART的中断分组为,主优先级为4位,副优先级为0位即可!!这是修改前的代码://使能发送和接收usart_transmit_config(UART_Periph,USART_TRANSMIT_ENABLE);usart_receive_config(UART_Periph,USART_RECEIVE原创 2022-03-01 21:58:07 · 4242 阅读 · 1 评论 -
【FreeRTOS开发问题】FreeRTOS内存溢出
FreeRTOS内存溢出如下图所示,FreeRTOS编译完成后可以看到,系统提示无法分配内存到堆。.\Objects\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching heap_4.o(.bss)..\Objects\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matc原创 2022-03-01 20:09:44 · 3330 阅读 · 1 评论