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.

[参考译文] F29H850TU:检测栈溢出以在 F29H850TU 上基于 FreeRTOS 的应用中实现系统陷阱的最佳方法

Guru**** 2551110 points
Other Parts Discussed in Thread: F29H850TU

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1547991/f29h850tu-best-approach-to-detecting-stack-overflow-for-implementing-system-traps-in-a-freertos-based-application-on-f29h850tu

器件型号:F29H850TU


工具/软件:

您好:

我目前正在研究设置栈溢出检测以在 F29H850TU 平台上实现系统陷阱的不同方法。

是否有有关此主题的指南或教程?

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

    尊敬的 Mrinali:

    为了检测 FreeRTOS 协议栈上的溢出、您可以使用内核提供的功能 、例如 configCHECK_for_stack_overflow 宏和协议栈溢出挂钩。 有关更多信息、请 参阅此页面上的 FreeRTOS 官方网站

    对于主系统软件栈(将在调度器启动之前使用,以及用于 INT)、您可以使用标准方法、例如向其填充已知值。 您还可以利用 ERAD IP 来检测栈溢出、可在中找到相关的示例代码  examples/driverlib/single_core/ERAD  F29H85x SDK 的文件夹。 (RTINT 具有内置的栈溢出警告系统、查看 WARNRTISP)

    此致、

    Arnav  

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

    感谢您分享链接 Arnav。 该链路主要解决基于 FreeRTOS 的检测问题。

     F29H850TU 中是否有能够启用栈溢出检测的基于硬件的机制(使用 SSU/ECC / MPU)?

    类似于某些 DSP 平台上的循环缓冲寄存器(允许栈溢出检测)?

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

    在基于硬件的解决方案方面、上述 ERAD IP 提供了一种直接检查堆栈溢出的方法。 有关这方面的更多信息、请参阅 TRM  

    SSU 是一个全面的安全子系统、可实现内存保护、代码隔离、调试和固件更新权限访问等功能 可能可以使用这些功能实现某种形式的溢出保护、但这 也意味着启用大多数其他功能安全和信息安全功能、因此除非明确需要、否则不建议在此用例中使用。

    此致、

    Arnav