MCF5329/Flash support

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MCF5329/Flash support

2,290 Views
avm_ace
Contributor I
Hi,
     Our application requires 256Mb (16Mbx16) of Flash memory for storage. Based on this, we have selected a flash chip from Numonyx of the same requirement. However, the chip has address lines from A25 to A1 whereas the processor address lines are from A23 to A0. At this point, I am seeing only 2 solutions for this interface - either to use any GPIO lines to drive the remaining address bits or go for multiple-chip solutions instead of the single-chip one. Can anyone help me out? I would prefer a single-chip solution rather than a multiple-chip one.

Thanks and regards,
avm_ace
Labels (1)
0 Kudos
6 Replies

576 Views
Allon
Contributor I
If you are using linux, it is relatively easy to set up a "complex map" in the MTD subsystem to use the GPIOs to switch banks. I'm using the Numonyx P30 chip in this capacity on a 5282. You can do what WolfgangW said and use logic on the chip selects, but this only gets you an easy extra address line; if you want two extra address lines, then its a bit more difficult. You COULD get wacky (again on 5282 - my experience with 5329 is nonexistent) with defining the addresses and ranges for the chip selects, except that overlapping ranges force an external 32-bit bus access, and the chip is a 16 bit part.

Message Edited by Allon on 2009-01-06 05:41 PM
0 Kudos

577 Views
w_wegner
Contributor III
Hi Allon,

in case you need the external flash for booting (which probably is the case for avm_ace), using GPIOs is getting somewhat more difficult. (At least this was my idea when thinking about how to configure this and realize in hardware)

BTW, avm_ace, did you read your private messages?

Regards,
Wolfgang
0 Kudos

577 Views
Allon
Contributor I

WolfgangW wrote:
Hi Allon,

in case you need the external flash for booting (which probably is the case for avm_ace), using GPIOs is getting somewhat more difficult.




In my case, we use the CPU's internal flash for the boot loader, although we could use the external flash, starting with the last bank, IIRC, since the GPIOs we used have a primary function of Chip Select, so they'd be high.

-
allon
0 Kudos

577 Views
w_wegner
Contributor III
Hi Allon,

yes, this is what I meant - I think you would either have to use some external logic or end up with a different physical than logical mapping of flash banks because of this.

The MCF532x does not have an internal flash, so using this for the boot-loader is not an option, unfortunately.

Regards,
Wolfgang
0 Kudos

577 Views
avm_ace
Contributor I
Hi WolfgangW,

your guess was right. We are using the external flash for booting purposes also. So it seems your solution is more suitable for our application.
Also, I have replied to your message. Please check your private messages. The delay in-between was because internet was down for some days here.

Thanks and regards,
avm_ace
0 Kudos

577 Views
w_wegner
Contributor III
Hi,

I think you have "too many address lines" - with 25 lines you can address 32 Mwords, which would mean a 512 Mb device.

We use a 256 Mb device (Intel P30) with an MCF5373L, and apart from connecting A1->A1 to A23->A23, I connected FB_CS0 to Flash A24 and used FB_CS1 as a second chip select. The "real" flash chip select is made by ANDing FB_CS0 and FB_CS1 (using a single-gate AND, NC7SZ08 or something). During boot-up, I set up FB_CS0 and FB_CS1 to handle a 16MB region each, resulting in a contiguous 32MB region that can easily be handled by all flash routines.

(You probably have to use FB_CS0 for the "lower" part of the flash anyways to let the processor boot from it...)

Regards,
Wolfgang
0 Kudos