关于使用NUC980 +SPI NAND flsah方案出现文件丢失或损坏的问题

本文记录了作者在NUC980项目中使用SPINANDflash和yaffs2文件系统时遇到的文件丢失问题,通过更换文件系统、接口调整和升级内核版本,最终确定低内核版本导致驱动不完善是问题根源。
摘要由CSDN通过智能技术生成

本次记录了我在一个项目中使用NUC980,存储使用SPI NAND flash,文件系统使用yaffs2这个方案过程中出现文件丢失等一些问题的探索记录和解决过程。

一、出现的现象

linux内核启动后,文件出现以下几种情况:

1.自己编译后要使用的文件使用"ls"命令找不到,断电重启后文件又出现;

2.重启后部分文件里面内容被改变,且无法复原;

3.重启后某些文件名被改变,且无法复原;

以上出现问题的文件都是自己编译后复制到linux文件系统中使用的。

二、解决的过程

2.1 尝试更换过文件系统

通过搜索资料,重新编译文件系统为UBIFS文件系统,文件系统成功替换原本的yaffs2文件系统,但是最终的测试效果仍会出现文件系统丢失的情况,所以这种方法最后以失败告终。下边是我参考的重新编译UBIFS文件系统的资料,感兴趣的小伙伴可以了解一下:

NUC980挂载UBIFS文件系统

2.2 后来在查找资料的过程中发现了一个论坛,里面也有人讨论遇到的相似的问题,在里面发现了一个新的解决方案:把原来使用SPI NAND flash存储更改为并口的NAND Flash存储。

我理解的这两种Flash的区别:SPI NAND flash硬件驱动以SPI 方式,6根线;并口的NAND flash需要用专门的接口来驱动,NUC980单片机上有对应的接口,传输数据线8根,并口的NAND flash使用的是铠侠(原东芝),大小为1Gbit。

方案更换过后,经过验证没有出现过文件丢失的情况,但是也有一些缺点:1.并口的NAND FLASH需要使用专有的接口,且占用的引脚比较多,有十几个引脚,远比使用SPI NAND flash 占用的多;2.使用的那些引脚正好占用要使用SD卡功能的引脚,导致后续没有办法使用SD卡功能。

下面是我参考的论坛,感兴趣的小伙伴可以了解一下:

求助nuc980+spi nand,断电,系统里面的文件会损坏或者丢失。 (amobbs.com 阿莫电子技术论坛)

三、最终确定的方案

后来断断续续和新唐厂商的FAE沟通,也历时比较久,最终确定了原本最初的方案使用SPI NAND Flsh文件系统丢失的具体原因:内核版本较低,里面的驱动并不完善。最开始使用的内核版本为"linux 4.4.115";后边找到新的内核,版本为"4.4.289",在新的内核上编译后烧录,最终测试使用SPI NAND flash方案文件系统没有再出现过问题。

下边是我编译使用的内核:

链接:https://pan.baidu.com/s/1HMC8on8ecs2WF83GNDuJSg 
提取码:70wa 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小白菜123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值