freerots系统ram使用说明:
1、xTaskCreate函数的usStackDepth参数(单位:字,32位系统一个字等于4个字节)是指系统预留的内存里面申请ram1(堆内存),ram1给任务的栈使用,栈里面存储的内容包括:当前函数上面的调用者的各个有意义的数据(即所谓的嵌套函数),如果发生任务切换,当前函数的局部变量(还有意义的数据:包括已运行的还有生存期的动态局部变量)、当前运行任务的寄存器(32位)、函数形参。
2、任务运行所需的堆内存除上述usStackDepth外直接从系统预留的ram(堆内存)里面取,使用场景包括主要分为队列(队列也包括信号量)和定时器、和无系统组件参与的用户场景(用户自己调用heap相关的函数申请内存);
3、优化栈内存的依据(从freertos的文件截取而来):
xTaskGetSystemState:vTaskGetInfo:TaskStatus_t pxTaskStatus->usStackHighWaterMark