大家好,
我正在调整DA14531-DA14585-586_Service_Data_Beacon以满足我的需要,并尝试打开CFG_HIGH_TEMPERATURE。da1458x_config_advanced.h和DA14585/DA14531 SW平台参考手册(UM-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
delay = 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警告,3个错误
编译rwble.c……
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C (929): warning: #223-D: function "dlg_finetgtim_isr"含蓄声明
dlg_finetgtim_isr();
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C (1014): warning: #223-D: function "dlg_slp_isr"隐式声明
dlg_slp_isr();
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C (1027): warning: #223-D: function "dlg_cscnt_isr"隐式声明
dlg_cscnt_isr ();
C:\DiaSemi\DA145xx_SDK\6.0.14.1114\sdk\ble_stack\rwble\rwble. C: 3个警告,0个错误
什么好主意吗?我想我可以回到CFG_EXT_TEMPERATURE。
乔恩
嗨,乔恩,
是的,您需要返回到CFG_EXT_TEMPERATURE,如在此配置的说明中,它不适用于DA14531。
请注意
高温支持与功率优化不兼容。如果设备要支持高温范围特性,用户应取消定义CFG_POWER_OPTIMIZATIONS标志。
请注意
不适用于DA14531。
Br
pw_dialog.
关于CFG_*_TEMPERATURE的在线UM-B-119文档有2个注释:
这些状态都不适用于DA14531。我将第二个注释解释为表示所有CFG _ * _温度标志仅影响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