打印
[N32G43x]

诡异死机现象

[复制链接]
1657|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wending2160|  楼主 | 2023-8-16 23:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用N32G43x做步进电机驱动,程序不变,使用调试器下载复位运行(不掉电),所有功能有正常。如果是重新上电运行,则只要调用flash模拟eeprom存储参数功能函数,MCU就会死机,即便是刚烧录完,啥也没操作,只要是断电重新上电,程序运行就变得诡异。把flash存储内部函数调用注释,则会出现DAC输出异常,变得莫名其妙。有网友遇到过类似的问题吗?

使用特权

评论回复
沙发
wending2160|  楼主 | 2023-8-16 23:09 | 只看该作者
PS: 在N32G430片子也遇到一个诡异现象,板子调试引脚swd没有引脚复用,软件也没有配置复用,但烧录程序后就不能再使用调试器二次烧录,最后定位到是跟显示初始化函数有关,只要把该函数里的两个子函数放到平级调用(如下2、3行代码,放到app_Display_Init()就不行),就恢复可以正常烧录了,真的十万个为什么?

    app_Display_Init(gPar_holdreg_s.workmode);   
    AutoMC_DisplayAbs_Handles.AutoMC_DisAbs_DevInit();   //显示设备初始化
    AutoMC_DisplayAbs_Handles.AutoMC_DisAbs_Clean();     //清屏   

使用特权

评论回复
板凳
gaoyang9992006| | 2023-8-17 08:37 | 只看该作者
可能是第二条起作用,以前遇到过一次,是配置错误导致的。检查了好几遍才发现。因为用的是库函数,可能底层的冲突表面看不出来。

使用特权

评论回复
地板
jobszheng| | 2023-8-17 10:05 | 只看该作者
这是把SWD给搞死了呗。
楼主,不行就单步进入函数看看哪条语句执行后,jtag就挂掉了,再分析吧。

使用特权

评论回复
5
alienmiller| | 2023-8-17 11:46 | 只看该作者
只要调用flash模拟eeprom存储参数功能函数,MCU就会死机,估计eeprom地址不太对,导致破坏了程序空间,仔细看看配置吧。DAC输出异常,可能是调用了flash模拟eeprom存储的数据。

使用特权

评论回复
6
wending2160|  楼主 | 2023-8-17 12:50 | 只看该作者
alienmiller 发表于 2023-8-17 11:46
只要调用flash模拟eeprom存储参数功能函数,MCU就会死机,估计eeprom地址不太对,导致破坏了程序空间,仔细 ...

问题是使用调试器下载程烧录并复位运行,是可以正常运行的,如果是地址不对,那不管哪种启动方式都会出错呀。而且这个部分代码是我们的商业代码,在多个项目使用中。

使用特权

评论回复
7
wending2160|  楼主 | 2023-8-17 12:55 | 只看该作者
gaoyang9992006 发表于 2023-8-17 08:37
可能是第二条起作用,以前遇到过一次,是配置错误导致的。检查了好几遍才发现。因为用的是库函数,可能底层 ...

第二行是初始化oled控制IO,引脚与swd无关,假如是配置错误,那么不管放在哪个层次调用都会出问题吧。

使用特权

评论回复
8
sjnh| | 2023-8-17 13:12 | 只看该作者
曾经碰到这种问题的原因是有变量没有初始化就用了,仿真下载时这个没有初始化的变量还是上次正确运行的值,重新上电后值不定导致运行不正常

使用特权

评论回复
9
tpgf| | 2023-9-5 12:08 | 只看该作者
是不是考虑监测一下电源电压有没有突然下降的现象呢

使用特权

评论回复
10
aoyi| | 2023-9-5 13:24 | 只看该作者
flash操作的时序是满足要求的吗

使用特权

评论回复
11
gwsan| | 2023-9-5 16:17 | 只看该作者
楼主调用这个函数的时候指定地址操作了吗

使用特权

评论回复
12
tfqi| | 2023-9-5 20:23 | 只看该作者
请问什么叫平级调用啊?这个还怎么分呢

使用特权

评论回复
13
zljiu| | 2023-9-5 21:01 | 只看该作者
这个得对一下芯片的存储空间的分配吧

使用特权

评论回复
14
nawu| | 2023-9-5 21:58 | 只看该作者
楼主抛弃库函数自己写配置试试看

使用特权

评论回复
15
pengf| | 2023-9-5 23:46 | 只看该作者
配置错误

使用特权

评论回复
16
wxheky| | 2023-9-6 15:58 | 只看该作者
换一块单片机试试看,已经遇到过很多次了。不是每一片都可以按标准频率跑起来

使用特权

评论回复
17
chenjun89| | 2023-9-6 21:19 | 只看该作者
这个更多只有从外设配置上检查

使用特权

评论回复
18
田舍郎| | 2023-9-6 23:51 | 只看该作者
程序崩了吧

使用特权

评论回复
19
chenqianqian| | 2023-9-7 08:18 | 只看该作者
从现象来看应该配置冲突了

使用特权

评论回复
20
zy16816888| | 2023-9-21 09:15 | 只看该作者
我感觉编程这么多年,还没怎么遇到MCU死机的情况,程序标准化后基本就遇不到了,这种情况应该是和你的程序关系极大

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

11

帖子

1

粉丝