3个月前
燃烧OTP时DA14531上的不同行为
张贴了Pierrej @ Kickma ......20分 6回复你好,
我正在尝试使用DA14531开发一个应用程序,以通过BLE控制RGB。
DA14531设置为旁路模式HW-WISE,定义了CFG_POWER_MODE_BYPASS。cfg_development_debug也定义。
LED在引脚0,10和11上有线。(RST和SWIO由固件禁用)
在PIN 6上有一个按钮。
LED由PWM使用定时器2控制。
按钮链接到基于10秒的BLE特性的PWM中断设置PWM的占空比。
默认睡眠模式设置为ARCH_EXT_SLEEP_ON。
软件从LED关闭开始。按钮中断禁用睡眠模式,设置LED的占空比,并在计时器0上启用回调。
回调递增一个计数器,而达到10秒钟并达到10秒钟时执行以下操作:
- 关闭LED
- 将系统放入深度睡眠,没有OTP副本
- 关闭计时器0
在Sysram中通过JTAG闪烁时,代码正好工作,但是在刻录OTP时,行为奇怪:
- BLE工作正常,可以通过远程设备写入特性,并且值随时间保留值。
- 当BLE是广告时,LED每秒左右闪烁。
- 当连接和服务发现完成时,LED非常快速闪烁。
- 完成连接时,LED已打开。
- 断开远程设备在再次启动广告时重新启动闪烁。
- 按钮不会点亮LED。
- LED颜色与存储在BLE特性中的值无关。
OTP刻录是通过SmartSnippets Toolbox完成的,标题是工具箱提出的标题,而没有修改的应用程序标志1和2所示,它们被设置为是。
我已经能够通过“忘记”将Ctrl_sys_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg [debugger_reg。
请注意,如果通过软件均值断开JTAG(在闪烁时关闭Debug选项),则它只重现行为。如果我在连接的同时拔下jtag,一切都正常工作。
3个月前
>>>当设备从System-RAM引导时,您提到应用程序代码正好工作。你有没有在没有调试器的情况下测试它?
两者都在两种情况下工作。
>>>因此,使用声明,您的意思是,如果Ctrl_sys_reg [debugger_Enable]在应用程序代码中未设置为0,则在通过JTAG下载FW和System-Ram时,您可以复制此问题。我的理解是否正确?
是的,但我的意思是当断开与闪烁的软件中的断开时,更精确:
- ctrl_sys_reg [debugger_Enable]未设置为0和“关闭调试会话”选项选中智能代码箱工具箱==>错误复制
- ctrl_sys_reg [debugger_Enable]未设置为0和“关闭调试会话”选项,取消选中在Smart Scepets Toolbox ==>良好行为中
- ctrl_sys_reg [debugger_Enable]设置为0 ==>良好的行为,无论“关闭调试会话”状态。
物理拔出JTAG不会影响任何情况下的行为。
>>>如果Ctrl_sys_reg [debugger_Enable]设置为0并且调试器断开连接,您是否可以复制此项?
不
>>>问题:如果在应用程序代码中禁用调试器并从SPI闪存启动,您是否可以重现此行为?
我的设置中没有闪存
编辑 :
只是一个精确度:什么时候CTRL_SYS_REG [Debugger_ENABLE]未设置为0,引脚10上的LED线路不遵循其他LED的行为,并且在这种情况下必须略微点亮,因为在这种情况下必须在SWIO上设置PIN 10。
1个月前
你好呀,
我有一个类似的问题,但对于我来说,我有我的代码是dev pro套件的spi闪存。
当我在没有调试器的情况下运行我的代码时,我只会获得第一个广告,然后它停止广告,而其他任务正常运行(从外部GPIO,I2C通信唤醒)。请注意,我正在使用扩展睡眠模式,就像其他客户一样。
您能否澄清在运行和没有调试器之间运行之间的行为的预期差异?除其他内容中,在保存的RAM中未声明的变量可以保存在调试器模式中吗?
谢谢
1个月前
嗨aprocha46,
谢谢你在这里的评论。将在这个论坛线程上跟进:https://www.dialog-seminile.com/produ雷电竞官网登录cts/bluetooth-low-energy?post_id=11798#tab-support_tab_content.
谢谢,PM_DIALOG.
3个月前
你好呀,
感谢您在我们的论坛上发布和发布。
当设备从System-RAM引导时,您提到应用程序代码正好工作。你有没有在没有调试器的情况下测试它?
>>>我已经能够通过“忘记”将CTRL_SYS_REG [DEBUGGER_ER_ENABLE]设置为0并将JTAG断开通过闪烁软件,在SYSRAM中闪烁,同时再现此确切行为。
因此,使用声明,您的意思是,如果Ctrl_sys_reg [debugger_Enable]在应用程序代码中未设置为0,则在通过JTAG下载FW和System-Ram时,您可以复制此问题。我的理解是否正确?
如果Ctrl_sys_reg [debugger_Enable]设置为0并且调试器断开连接,您是否可以复制此项?
>>>请注意,如果JTAG通过软件均值断开连接,则只能重现行为(在闪烁时关闭调试选项)。如果我在连接的同时拔下jtag,一切都正常工作。
您是否意味着您可以在从系统-RAM启动时复制此功能,调试器已断开连接?
问题:如果在应用程序代码中禁用调试器并从SPI闪存启动,您是否可以重现此行为?
谢谢,PM_DIALOG.