你好。
我有问题与自定义板有相同的原理图在智能标签参考设计。
我下载的软件大约1,5年前正确地工作与我的董事会。但在我开始使用更新的软件(智能标签源代码基于5.20.2 SDK)后,我有问题。
设备启动工作(led闪烁和设备广告),但一段时间后它进入睡眠(led停止闪烁,大约几分钟)。然后我按下按钮,设备唤醒,但我看到led在闪烁,就像没有固件的设备一样(引导加载程序在进程中)。任何带有按钮的操作都不会改变任何东西。如果我断开电池,并再次连接,设备开始工作。
在代码中,我只更改了一个定义(LP_CLK_RCX20而不是LP_CLK_XTAL32,因为没有时钟XTAL)。
为什么更新版本不工作?我要怎么做才能成功?
设备:
你好,萨拉瓦,
你是使用深度睡眠还是延长睡眠?我无法理解你对LED闪烁和bootloader的解释,当你按下按钮让设备唤醒时,你看到bootloader正在执行。当设备进入永久休眠时,它设置RESET_ON_WAKEUP(检查user_adv_timer_handler),所以当设备被指示唤醒时,它执行h/w重置,如果没有引导,它将继续执行引导加载程序。如果你移除那条指令(SetBits16(PMU_CTRL_REG, RESET_ON_WAKEUP,1);),你将能够在没有重置的情况下正常唤醒,而且如果你不使用深度睡眠,也移除过渡到深度睡眠模式(这需要烧毁OTP)。
由于MT_dialog
我使用延长睡眠模式。固件是存储在外部SPI flash,所以我不明白为什么它不能启动后唤醒。
你好,萨拉瓦,
因为flash关机了,每次与flash交互后,fw会向flash发送关机消息以节省电源,所以,当你睡着时,flash也关机了。所以当你醒来,你试图引导(没有任何东西在你的OTP)扫描序列开始,但没有闪光响应扫描序列。要克服这个问题,你必须:
要么让闪存打开,以便设备启动。
Burn secondary bootloader in the OTP in order to boot from OTP, power up the flash and eventually boot from flash。
刻录图像到OTP,以便直接从那里启动fw。
由于MT_dialog
嘿,slava,你能把DA14580的程序文件发给我吗donxaviervaliyaparambil@gmail.com)