zx37992 发表于 2021-12-27 11:44

stm32移植到gd32后发现唤醒后卡死

stm32f103zet6移植到gd32f103zet6后做稳定性测试,支持休眠唤醒功能,每次唤醒会进行mqtt的联网,但是在跑一段时间后到唤醒联网后,主题订阅完成后就发现程序不跑了,程序开了看门狗,但是程序也没有复位,也就是说明单片机没有正真的卡死,因为喂狗在定时器中断里面喂的,有大神遇到这个问题,可能是哪部分导致的,stm32中不会出现过这个问题

xch 发表于 2021-12-27 12:05

我倒是碰到ST的U会 在唤醒之后异常。结果在唤醒后加个空操作指令解决。原因不明。

ningling_21 发表于 2021-12-27 13:27

为啥在中断中喂狗

zx37992 发表于 2021-12-27 13:30

ningling_21 发表于 2021-12-27 13:27
为啥在中断中喂狗

因为在其他地方有多个延迟等待的函数,如果不在中断里面喂狗的话,喂狗指令会比较多,得在多个地方写入喂狗指令

WoodData 发表于 2021-12-27 13:52

zx37992 发表于 2021-12-27 13:30
因为在其他地方有多个延迟等待的函数,如果不在中断里面喂狗的话,喂狗指令会比较多,得在多个地方写入喂狗 ...

在中断喂狗虽然写的简单,但是失去了喂狗的意义了。其他地方延时太多最好修改程序架构。

zx37992 发表于 2021-12-27 13:56

WoodData 发表于 2021-12-27 13:52
在中断喂狗虽然写的简单,但是失去了喂狗的意义了。其他地方延时太多最好修改程序架构。 ...

这个后续要优化,但是这个问题影响程序卡死吗,gd的会出现,而且是随机出现的,但是stm32正常

WoodData 发表于 2021-12-27 13:58

最好关键地方加一些串口调试信息输出,来排查问题。

zeshoufx 发表于 2021-12-27 15:29

你的移植是指将stm32的程序直接下载到gd32上吗{:titter:}

mbutterfly 发表于 2021-12-27 17:28

有人说移植到GD32,什么都不用变。不知道真的假的。

gxs64 发表于 2021-12-27 19:19

mbutterfly 发表于 2021-12-27 17:28
有人说移植到GD32,什么都不用变。不知道真的假的。

我直接bin下进去

zx37992 发表于 2021-12-28 08:48

zeshoufx 发表于 2021-12-27 15:29
你的移植是指将stm32的程序直接下载到gd32上吗

不是呀,肯定得做修改,比如驱动方面,初始化方面,其他逻辑代码不变

zx37992 发表于 2021-12-28 08:48

gxs64 发表于 2021-12-27 19:19
我直接bin下进去

下载是可以下载,不过会有问题吧

e21 发表于 2021-12-28 10:28

zx37992 发表于 2021-12-28 08:48
下载是可以下载,不过会有问题吧

移植了两个项目, 改动不大,主要是flash要多点延时.有一个项目超过了256k, 后面的flash慢一个数量级.

e21 发表于 2021-12-28 10:30

xch 发表于 2021-12-27 12:05
我倒是碰到ST的U会 在唤醒之后异常。结果在唤醒后加个空操作指令解决。原因不明。 ...

我还以为加几个nop是常规操作.

gxs64 发表于 2021-12-30 11:02

zx37992 发表于 2021-12-28 08:48
下载是可以下载,不过会有问题吧

已测试过,目前在项目中没发现问题。

kkzz 发表于 2022-1-2 17:40

把所有的系统都初始化一次   

hudi008 发表于 2022-1-2 17:40

时钟复位了吧   

lzmm 发表于 2022-1-2 17:40

唤醒以后需要重新初始化。   

minzisc 发表于 2022-1-2 17:41

stm32f103zet6没有问题吗?   

selongli 发表于 2022-1-2 17:41

测试一下输出试试。   
页: [1] 2
查看完整版本: stm32移植到gd32后发现唤醒后卡死