0

工場でフラッシュプログラマーでフラッシュできる製品イメージを作成しようとしています。Micron 51MB nand フラッシュを使用しています。

私はこれまでに取ったアプローチに問題を見つけています。

1) すべてのパーティションで開発ボードを起動します

すなわち

/dev/mtd0--> xloader

/dev/mtd1 -> uboot

/dev->mtd2 -> kernel

/dev/mtd3> root file system

/dev/mtd4 -> user application

now, I used nanddump -nof xloader.bin  /dev/mtd0

nanddump -nof uboot.bin  /dev/mtd1

nanddump -nof kernel.bin  /dev/mtd2

nanddump -nof rootfs.bin  /dev/mtd3

nanddump -nof apps.bin  /dev/mtd4

cat /dev/mtd0 /dev/mtd1  /dev/mtd2 /dev/mtd3 /dev/mtd4 > golden_flash

最初に RAM から u-boot を実行し、次に空のフラッシュでこの golden_flash をフラッシュすると、

tftp golden_flash

nand erase all

nand write 0x82000000 golden_flash

それはうまくいきません。

起動時に、私は得る

mtd->read(0x1fc38 bytes from 0x60a03c8) returned ECC error

mtd->read(0xa7b0 bytes from 0x60b5850) returned ECC error

Empty flash at 0x060b584c ends at 0x060b6000

jffs2_scan_eraseblock(): Node at 0x060b618c {0x1985, 0xe022, 0x000000a7) has invalid CRC 0x5c3d15cb (calculated 0x5b9110fd)

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x060b6190: 0x00a7 instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x060b6194: 0x15cb instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x060b6198: 0x2e5b instead

mtd->read(0x59c bytes from 0x13eba64) returned ECC error

mtd->read(0x44 bytes from 0x13ec800) returned ECC error

mtd->read(0x7bc bytes from 0x13ec844) returned ECC error

mtd->read(0x558 bytes from 0x13ebaa8) returned ECC error

mtd->read(0x44 bytes from 0x13ec844) returned ECC error

mtd->read(0x514 bytes from 0x13ebaec) returned ECC error

mtd->read(0x44 bytes from 0x13ec888) returned ECC error

u-boot からイメージをフラッシュしました

本番イメージを作成するより良い方法、または NAND フラッシュの本番イメージを作成する正しい方法はありますか?

4

1 に答える 1