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.

[参考译文] TMS570LS3137:如何实现和检查 TMS570LS3137的堆栈溢出

Guru**** 2540650 points
Other Parts Discussed in Thread: HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165580/tms570ls3137-how-to-implement-and-check-stack-overflow-for-tms570ls3137

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

您好!

我想实施 并测试堆栈溢出。

我需要做什么?  

请帮助。

此致、

罗尼。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rohini、

    您可以在 CCS Studio 中轻松找到每个函数所使用的堆栈数量、而不是实施单独的算法。

    在 CCS 中有一个名为"Stack Usage"的窗口、其中将显示每个函数使用的堆栈。

    忽略此处的颜色存在颜色错误  
    (+) CCS/TMS320F280049:CCS 的堆栈使用如何判断生成色块(黄色、绿色等)- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛

    但是、您可以使用 HALCoGen 配置的值来验证堆栈利用的最大函数值、以找出堆栈溢出

    例如、在上述情况 下、gioHighLevelInterrupt 和 gioLowLevelInterrupt IRQ 中断函数会消耗112字节的堆栈;对于 IRQ、我们在 HALCoGen 中配置了0x100 (256B)的堆栈、这是分配的堆栈的43%、因此没有溢出问题。
    同样、对于正常函数(抖动 IRQ 或 FIQ)、您可以将值与用户堆栈长度进行比较。

    --

    谢谢、此致、

    Jagadish。