这几天一直在弄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的擦除大小都设置一致时,发现还是不行,后来经过一系列的调试与尝试,终于有了解决方案了。

当出现jffs2与内核中flash的块擦除大小都设置一样的时候,jffs2还是启动不起来的情况:

1、你的flash本身有问题。

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

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

我的就是第2中情况。

flash挂载到系统 spi_jffs2根文件系统挂载不上spi flash相关推荐

  1. SigmaStar SSD202 openwrt 系统下ubi根文件系统挂载过程

    关于UBI介绍可以参考官方文档 http://www.linux-mtd.infradead.org/doc/ubifs.html 下面是一张简介图,大概的介绍就是UBIFS依赖kernel UBI子 ...

  2. 嵌入式软件开发之------浅析linux根文件系统挂载(九)

    Linux代码版本:linux4.4 导读:前些天拿到供应商的一块arm64开发板,需要对其新CPU进行测试评估.需要将公司自己的系统移植上去测试一些参数.在挂载公司的cpio包的时候,出现解压失败. ...

  3. android rootfs根文件系统挂载

    linux下文件目录为树状结构,文件系统挂载在虚拟系统的VFS各个目录下. VFS是Linux中的一个虚拟文件文件系统,也称为虚拟文件系统交换层(Virtual Filesystem Switch), ...

  4. 一文讲解Linux内核中根文件系统挂载流程

    根文件系统的概念 根文件系统是控制权从linux内核转移到用户空间的一个桥梁.linux内核就类似于一个黑匣子,只向用户提供各种功能的接口,但是功能的具体实现不可见,用户程序通过对这些功能接口的不同整 ...

  5. Exynos4412 移植针对Samsung的Linux-6.1(二)SD卡驱动——解决无法挂载SD卡的根文件系统

    系列文章目录 Exynos4412 移植针对Samsung的Linux-6.1(一)下载.配置.编译Linux-6.1 Exynos4412 移植针对Samsung的Linux-6.1(二)SD卡驱动 ...

  6. I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之根文件系统挂载

    经过前面的移植,新版BSP的uboot和kernel已经能够在tqimx6q开发板上运行了,接下来我们来挂载文件系统. DTB整理 前面的文章中提到,新版BSP的DTB管理感觉不是太好,在之前移植的B ...

  7. STM32CubeMX学习笔记(25)——FatFs文件系统使用(操作SPI Flash)

    一.FatFs简介 FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统.它完全是由 ANSI C 语言编写并且完全独立于底层的 I/O 介质.因此它可以很容易地不加修改地移植到其他的处理器 ...

  8. 根文件系统挂载过程分析

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=27717694&id=3595123 转载于:https://blog ...

  9. aix磁盘挂载到linux,AIX下文件系统挂载点相互调换方案

    由于业务发展的需要,企业在异地实现了数据块级的灾备,由于原来的备份目录lv所在VG恰好在远程灾备VG内(该方案实现的是vg级别的数据同步),为了节省带宽所以又从存储上新划分出一块磁盘新建了一个vg作为 ...

最新文章

  1. js new Date()不带时分秒时,时间变了 问题解决
  2. 推荐系统笔记(信息消费)
  3. 小米android11新特性,小米已推送安卓11测试版 目前支持三款机型
  4. NumPy - np.meshgrid()
  5. python的类作用_python——类中的self到底的作用及三个应用场景
  6. NetTiers模板中各个选项的一些解释
  7. 串口输出5v电压_为什么RS485比串口速度快距离远?--谈单端信号与差分信号之差异...
  8. RadioButtonList Enabled=false 文字背景
  9. python3.6安装pandas_python3.6更新pandas和numpy包
  10. python数字图像处理(14):高级滤波
  11. Scala的模式匹配和条件类
  12. 维纳(Wiener)滤波及Matlab代码
  13. 牛顿法详解(海森矩阵如何使用)
  14. PowerDesigner16.5的下载、安装
  15. windows 端口被System进程占用怎么解决?
  16. ios真机测试,Ineligible Devices,不可以选中真机
  17. ECSHOP快递单号查询插件圆通V8.2专版
  18. 【Visual C++】游戏开发笔记四十七 浅墨DirectX教程十五 翱翔于三维世界 摄像机的实现
  19. AI将光子时间转换成3D图像,通过时间来可视化世界
  20. 解决电脑插耳机听视频暂停后继续耳机声音突然变大的问题(详细图解)

热门文章

  1. 开源计算机集群监控Ganglia应用视频
  2. 10个最佳jQuery Lightbox效果插件收集
  3. 通过脚本下派WsusAgent3.0.exe(续)
  4. vue入门:v-bind:class
  5. 如何在Linux中将用户添加到组
  6. (3)<meta>标签
  7. Linux中写入union作用,Linux进程描述符中union的用法
  8. 学习经验浅谈——论做学习笔记的重要性
  9. Ubuntu查看CPU和MEM的使用率
  10. 深度学习笔记(24) 卷积层