This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2340R5: Zephyr sys_rebook() 结束在忙循环中

Guru**** 2872500 points

Other Parts Discussed in Thread: CC2340R5

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1640692/cc2340r5-zephyr-sys_reboot-ends-up-in-busy-loop

器件型号: CC2340R5

您好:

我有一位客户尝试使用 Zephyr sys_reboot () 函数重新启动 cc2340R53、但由于我们的设备不使用 ARM 标准 NVIC 重新启动矢量、因此它会在繁忙循环中运行、从不返回。

因此、我们现在找到的解决方法是包括:

#include <driverlib/pmctl.h>

/* ... some function */
    PMCTLResetSystem(); // issue device reset

但我认为我们最终应该支持 Zephyr 的这种方式、否则在迁移应用程序时会出现意外行为。

Munan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嘿 nevermind ,我再次尝试使用 sys_reboot (),现在它似乎正在工作... 不确定发生了什么变化。

    Munan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    纵观它、 sys_reboot 会调用 已定义的实现 sys_arch_reboot。

    您可以看到、soc 仅当 定义了 config_reboot 变量时、cc2340r5 才在 Zephyr\cc2340r\ti\simplelink\cc23x0\power.c 中实现了此函数。 我猜这是你在 prj.conf 中遗漏的。

    此致、
    Lea