我使用的是DA14531我的蓝牙连接完成后,把设备远离断开后有时可以重连,重连几次就会出现DA14531死机的情况发生,并不是每次都发生,但概率很高并且我把看门狗打开后出现重复重启,重启间隔大概是4s下面这个图是我的宏定义配置,我打开了#define CFG_WDOG,关闭#undef CFG_DEVELOPMENT_DEBUG,
#define USER_WDG_CFG (1)
void system_init(void){ // Initialize the Watchdog unit wdg_init(USER_WDG_CFG);
其他位置都没有任何更改,这样定义之后,在不断的重启
是在SDK内有相关的调用,导致不断重启吗?
你好,
请问是用的SDK哪个例程测试的?
SDK的版本是多少?
谢谢
你好我使用的是SDK6,例程使用的是DA145xx_SDK\6.0.22.1401\projects\target_apps\ble_examples\ble_app_profile进行测试的,我现在的情况是打开了看门狗,但是我又在main()函数内增加了arch_set_sleep_mode(ARCH_EXT_SLEEP_OTP_COPY_ON);,导致了它不断重启我需要怎么样做才能在低功耗下也能启用看门狗?
1, 请问你程序是烧录到OTP了吗?
2, 请使用最新的SDKSDK6.0.24.1464 for DA1453x, DA14585/6
3, 请参考这个教程5. Extended Sleep configuration — DA1453x & DA1458x Tutorial Sleep Modes
不用在main里添加函数,我们有相应的宏控
你好,我现在在进行测试,使用的是SDK6.0.24的例程,已经把main()函数内的//arch_set_sleep_mode(ARCH_EXT_SLEEP_OTP_COPY_ON);去除使用的是SDK_6.0.24.1464\DA145xx_SDK\6.0.24.1464\projects\target_apps\ble_examples\ble_app_profile\Keil_5\out_DA14531我的配置为static const sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;(我目前在使用可重复烧录的板子测试,所以没有配置ARCH_EXT_SLEEP_OTP_COPY_ON,后面程序完好后才烧录到OTP)在main内的while(1)中把//wdg_reload(WATCHDOG_DEFAULT_PERIOD);去除,结果并没有重启只有在static const sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;配置时,在main内的while(1)中把//wdg_reload(WATCHDOG_DEFAULT_PERIOD);去除结果才重启,并且在这种配置下配置,不把reload去除,程序不会重启请问这是什么原因,我想要的是在低功耗下也能够开启看门狗,我该咱们做,在提供的ble_examples/prox_reporter/Keil_5例程里,我没有找到相应的案例,请问是我有所遗漏吗,我该从哪里找?
为什么要去除 wdg_reload(WATCHDOG_DEFAULT_PERIOD), main 里的代码不建议修改。
这里是相当喂狗操作,删除掉重启应该是正常的
yifeng said:我想要的是在低功耗下也能够开启看门狗
低功耗下,看门狗是关闭的参考这里 2. Sleep modes overview — DA1453x & DA1458x Tutorial Sleep Modes
建议通读这篇教程
BR,
JH_Renesas
好的,我会认真看一遍这个指导文档
你好,我现在开发测试,使用的并不是OTP,但是后面硬件生产会把程序烧录到OTP,我是要在完成后配置成app_default_sleep_mode = ARCH_EXT_SLEEP_OTP_COPY_ON 吗?我有几个问题1.首先最重要的,ARCH_EXT_SLEEP_OTP_COPY_ON和ARCH_EXT_SLEEP_ON两个区别是什么?配置成ARCH_EXT_SLEEP_ON状态,是否可以直接烧录到OTP中?2.配置成ARCH_EXT_SLEEP_OTP_COPY_ON状态下蓝牙是否仍然处于广播状态?3.配置成ARCH_EXT_SLEEP_OTP_COPY_ON,我是要按照文档说的那样进行唤醒才能操作吗?4.唤醒后是否是会自己再次进入休眠?当蓝牙再连接后需要我再次唤醒吗?我该如何操作进入休眠和停止休眠?5.在这个配置下我的看门狗是处于关闭状态,唤醒后,看门狗是开启的吗?
刚才发送回复一直不显示在网页上,以为没有发送成功,所以频繁发送了很多次,看到请及时回复一下谢谢!
非常感谢!
1,ARCH_EXT_SLEEP_OTP_COPY_ON 这意味着设备在进入睡眠状态时将关闭所有 RAM 单元,仅保留 RAM_4 单元以存储 ROM 数据和 BLE 缓冲区。在每次唤醒时,它将执行一次 OTP 复制,以恢复从关闭的 RAM 单元中丢失的应用程序。
ARCH_EXT_SLEEP_ON 定义的固件并不关闭所有的 RAM 单元,而是保持它们处于活动状态.
综上,如果频繁唤醒,不建议使用OTP_COPY_ON,如果非频繁唤醒,可以使用。OTP_COPY_ON 过程功耗很大。
2,是
3,4,是,参考5. Extended Sleep configuration — DA1453x & DA1458x Tutorial Sleep Modes
5,睡眠后,看门狗是关闭的,因为看门狗的电源会被关掉,唤醒后自动开启。参考这个table
JH_RENESAS
收到回复,后期我会根据实际需要来自己更改感谢您的回复