STM32跑RTOS多数情况可以正常运行,偶尔启动不了

2019-12-20 21:36发布

本帖最后由 dswkl11 于 2018-2-2 08:48 编辑

   大家有没有遇到过就是stm32单片机跑操作系统大部分时候很正常,但是偶尔会出现就是启动不了的情况,或者要启动很多次,因为里面有看门狗复位,启动很多次后才能正常启动。有时甚至好几个小时都正在启动,然后看门狗复位又再启动,又再看门狗复位。反正就是没有进入正常的任务调度。有时,手摸一下板子,突然又正常启动了。我用的是F072c8t6芯片,用CubeMX 的 FreeRTOS,刚用了半年多。最近这批发现这个问题比较多,同一个板子有时正常,上电断电测试的时候发现这个问题。多数情况下是可以正常启动的,有时就要卡住了,看门狗复位几次也可以正常启动运行,有时看门狗复位n次n次都启动不了,不过只要已启动完成进入多任务调度后程序就非常正常稳定的了。也就是说启动过程中出了点状况,不知道是cpu芯片内部硬件还是软件的问题,外围的线路都是可靠的,各外围芯片驱动都是稳定的。
   这种情况好像是电脑开机不了,拍一下踢一下就可以开机了。因为板子启动不了的时候我用手摸一下居然就启动得了了,真神奇。。。如果是软件问题的话,为什么大部分上电可以正常启动呢,启动后又很正常哦。。。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
44条回答
michael.yang
1楼-- · 2019-12-22 07:52
dswkl11 发表于 2018-2-2 10:18
停掉看门狗试过,会死机,多任务调度前有串口输出,任务的串口输出没有,多任务调度失败死机。。。有看门 ...

那还是先排除软件的问题吧,可能哪里有什么竞争冲突或逻辑错误。
正常的软件,即使没有看门狗,一般全天候运行都不会有问题。看门狗只是为了防止外部干扰引起的错误,内部的防不了。
dswkl11
2楼-- · 2019-12-22 08:50
SUPER_CRJ 发表于 2018-2-2 09:42
可不可以认为你操作系统没有使用好?或者本身软件存在Bug,不定时发作。

就是不定时发作...启动不了的时候,手摸有时居然有启动了。现在打算改成前后台试一下。前几年F103用ucos的时候也发现这样的情况,不启动,手摸一下又启动了,后面换个芯片供应商就很少出现这个问题了,但是这个F072还是同一个供应商啊...真神奇啊
   前段时间 用CubeMX生成的F103的FreeRTOS应用,特别简单,就是检测485信号,然后来个IO口输出,那个板子做回来居然也是不断重启,因为之前的程序没有出现过这一的问题,把好板子的芯片换过去也是那样,就是进入不了多任务,那是判断是NRST的电容画远了,判断是PCB没画好,重新打样后发现还是那样是不是重启,都绝望了...因为程序很简单,试一下前后台,居然那些有问题的板子都可以了...os有问题吧,问题在哪里了,因为就是曾经觉得ucos也会出现类似的才换到freertos的,这回又掉进大坑里面了....上一批还很少这样的情况,不过现在检查也有这样的情况,只是重启2次左右就ok了,只是这批做的比较多,出现的比较密集,有时要启动10来次...
18501501628
3楼-- · 2019-12-22 12:48
估计软件问题
18501501628
4楼-- · 2019-12-22 15:06
我的代码量在3万行左右。也是ucos,批量上千套板子,运行一年多了,没有任何问题
18501501628
5楼-- · 2019-12-22 17:13
 精彩回答 2  元偷偷看……
myxiaonia
6楼-- · 2019-12-22 17:38
很明显还是程序问题,像串口这种资源,如果多个任务调用,必须处理好线程安全和可重入等问题

一周热门 更多>