[N32G43x] 诡异死机现象

[复制链接]
2418|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就挂掉了,再分析吧。
alienmiller 发表于 2023-8-17 11:46 | 显示全部楼层
只要调用flash模拟eeprom存储参数功能函数,MCU就会死机,估计eeprom地址不太对,导致破坏了程序空间,仔细看看配置吧。DAC输出异常,可能是调用了flash模拟eeprom存储的数据。
 楼主| wending2160 发表于 2023-8-17 12:50 | 显示全部楼层
alienmiller 发表于 2023-8-17 11:46
只要调用flash模拟eeprom存储参数功能函数,MCU就会死机,估计eeprom地址不太对,导致破坏了程序空间,仔细 ...

问题是使用调试器下载程烧录并复位运行,是可以正常运行的,如果是地址不对,那不管哪种启动方式都会出错呀。而且这个部分代码是我们的商业代码,在多个项目使用中。
 楼主| wending2160 发表于 2023-8-17 12:55 | 显示全部楼层
gaoyang9992006 发表于 2023-8-17 08:37
可能是第二条起作用,以前遇到过一次,是配置错误导致的。检查了好几遍才发现。因为用的是库函数,可能底层 ...

第二行是初始化oled控制IO,引脚与swd无关,假如是配置错误,那么不管放在哪个层次调用都会出问题吧。
sjnh 发表于 2023-8-17 13:12 | 显示全部楼层
曾经碰到这种问题的原因是有变量没有初始化就用了,仿真下载时这个没有初始化的变量还是上次正确运行的值,重新上电后值不定导致运行不正常
tpgf 发表于 2023-9-5 12:08 | 显示全部楼层
是不是考虑监测一下电源电压有没有突然下降的现象呢
aoyi 发表于 2023-9-5 13:24 | 显示全部楼层
flash操作的时序是满足要求的吗
gwsan 发表于 2023-9-5 16:17 | 显示全部楼层
楼主调用这个函数的时候指定地址操作了吗
tfqi 发表于 2023-9-5 20:23 | 显示全部楼层
请问什么叫平级调用啊?这个还怎么分呢
zljiu 发表于 2023-9-5 21:01 | 显示全部楼层
这个得对一下芯片的存储空间的分配吧
nawu 发表于 2023-9-5 21:58 | 显示全部楼层
楼主抛弃库函数自己写配置试试看
pengf 发表于 2023-9-5 23:46 | 显示全部楼层
配置错误
wxheky 发表于 2023-9-6 15:58 | 显示全部楼层
换一块单片机试试看,已经遇到过很多次了。不是每一片都可以按标准频率跑起来
chenjun89 发表于 2023-9-6 21:19 来自手机 | 显示全部楼层
这个更多只有从外设配置上检查
田舍郎 发表于 2023-9-6 23:51 来自手机 | 显示全部楼层
程序崩了吧
chenqianqian 发表于 2023-9-7 08:18 来自手机 | 显示全部楼层
从现象来看应该配置冲突了
zy16816888 发表于 2023-9-21 09:15 | 显示全部楼层
我感觉编程这么多年,还没怎么遇到MCU死机的情况,程序标准化后基本就遇不到了,这种情况应该是和你的程序关系极大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

11

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部