1. CC1352P在正常使用过程中,偶尔会发生了RF Core死机的情况,此时如果reset整个设备,一切恢复正常;
2. 但reset整个设备,需要很大的额外开支;
3. 所以,想咨询一下,有没有单独reset RF core的方法?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
1. CC1352P在正常使用过程中,偶尔会发生了RF Core死机的情况,此时如果reset整个设备,一切恢复正常;
2. 但reset整个设备,需要很大的额外开支;
3. 所以,想咨询一下,有没有单独reset RF core的方法?
我们观察到,程序在执行某一次Easylink_receive()时,(超时时间设为40ms)会一直block在其内部,无法退出。就此,我们判定RF core死机了,想要一个reset RF core 的手段来解决此问题。
经过分析Easylink_receive()和RF_pendCmd()的源代码,我们认为,程序应该停止在了Easylink_receive()-->RF_pendCmd()-->SemaphoreP_pend(&h->state.semSync, SemaphoreP_WAIT_FOREVER);位置。
此时,如果在其他task调用RF_close()和RF_open(),我认为是无效的,因为Semaphore被占用了。