This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
我有2个硬件中断启用了后置到二进制信标(一个频率为250Hz、另一个频率为25Hz、分别在 SPI 和 I2C 端口上运行)。 我的堆为0x2000、我已经尝试将 HWI 堆栈大小从1028增大到2048、但大约一分钟后、我的项目仍然在 Error_PolicyMin 处结束、但有一个例外。 我不确定如何解释下面的异常。
任务堆栈和 HWI 堆栈似乎用0xBE 填充。
我想我会尝试在这里用某种方向回答我自己的问题。
我仍然不理解的是任务是如何随着时间的推移而使用堆栈的。 随着时间的推移、我不会创建新变量(仅使用指针修改全局缓冲区)。 如果我想运行这个项目一年、我将如何开始估算我的 STACKSIZE? 了解堆栈是如何累积和渐近的将会有所帮助。
您好!
调试工作做得很好:)
如果应用程序工作正常(即代码正确)、则使用的堆栈不应无限期增加。 堆栈大小持续增长是内存损坏的迹象(可能是某些 malloc 未正确释放)。
在您的情况下、它看起来不像这样。 当堆叠溢出时、测量堆叠峰值的工具无法正常工作。 我建议使用适当的堆栈大小运行系统一段时间、看看您是否可以具有固定的堆栈峰值。
让我们及时了解最新信息!
此致、