设计了一种动态检测嵌入式软件堆栈溢出及使用量的方案,在不受堆栈溢出影响的定时器中断服务程序中,周期检测堆栈使用量,通过LED提示堆栈溢出深度。通过设置堆栈溢出缓冲区,在RAM 空间中隔离堆栈和全局变量分区,使得浅度堆栈溢出不影响系统正常运行,同时,堆栈溢出缓冲区保存了关键的上下文信息,将该信息存储在非易失性存储器中,运行一段时间后,通过专用工具读取非易失性存储器中的堆栈使用量数据和溢出上下文信息,分析异常位置,从而调整堆栈尺寸或者调整程序设计,以提高系统运行的稳定性。