cancel
Showing results for 
Search instead for 
Did you mean: 

Multiplexing SRAM,NOR Flash and NAND Flash ?

antonius
Senior
Posted on April 26, 2014 at 01:36

Guys,

How can I multiplex SRAM,NOR Flash and NAND Flash on PD7 ?

It's function as PD7 FSMC_NE1/FSMC_NCE2 on pin 88 for STM32F103VCT6,

is it configurable via software or I need to put a latch / multiplex chip for it ?

Any examples for it (schematic)? What's the common application for NAND flash ?

Can I run my code from NOR Flash ? I saw there's boot option

''System memory is selected as boot space'', page 48 STM32 reference, chapter 2.4 Boot Configuration...

Thanks

#fsmc
15 REPLIES 15
Posted on April 26, 2014 at 01:57

You'd probably want to gate it with a high order address bit.

System Memory is the OTP ROM at 0x1FFFFxxx, and which contains the system loader. You'd have to put some start up code in Flash to configure the external bus before you could execute-in-place off the NOR device, and this would run slower on the external bus.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
antonius
Senior
Posted on April 26, 2014 at 02:03

Can I run the code from NAND flash ? I have NAND flash only now, how can I upload the code to NAND flash ?

thanks

Posted on April 26, 2014 at 03:15

NAND devices are block access, like a hard drive, you can't execute-in-place, you'd need to copy the data into RAM and you could run it from there.

You see NAND and Serial NOR devices on Embedded Linux boards, what they typically do is copy the executable image in to a large SDRAM/DDRx memory, and have ARM9/10 CPU's with caches and memory management units.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
antonius
Senior
Posted on April 26, 2014 at 04:59

Do you have a reference / example for schematic on using NAND and NOR with SRAM for STM32F103VCT6 ? The one I saw on ST3210 Eval is for STM32F103ZET6...

Thanks

Posted on April 26, 2014 at 05:03

Does you part have the FSMC? If it does aren't the pins used materially identical?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on April 26, 2014 at 05:10

Get the data sheets and work through the pin lists.

http://www.keil.com/mcbstm32exl/mcbstm32e-base-board-schematics.pdf

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
antonius
Senior
Posted on April 26, 2014 at 05:47

Ok thanks for the info,

if I have 512x16 SRAM, it means I have 1 Mbyte of SRAM ? so if I want to have 4 Mbyte I can use 512x16 SRAM, 4 pieces, correct me if I'm wrong,

thank you

Posted on April 26, 2014 at 06:00

Yes, 1MB

For multiple devices you'd either want to add your own decoder on the high order addresses, or see if the CSx provided by the STM32 are usable.

In the old days you'd use something like an 74LS138

Renesas has a 64Mbit (8MB) part R1WV6416R, there might be others
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
antonius
Senior
Posted on April 27, 2014 at 04:09

Thanks for the info,

I saw on STM32F103VCT6

Pin 88,  PD7, FSMC_NE1/FSMC_NCE2

0690X00000602uAQAQ.jpg

and

0690X00000602uKQAQ.jpg

How can I call PSRAM,NOR flash and NAND flash ?

Will I controll them by software ? How can I control the NE1 Chip Select for two devices SRAM and NOR flash ? any clues ?thanks