前言
之前在调试过程中出现过进Os_Cbk_StackOverrunHook导致程序卡死的情况,当时是把task中的OsTaskStackAllocation改大之后就好了。当时不太清楚原理。所以有了本文。
Autosar OS中支持对stack的监控,但是只在stack溢出时触发hook函数。OS中的二类中断和TASK stack的使用量可以通过API进行读取。本文介绍OS配置及代码实现。
OS配置
OsOS
OsStackMonitoring:选择是否开启task/二类中断的stack监控,此处配置为true
OsTask
OsTaskStackAllocation:配置task允许的最大stack,单位为byte,若不配置,默认为最大值4294967295U
示例如下: