VAR-SOM-AM33 NAND Flash Burning: Difference between revisions

From Variscite Wiki
Line 3: Line 3:
Variscite provides a sample script which burns all required images (MLO, U-BOOT, zImage, device tree, and UBI rootfs) to NAND-Flash.<br>
Variscite provides a sample script which burns all required images (MLO, U-BOOT, zImage, device tree, and UBI rootfs) to NAND-Flash.<br>
For sample script, please refer to : https://github.com/varigit/meta-variscite-amx3/blob/master/utils/nand-recovery.sh <br>
For sample script, please refer to : https://github.com/varigit/meta-variscite-amx3/blob/master/utils/nand-recovery.sh <br>
In the above example script, images reside in /opt/TISDK
In the above example script, NAND-Flash binaries reside in /opt/TISDK on the SD-Card


== Step by step manual flashing of NAND binaries ==
== Step by step manual flashing of NAND binaries ==

Revision as of 20:26, 21 December 2015

Flash Images to NAND

using nand-recovery.sh script

Variscite provides a sample script which burns all required images (MLO, U-BOOT, zImage, device tree, and UBI rootfs) to NAND-Flash.
For sample script, please refer to : https://github.com/varigit/meta-variscite-amx3/blob/master/utils/nand-recovery.sh
In the above example script, NAND-Flash binaries reside in /opt/TISDK on the SD-Card

Step by step manual flashing of NAND binaries

Replacing Nand Flash images can be done from either Linux user space or U-Boot.

From U-Boot

U-Boot # mmc rescan
U-Boot # nand erase 0x0 0x280000
U-Boot # mmc rescan
U-Boot # fatload mmc ${mmc_dev} ${loadaddr} MLO
U-Boot # nand write ${loadaddr} 0x0 0x20000
U-Boot # nand write ${loadaddr} 0x20000 0x20000
U-Boot # nand write ${loadaddr} 0x40000 0x20000
U-Boot # fatload mmc ${mmc_dev} ${loadaddr} u-boot.img
U-Boot # nand write ${loadaddr} 0x80000 0x1c0000
U-Boot # fatload mmc ${mmc_dev} ${loadaddr} uImage
U-Boot # nand erase 0x280000 0x500000
U-Boot # nand write ${loadaddr} 0x280000 0x500000

From Linux shell

  << Install SPL >>
$ flash_erase /dev/mtd0 0 0
$ flash_erase /dev/mtd1 0 0
$ flash_erase /dev/mtd2 0 0
$ flash_erase /dev/mtd3 0 0
$ nandwrite -p /dev/mtd0 <MLO file>
$ nandwrite -p /dev/mtd1 <MLO file>
$ nandwrite -p /dev/mtd2 <MLO file>
$ nandwrite -p /dev/mtd3 <MLO file>

  << Install U-Boot >>
$ flash_erase /dev/mtd4 0 0
$ flash_erase /dev/mtd5 0 0
$ nandwrite -p /dev/mtd4 <u-boot.img file>

  << Install Kernel >>
$ flash_erase /dev/mtd6 0 0
$ nandwrite -p /dev/mtd6 <uImage file>