[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Unlocking flash memory

Hello all,
     I've encountered a problem with my development board (ADI
Engineering's 80200EVB, based on an XScale).  Using the bootloader and a
monitor program from MontaVista, I can successfully copy a new filesystem
to the board, but when I attempt to boot the kernel, I get the following
error messages:

jffs2_scan_eraseblock(): Node at 0x0021dc98 {0x1985, 0xe001, 0x0000002e)
has invalid CRC 0xe0021985 (calculated 0x4af89ed4)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0021dc9c:
0x002e instead
jffs2_scan_inode_node(): Data CRC failed on node at 0x002f46cc: Read
0xf2fab84b, calculated 0x07ec666d
Eep. Child "ioctl.save" (ino #736) of dir ino #118 doesn't exist!
Eep. Child "runlevel.dir" (ino #737) of dir ino #196 doesn't exist!
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 52K
INIT: version 2.74 booting
jffs2_read_inode() on nonexistent ino 736

The kernel then oopses because of the failed read_inode call.  I'll
be glad to provide a decoded oops if needed.  After talking with the folks
at ADI, the current theory is that the flash is write-protected on that
indoe and the filesysem is never getting properly written there in the
first place.

Is there a way to use the calls in the JFFS2 file system to un-write
protect some (or all) of the flash memory?  Is there an easier/more
correct way to do this?  Is this an MTD driver-level issue instead of a
file system issue?

We're trying to avoid having to purchase a flash programmer and its
associated software, and if unloking the memory through the kernel or
bootloader is a possiblity, that would be wonderful.

Mitch Trope

To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com