linux擦除nandflash分区,如何访问 nand flash 分区

我用提优龙 2440 中 NAND Flash 总共 64M,系统只用了前 32M,

我希望把后面 32M 利用来存储我自己的数据,

系统是 2.6.30.4,在 common-S3C2440.c 中的 uc_default_nand_part 数组加上一项:

[3] = {

.name= "cfg",

.offset= 0x02000000,

.size= 0x01000000,

}

启动后,增加了一个分区 /dev/mtdblock3;

但这个 mtdblock3 如何加载成一个可以访问的磁盘分区呢?

以下是几次失败的尝试:

=============================================================================

[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg

mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument

[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg -t ext2

mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument

[root@(none) /]# mkfs.minix /dev/mtdblock3

5472 inodes

16384 blocks

Firstdatazone=176 (176)

Zonesize=1024

Maxsize=268966912

[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg -t minix

mount: mounting /dev/mtdblock3 on /tmp/cfg failed: No such device

=============================================================================

请问我应该怎么做?

谢谢。

|

不是 minix 不堪, 而是 它没有好的掉点保护机制。

|

nand flash是特殊的,写入得先擦除,擦除至少擦16k

同时nand 的读写寿命有限,几十w次听着多,编程破坏一个for就够了

所以我猜测内核实现时在某一层上较大的内存缓存

最好用yaffs、jffs2 等转为nand flash写的文件系统,提供了损耗平衡

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值