MCU's memory remapping feature

Thread Starter

dor

Joined Feb 20, 2009
63
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 :)
 

retched

Joined Dec 5, 2009
5,207
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.
 

Thread Starter

dor

Joined Feb 20, 2009
63
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.
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 :)
 
Top