Why isn't there any EEPROM in STM32F4 MCUs?Frequent Write to Non-volatile MemoryWhat's the catch with...

Why do BLDC motor (1kW) controllers have so many mosfets?

Apparently I’m calling random numbers but there's nothing in the call log

Symbolism of number of crows?

How to fetch users in particular domain programmatically in Sitecore9

Can a planet be tidally unlocked?

Run a command that requires sudo after a time has passed

Is Screenshot Time-tracking Common?

What prevents people from lying about where they live in order to reduce state income taxes?

Headless horseman claims new head

Rudeness by being polite

Why would you use 2 alternate layout buttons instead of 1, when only one can be selected at once

How to draw these kind of adjacent ovals with arrows in latex?

Which was the first story to feature space elevators?

Is there any physical or computational justification for non-constructive axioms such as AC or excluded middle?

Are the attributes set by the "chattr" command implemented as extended attributes?

Why is Shelob considered evil?

Have an different color before and after an div with CSS

Does a code with length 6, size 32 and distance 2 exist?

How to know if I am a 'Real Developer'

Found a major flaw in paper from home university – to which I would like to return

Should you blow through the final approach course if the ATC forgot about you?

Ethernet cable only works in certain positions

Is it possible to detect 100% of SQLi with a simple regex?

Does the race of half-elves on Khorvaire in Eberron have its own name?



Why isn't there any EEPROM in STM32F4 MCUs?


Frequent Write to Non-volatile MemoryWhat's the catch with FRAM?STM32F4 - DMA with bigger stepsWhy do most of the non-volatile memories have logical 1 as the default state?Is it possible to have a MCU work at -55 degree, with specification of -40 to 85 degree working environment?STM32 “USB Device” vs. “USB OTG HS” - what is the difference?STM32F4 Timer accuracy and jitterWhen to re-enable WP pin on EEPROM?Are there any wifi chipsets out there that don't have an internal uC or require Linux?Finding an EEPROM substitute













2












$begingroup$


Why isn't there any EEPROM in the STM32F4 series MCUs?



Mostly I have Microchip MCUs and they have EEPROM available in them, but I just found out that it is not available in the STM32F4 MCUs... And it looks like not in other families as 'F0, F1, F2 and F3 either.



Is there a way around to save parameter values in the absence of an EEPROM?










share|improve this question











$endgroup$








  • 2




    $begingroup$
    "What could be a good reason?" questions do not fit within the Stack Exchange mission, and "such an important memory area" is very application-determined. Looks like no EEPROM in the STM32L4's either, but the L0's and L1's have it. Or you can add an extra chip if you have a need for which emulation won't work.
    $endgroup$
    – Chris Stratton
    14 hours ago








  • 3




    $begingroup$
    That would be entirely application dependent. Since you've said nothing about what you are trying to do for a question which would have to consider the specifics in extreme detail, no one can help you.
    $endgroup$
    – Chris Stratton
    14 hours ago






  • 2




    $begingroup$
    The most likely explanation is that the application(s) for which the chip was initially developed did not require it. Remember, EVERY chip ever developed was designed for a specific large-volumne application, and only later added to the manufacturer's general catalog. The overhead of a new chip design is just too high to allow designing chips speculatively.
    $endgroup$
    – Dave Tweed
    13 hours ago






  • 1




    $begingroup$
    "such an important memory area" - important to who? I'm currently working on a project using an STM32F4 device and I would have no use whatsoever for a little bit of internal EEPROM. The extra cost it would add to the device would certainly make a difference though.
    $endgroup$
    – brhans
    13 hours ago






  • 2




    $begingroup$
    Small amounts of external EEPROM are not terribly expensive.
    $endgroup$
    – mkeith
    5 hours ago
















2












$begingroup$


Why isn't there any EEPROM in the STM32F4 series MCUs?



Mostly I have Microchip MCUs and they have EEPROM available in them, but I just found out that it is not available in the STM32F4 MCUs... And it looks like not in other families as 'F0, F1, F2 and F3 either.



Is there a way around to save parameter values in the absence of an EEPROM?










share|improve this question











