cancel
Showing results for 
Search instead for 
Did you mean: 

Writing and reading external parallel flash with STM32

VarioSL
Associate

Hello

I am using STM32F103C8 and I want to read and write to CAT28F010P Flash chip.

This flash chip has parallel buses for data and address. Also there are 3 control lines as CE, OE and WE.

So there are 28 lines in total coming out of this chip. I was able to physically interface all lines with  STM32F103C8.

But I have no idea how to code the microcontroller in order to get that done.

Please help!

Thanks

 

currently I use STM32CubeMX and Keil uVision 5 as developing environment. Program debugger is st-link v2.

6 REPLIES 6

@VarioSL wrote:

But I have no idea how to code the microcontroller in order to get that done.


Read the datasheet for the Flash chip - that will show you what needs to happen on all the interface lines.

But wouldn't it be better to just use a flash chip with a serial interface?

 

PS:


@VarioSL wrote:

This flash chip has parallel buses for data and address. Also there are 3 control lines as CE, OE and WE.

So there are 28 lines in total


You mean 31 in total.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Do you have the FMC bus up, and can you interact with the memory?

You can either write your app per the part data sheet to send the sequences to erase, write and wait of the Flash device.

Test your methods there as you'll need to write an external loader FLM for Keil, or STLDR for STM32 Cube Programmer to interact and program the external flash during download. 

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

Does an STM32F103C8 have FMC (aka FSMC) ?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

I don't recall. The OP doesn't really indicate what GPIO pins were committed here.

Seems like a lot of work to add this memory to this part.

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

But it is also questionable why the OP would want to laboriously control a parallel flash with 128KB when there are STM32F103 with up to 1MB flash.

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

@Tesla DeLorean wrote:

Seems like a lot of work to add this memory to this part.



@Peter BENSCH wrote:

But it is also questionable why the OP would want to laboriously control a parallel flash with 128KB when there are STM32F103 with up to 1MB flash.


Plus the STM32F103C8 has only 48 pins total:

31 pins used for this parallel flash;

10 pins occupied by power supplies, reset, etc

only leaves 7 pins free to use!

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.