-1
我在我的系统中使用了看门狗。如果它不在5秒内重新加载,它将被触发。我希望看到在看门狗复位之前完成的代码列表。没有连接的调试器可以)在我的代码中记录指令列表。STM32f429ZI在没有调试器的情况下记录调用堆栈
我在我的系统中使用了看门狗。如果它不在5秒内重新加载,它将被触发。我希望看到在看门狗复位之前完成的代码列表。没有连接的调试器可以)在我的代码中记录指令列表。STM32f429ZI在没有调试器的情况下记录调用堆栈
有几个做的方式:
对于您的问题,有一个简单但又稍贵的解决方案。 Cortex M4内核支持跟踪指令。因此,您需要检查跟踪信号是否路由到引脚(需要大型封装> 100个引脚),启动后启用跟踪,然后连接硬件跟踪器,这将记录内核执行的每个指令。
你在什么操作系统上?你为什么不试试'ptrace'?此外,您仍然需要调试符号来识别堆栈帧上的功能。如果您不希望调试器始终处于连接状态,则可以在看门狗触发后附加它。 –
欢迎来到Stack Overflow!请[编辑]您的问题以显示[迄今为止的代码](http://whathaveyoutried.com)。你至少应该包括一个你遇到问题的代码大纲(但最好是[mcve]),然后我们可以尝试帮助解决具体问题。你还应该阅读[问]。 –
您仍然可以添加显示器,例如'print(“Flag”);'知道您的代码在停止前的位置。 – Badda