$endgroup$








  • 2




    $begingroup$
    "What could be a good reason?" questions do not fit within the Stack Exchange mission, and "such an important memory area" is very application-determined. Looks like no EEPROM in the STM32L4's either, but the L0's and L1's have it. Or you can add an extra chip if you have a need for which emulation won't work.
    $endgroup$
    – Chris Stratton
    14 hours ago








  • 3




    $begingroup$
    That would be entirely application dependent. Since you've said nothing about what you are trying to do for a question which would have to consider the specifics in extreme detail, no one can help you.
    $endgroup$
    – Chris Stratton
    14 hours ago






  • 2




    $begingroup$
    The most likely explanation is that the application(s) for which the chip was initially developed did not require it. Remember, EVERY chip ever developed was designed for a specific large-volumne application, and only later added to the manufacturer's general catalog. The overhead of a new chip design is just too high to allow designing chips speculatively.
    $endgroup$
    – Dave Tweed
    13 hours ago






  • 1




    $begingroup$
    "such an important memory area" - important to who? I'm currently working on a project using an STM32F4 device and I would have no use whatsoever for a little bit of internal EEPROM. The extra cost it would add to the device would certainly make a difference though.
    $endgroup$
    – brhans
    13 hours ago






  • 2




    $begingroup$
    Small amounts of external EEPROM are not terribly expensive.
    $endgroup$
    – mkeith
    5 hours ago














2












2








2


1



$begingroup$


Why isn't there any EEPROM in the STM32F4 series MCUs?



Mostly I have Microchip MCUs and they have EEPROM available in them, but I just found out that it is not available in the STM32F4 MCUs... And it looks like not in other families as 'F0, F1, F2 and F3 either.



Is there a way around to save parameter values in the absence of an EEPROM?










share|improve this question











$endgroup$




Why isn't there any EEPROM in the STM32F4 series MCUs?



Mostly I have Microchip MCUs and they have EEPROM available in them, but I just found out that it is not available in the STM32F4 MCUs... And it looks like not in other families as 'F0, F1, F2 and F3 either.



Is there a way around to save parameter values in the absence of an EEPROM?







microcontroller stm32 stm32f4 eeprom non-volatile-memory






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 6 mins ago









Peter Mortensen

1,60031422




1,60031422










asked 14 hours ago









scico111scico111

30810




30810








  • 2




    $begingroup$
    "What could be a good reason?" questions do not fit within the Stack Exchange mission, and "such an important memory area" is very application-determined. Looks like no EEPROM in the STM32L4's either, but the L0's and L1's have it. Or you can add an extra chip if you have a need for which emulation won't work.
    $endgroup$
    – Chris Stratton
    14 hours ago








  • 3




    $begingroup$
    That would be entirely application dependent. Since you've said nothing about what you are trying to do for a question which would have to consider the specifics in extreme detail, no one can help you.
    $endgroup$
    – Chris Stratton
    14 hours ago






  • 2




    $begingroup$
    The most likely explanation is that the application(s) for which the chip was initially developed did not require it. Remember, EVERY chip ever developed was designed for a specific large-volumne application, and only later added to the manufacturer's general catalog. The overhead of a new chip design is just too high to allow designing chips speculatively.
    $endgroup$
    – Dave Tweed
    13 hours ago






  • 1




    $begingroup$
    "such an important memory area" - important to who? I'm currently working on a project using an STM32F4 device and I would have no use whatsoever for a little bit of internal EEPROM. The extra cost it would add to the device would certainly make a difference though.
    $endgroup$
    – brhans
    13 hours ago






  • 2




    $begingroup$
    Small amounts of external EEPROM are not terribly expensive.
    $endgroup$
    – mkeith
    5 hours ago














  • 2




    $begingroup$
    "What could be a good reason?" questions do not fit within the Stack Exchange mission, and "such an important memory area" is very application-determined. Looks like no EEPROM in the STM32L4's either, but the L0's and L1's have it. Or you can add an extra chip if you have a need for which emulation won't work.
    $endgroup$
    – Chris Stratton
    14 hours ago








  • 3




    $begingroup$
    That would be entirely application dependent. Since you've said nothing about what you are trying to do for a question which would have to consider the specifics in extreme detail, no one can help you.
    $endgroup$
    – Chris Stratton
    14 hours ago






  • 2




    $begingroup$
    The most likely explanation is that the application(s) for which the chip was initially developed did not require it. Remember, EVERY chip ever developed was designed for a specific large-volumne application, and only later added to the manufacturer's general catalog. The overhead of a new chip design is just too high to allow designing chips speculatively.
    $endgroup$
    – Dave Tweed
    13 hours ago






  • 1




    $begingroup$
    "such an important memory area" - important to who? I'm currently working on a project using an STM32F4 device and I would have no use whatsoever for a little bit of internal EEPROM. The extra cost it would add to the device would certainly make a difference though.
    $endgroup$
    – brhans
    13 hours ago






  • 2




    $begingroup$
    Small amounts of external EEPROM are not terribly expensive.
    $endgroup$
    – mkeith
    5 hours ago








