FreeRTOS内存管理实现
2024-01-09FreeRTOS是一个为嵌入式系统设计的开源实时操作系统。它提供了一个多任务内核和一系列功能,适合在资源受限的设备上管理实时任务和应用程序。FreeRTOS内存管理的关键方面之一是堆管理。 FreeRTOS使用动态内存分配方案来管理堆内存,这里的堆是指在运行时候用于动态内存分配的内存区域。FreeRTOS中的堆内存管理负责为任务、队列、信号量和其他数据结构分配内存块。 使用FreeRTOS时,开发人员可以根据其应用的要求选择堆内存管理方案。FreeRTOS提供了几个堆内存管理实现,包括: 1、
FreeRTOS中osDelay和HAL_Delay的区别
2024-01-09问题场景 在FreeRTOS中创建了线程A、线程B,其中线程A优先级大于线程B。线程A、B任务代码如下: void A(void *argument){while (1){printf("A\r\n");HAL_Delay(1000);}}void B(void *argument){while (1){printf("B\r\n");HAL_Delay(1000);}} 烧录程序后查看串口数据发现只打印了A而不打印B,说明只执行了A线程没有执行B线程。 问题原因 HAL_Delay是由ST提