0

I have a ATmega32-16PU microcontroller which have 32 KB memory and about 2 KB memory inside EEPROM, but as we know, the EEPROM has a cycle limit.

  1. Can I use the microcontroller Memory, without using the EEPROM ("avoid using EEPROM")?

  2. What pins is the EEPROM and how does the code look like?

  3. Does the microcontroller itself have any cycle limit or lifetime?

4
  • 1
    Typically the EEPROM is not exposed on external pins but only available internally to the uP. No, the uP doesn't have any cycle limit and will die like any other semiconductor device, but not like EEPROMs with usage limits. Yes, you can use the uP without using the EEPROM. Commented Jan 7, 2012 at 22:07
  • Nice, but how can i use the built in EEPROM? Commented Jan 7, 2012 at 22:11
  • You'll find assembly/c APIs to access it. Just google it. Commented Jan 7, 2012 at 22:13
  • 1
    atmel.com/dyn/resources/prod_documents/doc1497.pdf Commented Jan 7, 2012 at 22:16

1 Answer 1

3

The cycle limit is on writes, not reads.

You should be writing non-volatle configuration data to the EEPROM, and volatile data to RAM.

The write limit is usually into the several million writes before the EEPROM becomes worn, so I wouldn't worry about wearing it out during development.

You don't mention what language or development tool you are using, but usually there are specific routines/calls/pragmas for readign and writing to the eeprom, if you aren't specifically calling them, the chances are you are not writing to the EEPROM.

Normally only the bootloader is burnt into the EEPROM, user programs are loaded into RAM, memory writes/reads by the user program are in RAM (unless they specifically try and store some non-volatile data back into EEPROM).

Sign up to request clarification or add additional context in comments.

4 Comments

I'm using the C++ language and Jtag programmer, but can i use a flash usb instead of eeprom ?
there are many use cases for a microcontroller to save non-volatile information in its own ROM. you have to try to keep the number of writes under the limit for the lifetime of the device. Not every power cycle for example, only when users change something, maybe timezone on a clock for example.
@rszemeti are you sure that bootloader is burnt into eeprom??
The Flash write limit is specified on the datasheet as 10,000 writes. The EEPROM is specified as 100,000 writes before a specific location becomes worn. If you accidentally code an infinite loop writing data to the EEPROM you can wear out a byte in seconds. Since the AVR is Harvard architecture you can not run code out of ram, The bootloader and user programs are programmed into the Flash. Memory writes/reads by the user program are in RAM (unless they specifically read and write data the the Flash or EEPROM).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.