@IT·互联网路由联盟

33-Openwrt nand flash生产烧录

2024-05-21  本文已影响0人  Creator_Ly

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。

image.png

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


image.png
1.2 芯片差异

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

image.png

但是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
上一篇 下一篇

猜你喜欢

热点阅读