Hi, Professional Buddies,

Platform CE 6.0
I use IXP 435 CPU, and it connects a 256MB NAND flash at expansion bus
(CS3).

Is there a nand flash driver inside the PB 6.0?
I don't know how to do it.
Could you give me a advise please ?

Re: NAND flash 256MB (K9F5608UOD) driver? by Zebra

Zebra
Tue Jul 08 21:35:54 PDT 2008

It's a good start to review the code in windows ce 6.0

\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\MSFLASHFMD

Basically, NAND flash access is a kind of command type communcation, not
like NOR flash
acccess is address/data type. the CS3 is only meaning the base address to
send the NAND
flash access command.

-Zebra,
MVP @ TECHWARE

"B.R.Liao" <benru.liao@gmail.com> wrote in message
news:fecfa2e9-c37c-4d74-8ea8-232c22dbcfcd@s50g2000hsb.googlegroups.com...
>
> Hi, Professional Buddies,
>
> Platform CE 6.0
> I use IXP 435 CPU, and it connects a 256MB NAND flash at expansion bus
> (CS3).
>
> Is there a nand flash driver inside the PB 6.0?
> I don't know how to do it.
> Could you give me a advise please ?
>
>



Re: NAND flash 256MB (K9F5608UOD) driver? by Bradley

Bradley
Wed Jul 09 12:00:55 PDT 2008

On Jul 8, 2:13 am, "B.R.Liao" <benru.l...@gmail.com> wrote:
> Platform CE 6.0
> I use IXP 435 CPU, and it connects a 256MB NAND flash at expansion bus
> (CS3).
>
> Is there a nand flash driver inside the PB 6.0?
> I don't know how to do it.
> Could you give me a advise please ?

There are two methods models that you may use for your flash driver in
Windows CE 6.0. You may read up more on them here:
http://msdn.microsoft.com/en-us/library/aa925930.aspx.

In short, the MDD/PDD model is new to CE 6.0 R2 and the FAL/FMD model
existed prior to and including CE 6.0 R2.

Both Flash models are in PUBLIC\COMMON\OAK\DRIVERS\BLOCK and are
present under MSFLASHFMD or MSFLASH depending on which model you are
interested in. Some of the folders are for NAND while others are for
other Flash devices (i.e. NOR.)

There is also a wrapper for the new MDD/PDD model that may be used to
use an existing FMD driver in the new MDD/PDD model. If you are
writing a new driver though, I wouldn't recommend going this route,
instead I would pick one model and stick to that.

If you are dealing with NAND and the old FAL/FMD model then I would
suggest looking at the MSFLASHFMD/ECC and H4SAMPLE\SRC\DRIVERS
\NANDFLASH. Other Sample BSPs also likely have a Nand Driver you can
look at.

I don't know much about the IXP Processors or your hardware, but I
doubt that there is a flash driver that you can just directly use for
your platform. At the very least you will have to make modifications
to an existing flash driver. You may want to check the manufacturer
of your processor chip, a lot of them have code samples or application
notes on how to write to NAND for their platform.

My recommendation is to pick a model to use, read up on that model and
what you have to provide (i.e. for the FAL/FMD model you simply have
to provide certain functions to talk to NAND on behalf of the FAL.)

If there is a sample that you can use for your model, try to
understand how the hardware that the sample was written for is
different than your own and try to modify it to match your platform.
Start small, i.e. read the ID of the NAND chip to identify it and move
up from there to Erasing a Block, Reading a Sector, Writing a Sector
etc...

Good Luck,
Brad.