你好所有的,
我正在根据需要调整DA14531-DA14585-586_Service_Data_Beacon,并尝试打开CFG_HIGH_TEMPERATURE。da1458x_config_advanced.h和DA14585/DA14531 SW平台参考手册(un - b -119)中的注释说取消了CFG_POWER_OPTIMIZATIONS的定义。当我尝试时,我在set_sleep_delay()中得到编译器错误,在rwble_isr()中得到警告。
编译arch_system.c……
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\platform\arch\main\arch_system.c(519): error: #20: identifier "RCX_OTP_COPY_OVERHEAD" is undefined
twirq_set_value + = RCX_OTP_COPY_OVERHEAD;
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\platform\arch\main\arch_system.c(523): error: #20: identifier "XTAL32_OTP_COPY_OVERHEAD" is undefined
twirq_set_value + = XTAL32_OTP_COPY_OVERHEAD;
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\platform\arch\main\arch_system.c(527): error: #20: identifier "MINIMUM_SLEEP_DURATION" is undefined
延时= lld_sleep_lpcycles_2_us_sel_func(twirq_set_value) + MINIMUM_SLEEP_DURATION;
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\platform\arch\main\arch_system.c: 0 warning, 3 errors
编译rwble.c……
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C (929): warning: # 221 - 3: function "dlg_finetgtim_isr" declared
dlg_finetgtim_isr ();
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C (1014): warning: # 221 - 3: function "dlg_slp_isr" declared
dlg_slp_isr ();
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C (1027): warning: # 221 - 3: function "dlg_cscnt_isr" declared
dlg_cscnt_isr ();
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C: 3 warning, 0 errors
什么好主意吗?我想我可以回到CFG_EXT_TEMPERATURE。
乔恩
嗨,乔恩,
是的,您需要退回到CFG_EXT_TEMPERATURE,正如在此配置标志的描述中所指出的,它不适用于DA14531。
请注意
高温支持与功率优化不兼容。如果设备要支持高温范围功能,用户应取消CFG_POWER_OPTIMIZATIONS标志。
请注意
不适用于DA14531。
Br
PW_Dialog
关于CFG_*_TEMPERATURE的在线UM-B-119文档有2个注释:
这些都没有说明任何选项不适用于DA14531。我将第二个注释解释为,所有CFG_*_TEMPERATURE标志只影响DA14531上的休眠。
是否还有其他我应该参考的文档来源?
我检查了所有SDK示例da1458x_config_advanced.h文件和一些可下载的示例。在那些有DA14531部分的文件中,都列出了CFG_HIGH_TEMPERATURE。SDK示例没有上述说明,下载的示例只有第一个说明。如果这是一个无效的选择,难道不应该将其从示例的DA14531特定部分中删除吗?
我使用的是DA14531,没有使用休眠,所以这个问题不适用于我的应用。我只是指出,按照.h文件中特定于我正在使用的设备的说明进行操作会导致编译器错误。
嗨Jon_ODonnell,
抱歉我们回复晚了,感谢您的发现。你的发现是正确的!
为了使用DA14531启用High Temperature配置,您只需要在da1458x_config_advanced.h中定义CFG_HIGH_TEMPERATURE宏。让CFG_POWER_OPTIMIZATIONS保持原样。
只有在休眠模式下,高温才有效:
备注DA14531:温度范围选择仅适用于休眠和状态休眠。在所有其他模式下,温度变化由系统内部处理。
如果您检查SDK6.0.14.1114的prox_reporter示例,您将看到对于DA14631不存在特定的说明。因此,在这个SW示例中,我假设示例和SDK之间的链接出了问题。我会在内部检查这个。
CFG_POWER_OPTIMIZATIONS宏只对DA14585/586有效。
谢谢,PM_Dialog