摘要
C28x系列DSP是面向工业控制领域的一种嵌入式微控制器,其程序开发具有周期长、难度高、对调试工具依赖较大的特点.而栈回溯作为一种高效的程序调试机制,在C28xDSP的应用程序开发过程中具有极为重要的作用.现有的C28xDSP栈回溯调试机制是基于JTAG及IDE介入和暂停应用程序执行的被动栈回溯机制,由于很多工业控制场合往往无法提供JTAG介入的调试环境,因此这种机制的使用非常受限.本文设计了一种针对C28xDSP的主动栈回溯调试机制,它通过静态库集成于DSP应用程序中,通过注册异常中断来实现对应用程序错误的捕捉,通过堆栈内存分析、关键指令搜索、栈结构重建及符号表解析来实现无需JTAG和IDE介入的主动式栈回溯调试机制.经过试验测试,这种栈回溯调试机制不需要暂停正在执行的应用程序,同时能够提供与被动栈回溯机制相似的调试能力,具备较强的适应性,可广泛应用于调试手段受限的工业控制场合.