cancel
Showing results for 
Search instead for 
Did you mean: 

How to drive external flash memory using stm32f103vet6

manoj23
Associate II
Posted on February 01, 2013 at 12:10

Hi,

I have connected external flash memory to my board and using stm32f103vet6 controller. I want to drive this flash memory. So how can i drive that one? And after driving flash memory how can i make sure that flash memory drived? Means after driving it successfully how can i understand that i have finished with driving part of flash memory? I have gone through FSMC configuration part, i get confused in that.

Reply me soon.

Thanks and Regards,

Jonam
4 REPLIES 4
Posted on February 01, 2013 at 15:44

NAND or NOR Flash? Does it have a part number?

FSMC will depend on how fast it is, how it's wired.

Look at the ST EVAL series boards both for wiring, and software examples/templates.

NAND Flash will require software to manage the blocks and handle the ECC, a Google search should bring up plenty of examples.

NOR review the data sheet for programming/erase details, examples in Keil tool chain, on the net.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
manoj23
Associate II
Posted on February 02, 2013 at 05:34

Hi Clive1,

My Flash memory is NAND flash memory and it is Samsung 934 k9f1208uoc-pcbo.

manoj23
Associate II
Posted on February 04, 2013 at 07:21

Hi Clive1,

I have made changes in my code for that external flash memory. After that my code gets stuck at one point and it is like 0x80019E6: 0xE7FE    B.N.   0x80019E6. It does not move ahead from this point. So what might be the issue? Or you just tell me the meaning of that line which i have mentioned above, further i will try.

Thanks & Regards,

Jonam

Posted on February 04, 2013 at 16:31

An infinite loop. Probably a Hard Fault. This will likely occur if you touch an address not supported by the CPU, your handler or debug process will need to decode the fault state the CPU stacked to identify the address and registers at the faulting instruction. The external memory should be in the 0x60000000 region. Remember NAND is not a linear access device.

Look at your .MAP and check the address of HardFault_Handler.

The NAND is 64MB 8-bit wide, accessed with 512+16 byte pages, 16K+512 blocks.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..