mount挂载指定文件系统,flash挂载到系统 spi_jffs2根文件系统挂载不上spi flash

 2023-09-21 阅读 25 评论 0

摘要:这几天一直在弄jffs2,让jffs2挂载到spi flash上,所以在内核中对spi flash进行了分区,给uboot了1M的空间,给kernel 4M的空间,给jffs2了11M的空间,因为我们选用的spi flash是16M的,在制作了根文件系统后,发现内核在引导

这几天一直在弄jffs2,让jffs2挂载到spi flash上,所以在内核中对spi flash进行了分区,给uboot了1M的空间,给kernel 4M的空间,给jffs2了11M的空间,因为我们选用的spi flash是16M的,在制作了根文件系统后,发现内核在引导根文件系统时总是会出现一些擦除块设置不对的信息和CRC校验错误的信息,后来经过不断的摸索与查阅相关的博客,得知是jffs2在制作根文件系统的时候,mkjffs2中的-e参数要指定的与内核中的擦除大小一致才可以,但是我内核的MTD分区中找那部分代码,发现内核中对spi flash的驱动代码那,擦除大小设置的是4KB,但是jffs2的制作工具,最小只能制作出来8KB,这就没有办法达到内核和jffs2在制作的时候擦除大小一致了,后来我就将spi flash驱动那里,将擦除最小的大小改成64KB,这个擦除大小,也正好去和我的w25p128的flash芯片的范围。但是内核的擦除块大小和jffs2的擦除大小都设置一致时,发现还是不行,后来经过一系列的调试与尝试,终于有了解决方案了。

mount挂载指定文件系统。当出现jffs2与内核中flash的块擦除大小都设置一样的时候,jffs2还是启动不起来的情况:

1、你的flash本身有问题。

Linux文件系统与其挂载盘?2、你的内核在进行配置的时候,有些资源是板子上没有的,但是你在make menuconfig的时候给配置上,导致jffs2启动不起来,我的就是因为内核驱动配置中,因为芯片的串口1用的不是PE,而我却配置成了PE,并且芯片的GPIO页根本没有PE这组引脚,所以才导致了jffs2启动不来,即使块擦除大小都设置一致的时候。

3、你的flash在每次烧写之前,flash并没有真正的擦除干净。

我的就是第2中情况。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/81562.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息