cancel
Showing results for 
Search instead for 
Did you mean: 

STM8S003F3 - flash endurance and lab classes

Hello,

The STM8S003F3 is a Value Line device with quite small number of write/erase cycles. The data sheet says:

Program memory: 8 Kbyte Flash memory; data retention 20 years at 55 °C after 100 cycles

---

My wife is going to use very cheap W1209 thermostat module for lab classes in her school. This module based on STM8S003F3 has 7-segment display, buttons, led, relay, temperature sensor.

----

What makes me thinking is the small number of write/erase cycles.

Assuming that the required minimum data retension is a few weeks (maximum period between classes) - how many write/erase cycle is expected for the STM8S003F3 in the room temperature?

Thanks,

Bogdan

5 REPLIES 5
Cristian Gyorgy
Senior III

Hi Bogdan!

I have a small board with a STM8S003F3, that I use for different tests, like function execution times and so on. It has around 200..300 write-erase cycles and I noticed no problem with it so far. Of course, 10 years have not passed yet, nor have I reached 1000 write cycles - but this is all I can share from my experience for now.

If you learn something new form the "abused" MCU in school, please share it with us.

Thank you!

Thank you for sharing your experience!

Yes, I will share the results. At least 20 boards will be used by inexperienced folks so I will expect many erase/write cycles. I hope the boards will survive as the retention of 20years is not required here;)

----

I tested a nice feature in the ST Visual Programmer - the 'Run exec': when you declare in assembler file the code in the RAM segment e.g. the "segment 'ram0'" you will be able to avoid flash programming. The ST Visual Programmer loads & executes the code out of RAM here. It is nice surprise to have such feature for STM8 (I use this feature heavily on STM32 boards in Keil IDE).

I will try to configure the Cosmic linker to do the same for the C code.

Of course the RAM size limits the program size so the feature is mostly useful for assembler programming.

mchahn
Senior

The spec sheets actually says a maximum of 100 cycles ever. This is crazy since it takes 128 cycles to program the full 8k of program memory. So according to the specs you cannot use the full 8k ever.

100 cycles for every byte, not the whole memory.

I wasn't serious but the programming model does refer to programming a word as a cycle. So 100 words would be 100 cycles. 🙂