2




2




$begingroup$
"What could be a good reason?" questions do not fit within the Stack Exchange mission, and "such an important memory area" is very application-determined. Looks like no EEPROM in the STM32L4's either, but the L0's and L1's have it. Or you can add an extra chip if you have a need for which emulation won't work.
$endgroup$
– Chris Stratton
14 hours ago






$begingroup$
"What could be a good reason?" questions do not fit within the Stack Exchange mission, and "such an important memory area" is very application-determined. Looks like no EEPROM in the STM32L4's either, but the L0's and L1's have it. Or you can add an extra chip if you have a need for which emulation won't work.
$endgroup$
– Chris Stratton
14 hours ago






3




3




$begingroup$
That would be entirely application dependent. Since you've said nothing about what you are trying to do for a question which would have to consider the specifics in extreme detail, no one can help you.
$endgroup$
– Chris Stratton
14 hours ago




$begingroup$
That would be entirely application dependent. Since you've said nothing about what you are trying to do for a question which would have to consider the specifics in extreme detail, no one can help you.
$endgroup$
– Chris Stratton
14 hours ago




2




2




$begingroup$
The most likely explanation is that the application(s) for which the chip was initially developed did not require it. Remember, EVERY chip ever developed was designed for a specific large-volumne application, and only later added to the manufacturer's general catalog. The overhead of a new chip design is just too high to allow designing chips speculatively.
$endgroup$
– Dave Tweed
13 hours ago




$begingroup$
The most likely explanation is that the application(s) for which the chip was initially developed did not require it. Remember, EVERY chip ever developed was designed for a specific large-volumne application, and only later added to the manufacturer's general catalog. The overhead of a new chip design is just too high to allow designing chips speculatively.
$endgroup$
– Dave Tweed
13 hours ago




1




1




$begingroup$
"such an important memory area" - important to who? I'm currently working on a project using an STM32F4 device and I would have no use whatsoever for a little bit of internal EEPROM. The extra cost it would add to the device would certainly make a difference though.
$endgroup$
– brhans
13 hours ago




$begingroup$
"such an important memory area" - important to who? I'm currently working on a project using an STM32F4 device and I would have no use whatsoever for a little bit of internal EEPROM. The extra cost it would add to the device would certainly make a difference though.
$endgroup$
– brhans
13 hours ago




2




2




$begingroup$
Small amounts of external EEPROM are not terribly expensive.
$endgroup$
– mkeith
5 hours ago




$begingroup$
Small amounts of external EEPROM are not terribly expensive.
$endgroup$
– mkeith
5 hours ago










2 Answers
2






active

oldest

votes


















17












$begingroup$

All STM32 MCUs have self-programmable flash memory. If you need to store user settings, you can store them in an area of flash.



ST provides a library to perform EEPROM emulation on the STM32F4. (There are similar libraries for most of their other parts as well.) Even if you don't plan on using that library, their application note explaining how it works may be interesting to read.






share|improve this answer











$endgroup$









  • 3




    $begingroup$
    This is correct but it is a poor substitute. The CPU cannot execute while the flash is being written or erased, and erasing takes a long time. There are tricks (multi flash banks, ram functions) but none are as tidy as just having an internal eeprom like AVR and PIC.
    $endgroup$
    – Jon
    14 hours ago












  • $begingroup$
    @Jon of 577 Microchip PIC32 and Atmel 32 bit MCUs currently in production, only 63 have Data EEPROM. microchip.com/ParamChartSearch/…
    $endgroup$
    – Bruce Abbott
    12 hours ago



















