
FreeRTOS
人生为棋我愿为卒行动虽慢未曾后退
这个作者很懒,什么都没留下…
展开
-
FreeRTOS timer定时器源码分析
vTaskStartScheduler( ) xTimerCreateTimerTask(); /*创建一个后台守护任务*/ xTaskCreate( prvTimerTask, "Tmr Svc", ( uint16_t ) configTIMER_TASK_STACK_DEPTH, NULL, ( ( UBaseType_t ) con原创 2016-01-21 19:39:13 · 7658 阅读 · 0 评论 -
FreeRtos heap1源码分析
=============================== 博客点滴积累,部分话语和知识点来源于网络,感谢网络资源的提供者====== void *pvPortMalloc( size_t xWantedSize ) { void *pvReturn = NULL; static uint8_t *pucAlignedHeap = NULL; /* Ensure that原创 2016-01-22 16:54:31 · 840 阅读 · 0 评论 -
FreeRtos heap4源码分析
=============================== 博客点滴积累,部分话语和知识点来源于网络,感谢网络资源的提供者====== heap4 与heap2 比较相似,也是简单地实现了pvPortMalloc()和vPortFree(),不过对于释放的空闲内存碎片进行了合并,其他的细微区别会在代码说明的,这里只贴与heap2 不一样的地方 /* Assumes 8bit b原创 2016-01-28 17:38:31 · 1416 阅读 · 0 评论 -
FreeRtos heap2源码分析
=============================== 博客点滴积累,部分话语和知识点来源于网络,感谢网络资源的提供者====== heap2.c 是用的最佳匹配算法,通过一个链表,连接起所用的空闲块,当分配时,遍历链表,找到合适的块分配,如果空闲块较大,分配的字节比较小,就会将大块分为两块。当释放时,又将空闲的块插入链表,它不会进行相邻空闲块的合并,因此会造成一定的内存碎片 /*原创 2016-01-25 15:01:39 · 584 阅读 · 0 评论 -
FreeRtos heap3源码分析
=============================== 博客点滴积累,部分话语和知识点来源于网络,感谢网络资源的提供者====== void *pvPortMalloc( size_t xWantedSize ) { void *pvReturn; vTaskSuspendAll(); { pvReturn = malloc( xWantedSize );原创 2016-01-26 19:06:45 · 815 阅读 · 0 评论 -
FreeRtos heap5源码分析
=============================== 博客点滴积累,部分话语和知识点来源于网络,感谢网络资源的提供者====== heap5 与heap4 比较相似,也是实现了malloc和free,同时可以进行碎片合并。有的区别是heap5 可以有多个堆区,static void prvHeapInit( void ) 被换成void vPortDefineHeapRegio原创 2016-01-29 18:54:00 · 2265 阅读 · 0 评论