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

2个帖子/ 0个新
最后发表
罗德
离线
最后看到:8个月2周之前
加入:2018-09-13 09:04
当在user_on_system_powered回调函数的运行时间超过2秒,14585年宕机

嗨,对话框

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

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

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

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

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

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

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

设备:
CYibin
离线
最后看到:7个月1周前
工作人员
加入:2017-12-14 02:48
你好,

你好,

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