文件系统写flash时导致喂狗超时
背景介绍:系统运行时反复报同样的故障,导致不停的记录日志,日志是使用lfs文件系统写到外部flash上的,每一次写日志到外部flash都会导致外部看门狗喂狗超时复位。(大概需要2~3s才能回到喂狗任务)。解决方法:调用lfs_api_format(void)
{ lfs_unmount( &lfs );
lfs_format( &lfs, &lfs_cfg );
lfs_mount( &lfs, &lfs_cfg );}
格式化文件后,在写flash就不会再出现喂狗超时的问题。
想请教一下各位的大佬这是什么原因。
lfs没怎么用过,不过你说的写入数据导致重启,使用FAT文件系统也容易出现这种问题,写入数据越来越多后,后面写入会比较慢,时间比较长。 eric2013 发表于 2023-12-9 10:19
lfs没怎么用过,不过你说的写入数据导致重启,使用FAT文件系统也容易出现这种问题,写入数据越来越多后,后 ...
感谢,我再测一下时间 wangdunyu 发表于 2023-12-9 12:59
感谢,我再测一下时间
写flash的时候 喂狗频率延长 测试下最大的写入时间需要多少 对应相应的喂狗时间 2360985396 发表于 2023-12-9 16:16
写flash的时候 喂狗频率延长 测试下最大的写入时间需要多少 对应相应的喂狗时间
最大写入时间是6.4s,但是SPI在写FLASH时会有阻塞延时,阻塞时可以回到喂狗任务。目前的发现的解决办法是调用lfs_format格式化外部flash后,重新挂载文件系统,喂狗超时导致的重启问题可以得到修复,但是具体重启原因没有查到。 这个应该在Flash操作时候喂狗吧。
页:
[1]