求助:关于stm32单片机freertos任务中申请内存的问题

2019-12-09 20:01发布

本帖最后由 ma_xiang 于 2019-10-30 18:07 编辑

请问一下,1图和2图使用的内存是占用了哪一个存储空间
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
ma_xiang
1楼-- · 2019-12-10 18:52
azeng 发表于 2019-10-31 09:30
这个取决于你移植的系统使用的heap实现。 heap_1.c heap_2.c heap_3.c heap_4.c ,楼主用的哪个呢? ...

我用的是heap4
azeng
2楼-- · 2019-12-10 22:50
ma_xiang 发表于 2019-10-31 09:38
我用的是heap4

/*
* A sample implementation of pvPortMalloc() and vPortFree() that combines
* (coalescences) adjacent memory blocks as they are freed, and in so doing
* limits memory fragmentation.
*
* See heap_1.c, heap_2.c and heap_3.c for alternative implementations, and the
* memory management pages of http://www.FreeRTOS.org for more information.
*/


/* Allocate the memory for the heap. */
#if( configAPPLICATION_ALLOCATED_HEAP == 1 )
        /* The application writer has already defined the array used for the RTOS
        heap - probably so it can be placed in a special segment or address. */
        extern uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
#else
        static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];
#endif /* configAPPLICATION_ALLOCATED_HEAP */


都是开源的了,啥问题都是可以找到嘛,既不是heap也不是stack,是个静态数组。
ma_xiang
3楼-- · 2019-12-11 01:37
azeng 发表于 2019-10-31 09:53
/*
* A sample implementation of pvPortMalloc() and vPortFree() that combines
* (coalescences) ad ...

好的 谢谢  
cloudboy
4楼-- · 2019-12-11 04:35
 精彩回答 2  元偷偷看……
cloudboy
5楼-- · 2019-12-11 07:51
ma_xiang 发表于 2019-10-31 08:10
感谢,请问图4中freertos申请的stack和heap占的是单片机哪部分空间,应该不是图3中规划出的空间吧 ...

heap4是不会用startup里面定义的空间的,startup里面的heap是C库自己的malloc函数所需的空间

一周热门 更多>