未连接调试器时 MCU 复位
MCU reset when not connected to debugger
我目前正在使用 FreeRTOS 在 Microsemi Smartfusion 2 上开发嵌入式应用程序。
它在调试模式和 运行 模式下都没有问题。但是,当我不使用 Eclipse debug/run 按钮启动代码时(即当我关闭电源并再次打开时),它会正常启动但会在几秒钟后自行重置。我觉得这个问题与调试器有关,但我无法解决。
有什么想法吗?
可能您启用了一个看门狗定时器,但在连接调试器时它被推迟了?我对 SoC 不熟悉,但在 http://www.actel.com/kb/article.aspx?id=FQ1025:
处有答案说明
SoftConsole will automatically disable the watchdog in Debug mode regardless of whether the code is running from eNVM or eSRAM.
然后同一答案的第一部分指出:
The Watchdog is enabled at power-up and remains so unless explicitly disabled.
所以猜测是您没有为看门狗定时器提供服务。我想向您指出说明这一点的文档,但坦率地说 - 我放弃了! YMMV。看门狗有注释here.
我目前正在使用 FreeRTOS 在 Microsemi Smartfusion 2 上开发嵌入式应用程序。
它在调试模式和 运行 模式下都没有问题。但是,当我不使用 Eclipse debug/run 按钮启动代码时(即当我关闭电源并再次打开时),它会正常启动但会在几秒钟后自行重置。我觉得这个问题与调试器有关,但我无法解决。
有什么想法吗?
可能您启用了一个看门狗定时器,但在连接调试器时它被推迟了?我对 SoC 不熟悉,但在 http://www.actel.com/kb/article.aspx?id=FQ1025:
处有答案说明SoftConsole will automatically disable the watchdog in Debug mode regardless of whether the code is running from eNVM or eSRAM.
然后同一答案的第一部分指出:
The Watchdog is enabled at power-up and remains so unless explicitly disabled.
所以猜测是您没有为看门狗定时器提供服务。我想向您指出说明这一点的文档,但坦率地说 - 我放弃了! YMMV。看门狗有注释here.