This would seem to be a pretty common thing to do, but for some reason
it wasn't described anywhere that I could find...
If you want to be able to update your kernel or uboot image in NAND (I'm
using a DM355 platform, but this should work for others) *while* your
system is running and without the use of a JTAG device, these are the
commands that I use to do this:
/usr/sbin/flash_eraseall -j /dev/mtd2
/usr/sbin/nandwrite -p /dev/mtd2 uImage
This example updates the kernel. It is assumed that /dev/mtd2 is your
NAND kernel partition. Uboot would be /dev/mtd0.
Also if you see any bad blocks during the erase operation you'll need to
make sure they don't occur in the middle of your kernel code. It seems
that the bootloader doesn't understand bad blocks and will NOT skip
them. So you need to have a contiguous set of good blocks for your kernel.
I've been able to save some bad boards in the past by moving the kernel
away from the bad block area and changing the uboot 'nboot' command to
match that offset.
Enjoy,
Steve
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source