MCU's memory remapping feature

Discussion in 'Embedded Systems and Microcontrollers' started by dor, Feb 15, 2010.

  1. dor

    Thread Starter Active Member

    Feb 20, 2009
    62
    0
    My MCU has a memory remapping feature. For some reason I'm not sure that I really understand what it does and offer, so I'll try to describe this feature and please correct me if you find any errors.

    As I understand, by remapping the memory, all calls to the EEPROM (e.g. FLASH) are directed to the RAM built-in memory.

    It offers faster data reading, and perhaps unintentionally enables changing the data in the read-only section (or any other section) of the binary that was initially loaded to the EEPROM (in contrast to the ANSI C standard).

    Is it correct?
    Did I miss anything?

    Thank you :)
     
  2. retched

    AAC Fanatic!

    Dec 5, 2009
    5,201
    312
    That is basically it.

    This is not always a good thing, however. If you choose to put a value in a particular location in memory, your mapper may change the location. That will result in the wrong result after reading the location. At least it used to.
     
  3. dor

    Thread Starter Active Member

    Feb 20, 2009
    62
    0
    How come?

    For instance, my EEPROM's location is 0x000 to 0x0FF. RAM location is 0x100 to 0x1FF.
    The memory remapping feature will move all data that's in 0x100-0x1FF to the location 0x00-0xFF.

    Unless you meant to the case where I wrote the data to the location (e.g.) 0x101 and when I'll refer to this location again in the code, it will fetch something else (perhaps a machine code from the binary) ?

    Is it appropriate to say that memory remapping is exactly as "shadowing RAM" (also here) ?

    Thank you :)
     
Loading...