嗨,支持,
我遇到了一个问题,我正在工作的设计,我想用看门狗定时器尝试和恢复。有没有描述看门狗定时器和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中的调试会话?
当运行在延长睡眠和watchdog定时器经过调试模块被NMI处理程序打开,处理器的寄存器也被存储在地址0x81850(或到0x81800由硬故障处理程序)。如果你的程序在NMI中停止了,你可以重新连接调试器以检查PC计数器并找出导致程序崩溃的原因。
为了重新连接调试器,你要执行以下操作:
1)创建一个项目xxx的副本。Uvprojx在你的项目的应用程序文件夹。
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中的调试会话?
你好戴夫,
当运行在延长睡眠和watchdog定时器经过调试模块被NMI处理程序打开,处理器的寄存器也被存储在地址0x81850(或到0x81800由硬故障处理程序)。如果你的程序在NMI中停止了,你可以重新连接调试器以检查PC计数器并找出导致程序崩溃的原因。
为了重新连接调试器,你要执行以下操作:
1)创建一个项目xxx的副本。Uvprojx在你的项目的应用程序文件夹。
2)打开这个新项目,进入项目选项,在调试选项卡中执行以下操作。
3)禁用在启动时加载应用程序复选框,并删除初始化文件中的链接。
4)点击调试器的设置,关闭连接后重置复选框。
5)单击确定,关闭项目选项。
现在,当问题发生时,你可以运行这个新项目,以便重新连接调试器,并读取我之前提到的内存位置(在内存窗口中选择unsigned long视图)。您可以在内存视图中找到程序计数器作为第7个无符号长数字。
由于MT_dialog
谢谢,这正是我需要的。