[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] 16-bit flash again... More clues and info
Hi,
I am also struggling with flash memory, I have built a flash circuit
by myself and wanna integrate it with Spartan II board running
uClinux.
The first thing I would like to do before mounting the kernel image,
is to check the avaliability of the flash memory and then check
read/write function on the flash memory. How can I do so??
thx,
SKY
On Apr 5, 2005 11:40 AM, Greg Miller <apco25@yahoo.com> wrote:
> John and all,
>
> I am still struggling with the flash in 16-bit mode. Has ANYONE got 16-bit
> flash to work with the latest uclinux? If no one know, please point me in
> the direction of a place where I can post this to get an answer. Is there a
> jffs2 forum?
>
> Here is what I have done:
> (I enabled jffs2 file system) -> This fixed the other issue I posted about
> the system not recognized)
>
> (Flash is recognized and the partitions seems to be correct):
> I am targeting mtd6 (jffs2 block)
>
>
> 1). create a jffs2 file system image
> mkfs.jffs2 -p 0x400000 -r /var/run -e 0x20000 -o jffs2.img
>
> 2). Copy image to mtd6
> cp jffs2.img /dev/mtd6
>
> 3). Attempt to mount image
> mount -t jffs2 /dev/mtdblock6 /var
>
> This is where it fails. Notice it sees the 1985 but does not correctly
> calculate the CRC. This is because it is not seeing it as 16-bit, but seems
> to think the flash is 32-bit. And so, always reads xxxx0000 for the CRC.
> Also, the CRC must be incorrect.
>
> Here is an example
>
> jffs2: read_super for device 1f:06
> jffs2_scan_eraseblock(): Scanning block at 0x0
> jffs2_scan_eraseblock(): Node at 0x00000000 {0x1985, 0x0000, 0x00000000) has
> invalid CRC 0x2d2e0000 (calculated 0xbe76ea63)
> Empty bitmask at 0x00000004
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008:
> 0x2d2e instead
>
> This is followed by a long srting of the mount trying to mount anything it
> can find in the 0x400000 jffs2 flash block.
>
> 4). OK, so I tested the flash by reading the info from the flash back to a
> file:
> dd if=/dev/mtd6 of=/tmp/image_test.bin
>
> This file read back from the flash is perfect and matches the file created
> from the mkfs.jffs2 command.
>
> However : when I do a cp /dev/mtd6 jffs2_test.img it reads it back
> incorrectly and puts in 0000s every other half-word. So, this is broken in
> that it thinks its 32-bits?
>
> Any help would be greatly appreciated. I have been working on this and the
> troubleshooting quite a bit.
>
> Thanks,
> Greg Miller
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/