cancel
Showing results for 
Search instead for 
Did you mean: 

STR750: New restriction for flash usage?

matti
Associate II
Posted on April 19, 2007 at 03:39

STR750: New restriction for flash usage?

7 REPLIES 7
matti
Associate II
Posted on April 13, 2007 at 02:30

Just published (2007-04-11) version of Reference manual says that all peripheral clocks must be stopped while flash is programmed (Chapter 1.3.4,page 23). I would like to save data to BANK1 during normal operation but it is quite inconvenient to halt PWM or UART for that. Is there any solution for this?

jgoril
Associate II
Posted on April 17, 2007 at 07:46

Hi. Where did you find this manual? Could you, please, provide a link?

BTW, I use STR750 in my project without stopping peripheral clocks and programming works fine...

matti
Associate II
Posted on April 17, 2007 at 09:40

The standard page for processor data:

http://mcu.st.com/mcu/modules.php?name=mcu&file=devicedocs&DEV=STR755FR0

Page claims date 0ct-2006 but when you load actual pdf you see it is april-2007.

jgoril
Associate II
Posted on April 17, 2007 at 14:16

But I can see that this applies only for RWW operation (read while write). It means, this applies if you want simultaneously execute from one bank and write to another bank. However, executing from RAM and concurrent write to FLASH seems to be without restrictions... Simply try to rewrite your code to run from RAM during flash write operation... I can confirm that I haven't observe any problems while working (programming/erasing/reading) with FLASH from RAM. My MCLK is 30 MHz, PCLK clocks GPIO.

matti
Associate II
Posted on April 18, 2007 at 03:25

My project is still in early phase so I don't know the size of my code, but I think it doesn't fit to RAM. Even splitting the code critical/noncritical part does not help (or it makes situation extremely complex).

Has anyone used RWW method and still kept peripherals on during flash write?

jgoril
Associate II
Posted on April 18, 2007 at 07:01

...and what about alocating buffer for incoming data with some reasonable length in RAM and then writing it into flash in batch? So minimizing the count of RWW situations in this way...

Or... typical program loops in infinite loop and reacts to environment in interrupt routines. What about having the loop and flash write routine in RAM and the rest in flash? I don't know anything about your application, but probably you need to write some data on their receive (from UART?). So the write is triggered on interrupt anyway...

matti
Associate II
Posted on April 19, 2007 at 03:39

Well, have to think about this... Program have to monitor heavy bus traffic with message filtering, error checking and strict response time requirements etc. (and several other time critical jobs too). -> Very hard to put all that functionality to ram. Let's see what I can do. Thank you anyway!