当在user_on_system_powered回调函数的运行时间超过2秒,14585 宕机

2 posts / 0 new
Last post
roeder
Offline
Last seen:4 months 2 weeks ago
加入:2018-09-13 09:04
当在user_on_system_powered回调函数的运行时间超过2秒,14585 宕机

Hi, Dialog

我们基于14585的DSPC例程开发自己的项目,发现当在user_on_system_powered回调函数的执行时间超过2秒(比如用指令delay 2秒)后,系统就宕机了!!!

但是如果我们用J-Link来调试,这个问题就没有,程序可以在user_on_system_powered回调函数里运行任意的时间

但是一样的代码,如果下载到flash,直接上电启动,就会可以复现前面所提到的问题

请问,上电直接运行和在线仿真有什么区别吗?在蓝牙模块断电的情况下,user_on_system_powered回调函数只能运行2秒?

BTW,我们也尝试过把一个3秒的任务分成6个500ms的时间片来执行,每次在user_on_system_powered回调函数都返回KEEP_POWERED,但是当时间累计超过2秒后,系统同样会宕机!

请问,遇到这种需要长时间堵转工作的任务,我们应该如何设计?有没有别的方法可以绕开这个问题?

项目紧急,期盼你们的回复!

Device:
CYibin
Offline
Last seen:3 months 2 weeks ago
工作人员
加入:2017-12-14 02:48
你好,

你好,

585的软件架构是基于消息机制的,编写用户程序的时候必须遵循“不能阻塞”的原则。