7












$begingroup$

EEPROM is very expensive in terms of cell size (leading to a larger die and hence higher cost). Manufacturers started trying to get rid of EEPROM as soon as the first Flash based controllers were released.



Especially when you consider the varying user requirements for the amount of EEPROM, it makes more sense to emulate in Flash, despite the limitations. As opposed to (for example) having a fixed 512 bytes of EEPROM, when one customer is only using 20 bytes, but paying for 512.






share|improve this answer








New contributor




elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("schematics", function () {
    StackExchange.schematics.init();
    });
    }, "cicuitlab");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "135"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f423293%2fwhy-isnt-there-any-eeprom-in-stm32f4-mcus%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    17












    $begingroup$

    All STM32 MCUs have self-programmable flash memory. If you need to store user settings, you can store them in an area of flash.



    ST provides a library to perform EEPROM emulation on the STM32F4. (There are similar libraries for most of their other parts as well.) Even if you don't plan on using that library, their application note explaining how it works may be interesting to read.






    share|improve this answer











    $endgroup$









    • 3




      $begingroup$
      This is correct but it is a poor substitute. The CPU cannot execute while the flash is being written or erased, and erasing takes a long time. There are tricks (multi flash banks, ram functions) but none are as tidy as just having an internal eeprom like AVR and PIC.
      $endgroup$
      – Jon
      14 hours ago












    • $begingroup$
      @Jon of 577 Microchip PIC32 and Atmel 32 bit MCUs currently in production, only 63 have Data EEPROM. microchip.com/ParamChartSearch/…
      $endgroup$
      – Bruce Abbott
      12 hours ago
















    17












    $begingroup$

    All STM32 MCUs have self-programmable flash memory. If you need to store user settings, you can store them in an area of flash.



    ST provides a library to perform EEPROM emulation on the STM32F4. (There are similar libraries for most of their other parts as well.) Even if you don't plan on using that library, their application note explaining how it works may be interesting to read.






    share|improve this answer











    $endgroup$









    • 3




      $begingroup$
      This is correct but it is a poor substitute. The CPU cannot execute while the flash is being written or erased, and erasing takes a long time. There are tricks (multi flash banks, ram functions) but none are as tidy as just having an internal eeprom like AVR and PIC.
      $endgroup$
      – Jon
      14 hours ago












    • $begingroup$
      @Jon of 577 Microchip PIC32 and Atmel 32 bit MCUs currently in production, only 63 have Data EEPROM. microchip.com/ParamChartSearch/…
      $endgroup$
      – Bruce Abbott
      12 hours ago














    17












    17








    17





    $begingroup$

    All STM32 MCUs have self-programmable flash memory. If you need to store user settings, you can store them in an area of flash.



    ST provides a library to perform EEPROM emulation on the STM32F4. (There are similar libraries for most of their other parts as well.) Even if you don't plan on using that library, their application note explaining how it works may be interesting to read.






    share|improve this answer











    $endgroup$



    All STM32 MCUs have self-programmable flash memory. If you need to store user settings, you can store them in an area of flash.



    ST provides a library to perform EEPROM emulation on the STM32F4. (There are similar libraries for most of their other parts as well.) Even if you don't plan on using that library, their application note explaining how it works may be interesting to read.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited 14 hours ago

























    answered 14 hours ago









    duskwuffduskwuff

    17.5k32752




    17.5k32752








    • 3




      $begingroup$
      This is correct but it is a poor substitute. The CPU cannot execute while the flash is being written or erased, and erasing takes a long time. There are tricks (multi flash banks, ram functions) but none are as tidy as just having an internal eeprom like AVR and PIC.
      $endgroup$
      – Jon
      14 hours ago












    • $begingroup$
      @Jon of 577 Microchip PIC32 and Atmel 32 bit MCUs currently in production, only 63 have Data EEPROM. microchip.com/ParamChartSearch/…
      $endgroup$
      – Bruce Abbott
      12 hours ago














    • 3




      $begingroup$
      This is correct but it is a poor substitute. The CPU cannot execute while the flash is being written or erased, and erasing takes a long time. There are tricks (multi flash banks, ram functions) but none are as tidy as just having an internal eeprom like AVR and PIC.
      $endgroup$
      – Jon
      14 hours ago












    • $begingroup$
      @Jon of 577 Microchip PIC32 and Atmel 32 bit MCUs currently in production, only 63 have Data EEPROM. microchip.com/ParamChartSearch/…
      $endgroup$
      – Bruce Abbott
      12 hours ago








    3




    3




    $begingroup$
    This is correct but it is a poor substitute. The CPU cannot execute while the flash is being written or erased, and erasing takes a long time. There are tricks (multi flash banks, ram functions) but none are as tidy as just having an internal eeprom like AVR and PIC.
    $endgroup$
    – Jon
    14 hours ago






    $begingroup$
    This is correct but it is a poor substitute. The CPU cannot execute while the flash is being written or erased, and erasing takes a long time. There are tricks (multi flash banks, ram functions) but none are as tidy as just having an internal eeprom like AVR and PIC.
    $endgroup$
    – Jon
    14 hours ago














    $begingroup$
    @Jon of 577 Microchip PIC32 and Atmel 32 bit MCUs currently in production, only 63 have Data EEPROM. microchip.com/ParamChartSearch/…
    $endgroup$
    – Bruce Abbott
    12 hours ago




    $begingroup$
    @Jon of 577 Microchip PIC32 and Atmel 32 bit MCUs currently in production, only 63 have Data EEPROM. microchip.com/ParamChartSearch/…
    $endgroup$
    – Bruce Abbott
    12 hours ago













    7












    $begingroup$

    EEPROM is very expensive in terms of cell size (leading to a larger die and hence higher cost). Manufacturers started trying to get rid of EEPROM as soon as the first Flash based controllers were released.



    Especially when you consider the varying user requirements for the amount of EEPROM, it makes more sense to emulate in Flash, despite the limitations. As opposed to (for example) having a fixed 512 bytes of EEPROM, when one customer is only using 20 bytes, but paying for 512.






    share|improve this answer








    New contributor




    elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






    $endgroup$


















      7












      $begingroup$

      EEPROM is very expensive in terms of cell size (leading to a larger die and hence higher cost). Manufacturers started trying to get rid of EEPROM as soon as the first Flash based controllers were released.



      Especially when you consider the varying user requirements for the amount of EEPROM, it makes more sense to emulate in Flash, despite the limitations. As opposed to (for example) having a fixed 512 bytes of EEPROM, when one customer is only using 20 bytes, but paying for 512.






      share|improve this answer








      New contributor




      elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      $endgroup$
















        7












        7








        7





        $begingroup$

        EEPROM is very expensive in terms of cell size (leading to a larger die and hence higher cost). Manufacturers started trying to get rid of EEPROM as soon as the first Flash based controllers were released.



        Especially when you consider the varying user requirements for the amount of EEPROM, it makes more sense to emulate in Flash, despite the limitations. As opposed to (for example) having a fixed 512 bytes of EEPROM, when one customer is only using 20 bytes, but paying for 512.






        share|improve this answer








        New contributor




        elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






        $endgroup$



        EEPROM is very expensive in terms of cell size (leading to a larger die and hence higher cost). Manufacturers started trying to get rid of EEPROM as soon as the first Flash based controllers were released.



        Especially when you consider the varying user requirements for the amount of EEPROM, it makes more sense to emulate in Flash, despite the limitations. As opposed to (for example) having a fixed 512 bytes of EEPROM, when one customer is only using 20 bytes, but paying for 512.







        share|improve this answer








        New contributor




        elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        share|improve this answer



        share|improve this answer






        New contributor




        elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        answered 8 hours ago









        elchambroelchambro

        711




        711




        New contributor




        elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.





        New contributor





        elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






        elchambro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Electrical Engineering Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f423293%2fwhy-isnt-there-any-eeprom-in-stm32f4-mcus%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Parapolítica Índice Antecedentes El escándalo Proceso judicial Consecuencias Véase...

            How to remove border from elements in the last row?Targeting flex items on the last rowHow to vertically wrap...

            Tecnologías entrañables Índice Antecedentes Desarrollo Tecnologías Entrañables en la...