33-Openwrt nand flash生产烧录

openwrt编译生产的sysupgrade.bin文件是一个升级文件,无法直接提供给工厂进行nand flash烧录使用。因为flash的每一个page是由data+ecc组成的,烧录的时候需要一起烧录,但是sysupgade.bin是原始data内容,没有ecc。

1、ECC的大小和内容
1.1 flash page差异

第一步我们需要先确认主CPU支持哪些类型的nand flash,比如mt7621手册上的bootstrap写明,支持的不通page。

在这里插入图片描述

比如我们选择的是MX30LF1G28AD这个nand flash,芯片手册的features写明了是2048+128,所以硬件电路必须是10(1010)。
在这里插入图片描述

1.2 芯片差异

知道了flash的page大小之后,还有根据芯片手册的要求进行计算ECC内容,不同芯片描述不一样,比如mt7621的芯片要求,如下:

在这里插入图片描述

  • 原本flash芯片虽然是2048+64,但是mt7621要求的是512+16,所以实际每隔512字节需要填充16字节的ECC到后面。
  • 原本flash芯片虽然是2048+128,但是mt7621要求的是512+28,所以实际每隔512字节需要填充28字节的ECC到后面;到一个page的最后填充剩余的16字节FF。

但是mt7620的芯片就没有这个要求,就是按标准的flash page要求即可。

2、填充ECC

增对mt7621,mtk官方提供了BCH工具用来生产追加ecc后的文件。

命令如下:

USAGE: ./BCH ENC|DEC PAGE_SIZE SPARE_SIZE input_file output_file
SPARE_SIZE 64/128/224
PAGE_SIZE 2048/4096

example: ./BCH e 2048 64 roger_image linux_4bitECC.bin

对于mt760就是标准算法

example : ./mt7620nand 64 uboot.img

Note : 64 means spare area size, if the spare area size is 128, should change it 128
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值