嗨,支持,
我遇到了一个问题的设计,我正在工作,我想使用看门狗定时器来尝试和恢复。是否有描述看门狗定时器和NMI的文档?谢谢。
你好戴夫,
你可以找到一些信息的敝中断和Hardfault处理程序- b - 051第七节,因为你在DEVELOPMENT_DEBUG敝中断处理程序将保存的状态proccessor为了用户调试,如果你不是在DEVELOPMENT_DEBUG da将重置和引导rom将执行。
由于MT_dialog
我查看了UM-B051的7.2.5.2节中的信息,需要一点澄清。从这部分:
在开发调试模式下,定义了ASSERT_ERROR()和ASSERT_WARNING()宏断点。一旦发现错误情况,程序将停止,用户可以附加调试器并找出导致错误的原因"
我正在经历的问题似乎发生在我使用扩展睡眠模式时。如果我在DEVELOPMENT_DEBUG中使用了看门狗定时器,在发生NMI时,我是否能够连接调试器?因为它是现在的代码不会运行时,扩展睡眠是启用和调试会话打开在keil uVision 5。有没有一种方法来恢复keil中的调试会话?
当操作在扩展睡眠和看门狗定时器结束时,DEBUG模块被NMI处理器打开,处理器的寄存器也存储在地址0x81850(或硬故障处理器的0x81800)。如果你的程序在NMI中停止了,你可以重新连接调试器,以检查PC计数器,并找出导致程序崩溃的原因。
为了重新加载调试器,你要做以下操作:
1)创建一个项目xxx的副本。uvproject在你的项目的应用程序文件夹中。
2)打开这个新项目,进入项目选项,在调试选项卡中执行以下操作。
3)禁用在启动时加载应用程序复选框,并擦除初始化文件中的链接。
4)点击调试器的设置,禁用连接后复位复选框。
5)单击“确定”,关闭项目选项。
现在,当问题发生时,你可以运行这个新项目,以便重新附加调试器,并读取我前面提到的内存位置(在内存窗口中选择unsigned long视图)。您可以在内存视图中找到第7个无符号长数字的程序计数器。
谢谢,这正是我需要的。
你好戴夫,
你可以找到一些信息的敝中断和Hardfault处理程序- b - 051第七节,因为你在DEVELOPMENT_DEBUG敝中断处理程序将保存的状态proccessor为了用户调试,如果你不是在DEVELOPMENT_DEBUG da将重置和引导rom将执行。
由于MT_dialog
我查看了UM-B051的7.2.5.2节中的信息,需要一点澄清。从这部分:
在开发调试模式下,定义了ASSERT_ERROR()和ASSERT_WARNING()宏
断点。一旦发现错误情况,程序将停止,用户可以附加
调试器并找出导致错误的原因"
我正在经历的问题似乎发生在我使用扩展睡眠模式时。如果我在DEVELOPMENT_DEBUG中使用了看门狗定时器,在发生NMI时,我是否能够连接调试器?因为它是现在的代码不会运行时,扩展睡眠是启用和调试会话打开在keil uVision 5。有没有一种方法来恢复keil中的调试会话?
你好戴夫,
当操作在扩展睡眠和看门狗定时器结束时,DEBUG模块被NMI处理器打开,处理器的寄存器也存储在地址0x81850(或硬故障处理器的0x81800)。如果你的程序在NMI中停止了,你可以重新连接调试器,以检查PC计数器,并找出导致程序崩溃的原因。
为了重新加载调试器,你要做以下操作:
1)创建一个项目xxx的副本。uvproject在你的项目的应用程序文件夹中。
2)打开这个新项目,进入项目选项,在调试选项卡中执行以下操作。
3)禁用在启动时加载应用程序复选框,并擦除初始化文件中的链接。
4)点击调试器的设置,禁用连接后复位复选框。
5)单击“确定”,关闭项目选项。
现在,当问题发生时,你可以运行这个新项目,以便重新附加调试器,并读取我前面提到的内存位置(在内存窗口中选择unsigned long视图)。您可以在内存视图中找到第7个无符号长数字的程序计数器。
由于MT_dialog
谢谢,这正是我需要的。