微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

分析自使用GCC以来的最大堆栈消耗

如何解决分析自使用GCC以来的最大堆栈消耗

我使用FreeRTOS开发了用于微控制器的嵌入式应用程序(任何其他RTOS也可以使用)。 创建任务时,我需要提供要分配的堆栈数量

BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,const char * const pcName,/*lint !e971 Unqualified char types are allowed for strings and single characters only. */
                        const configSTACK_DEPTH_TYPE usstackDepth,void * const pvParameters,UBaseType_t uxPriority,TaskHandle_t * const pxCreatedTask )

此参数usstackDepth用于具有深度调用堆栈的任务/功能,我曾根据经验进行查找。
Keil MDK-ARM能够以HTML格式报告每个函数的最大堆栈深度。估计为每个任务分配多少堆栈非常方便。
因此,我很确定GCC也可以做到。但是如何?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。