跳到主要内容

different behavior on DA14531 when burning OTP

1个月前

different behavior on DA14531 when burning OTP

张贴了Pierrej @ Kickma ......20分 6replies
0旋转

你好,

我正在尝试使用DA14531开发一个应用程序,以通过BLE控制RGB。

The DA14531 is set in BYPASS mode HW-wise and the CFG_POWER_MODE_BYPASS is defined. CFG_DEVELOPMENT_DEBUG is defined also.
LED在引脚0,10和11上有线。(RST和SWIO由固件禁用)
在PIN 6上有一个按钮。

LED由PWM使用定时器2控制。
The button is linked to an interrupt setting the duty cycle of the pwm based on a BLE characteristic for 10 sec.
默认睡眠模式设置为ARCH_EXT_SLEEP_ON。

软件从LED关闭开始。按钮中断禁用睡眠模式,设置LED的占空比,并在计时器0上启用回调。
The callback increments a counter while the 10 seconds aren't reached and do the following when the 10seconds mark is reached :
- 关闭LED
- put the system into deep sleep without OTP copy
- turn off timer 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,一切都正常工作。

1个月前

PM_DIALOG.

Hi There,

Thanks for coming and posting on our forums.

当设备从System-RAM引导时,您提到应用程序代码正好工作。你有没有在没有调试器的情况下测试它?

>>>我已经能够通过“忘记”将CTRL_SYS_REG [DEBUGGER_ER_ENABLE]设置为0并将JTAG断开通过闪烁软件,在SYSRAM中闪烁,同时再现此确切行为。

So, with statement you mean that if the CTRL_SYS_REG[DEBUGGER_ENABLE] is not set to 0 in the application code, when downloading fw to System-RAM via JTAG and disconnecting the debugger, you can replicate this issue. Is my understanding correct?

如果Ctrl_sys_reg [debugger_Enable]设置为0并且调试器断开连接,您是否可以复制此项?

>>>请注意,如果JTAG通过软件均值断开连接,则只能重现行为(在闪烁时关闭调试选项)。如果我在连接的同时拔下jtag,一切都正常工作。

Do you mean that you can replicate this when the device is booting from System-RAM and the debugger is disconnected?

问题:如果在应用程序代码中禁用调试器并从SPI闪存启动,您是否可以重现此行为?

谢谢,PM_DIALOG.

1个月前

Pierrej @ Kickma ...... 20分

>>>当设备从System-RAM引导时,您提到应用程序代码正好工作。你有没有在没有调试器的情况下测试它?

两者都在两种情况下工作。

>>>So, with statement you mean that if the CTRL_SYS_REG[DEBUGGER_ENABLE] is not set to 0 in the application code, when downloading fw to System-RAM via JTAG and disconnecting the debugger, you can replicate this issue. Is my understanding correct?

是的,但我的意思是当断开与闪烁的软件中的断开时,更精确:

  • 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并且调试器断开连接,您是否可以复制此项?

No

>>>问题:如果在应用程序代码中禁用调试器并从SPI闪存启动,您是否可以重现此行为?

I don't have a flash memory in my setup

编辑 :

只是一个精确度:什么时候CTRL_SYS_REG [Debugger_ENABLE]未设置为0,引脚10上的LED线路不遵循其他LED的行为,并且在这种情况下必须略微点亮,因为在这种情况下必须在SWIO上设置PIN 10。

1个月前

Pierrej @ Kickma ...... 20分

我设法通过删除延长的睡眠使其在OTP中工作。

1个月前

PM_DIALOG.

Hi There,

很高兴你解决了山雀。但是在扩展睡眠模式期间,这听起来不保留一些声音。

谢谢,PM_DIALOG.

2个星期前

aprocha46 90分

你好呀,

我有一个类似的问题,但对于我来说,我有我的代码是dev pro套件的spi闪存

当我在没有调试器的情况下运行我的代码时,我只会获得第一个广告,然后它停止广告,而其他任务正常运行(从外部GPIO,I2C通信唤醒)。请注意,我正在使用扩展睡眠模式,就像其他客户一样。

Could you clarify the expected difference in behaviour between running with and without debugger ?除其他内容中,在保存的RAM中未声明的变量可以保存在调试器模式中吗?

Thanks

2个星期前

PM_DIALOG.

Hi aprocha46,

谢谢你在这里的评论。将在这个论坛线程上跟进:https://www.dialog-seminile.com/produ亚博电竞菠菜cts/bluetooth-low-energy?post_id=11798#tab-support_tab_content.

谢谢,PM_DIALOG.