未连接调试器时 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.