Overlay support in ARM® Compiler
There are situations when you might want to load some code in memory, then replace it with different code. For example, your system might have memory constraints that mean you cannot load all code into memory at the same time.
The solution is to create an overlay region where each piece of overlaid code is unloaded and loaded by an overlay manager:
- Overlay region
- An area of memory that overlays are loaded into. Each overlay region corresponds to an execution region.
particular piece of code that is loaded and unloaded as a unit.
- Overlay manager
- Extra code that you must write to copy the required overlay to its execution address, and to record the overlay that is in use at any one time.
ARM® Compiler supports:
- An automatic overlay mechanism, where the linker decides how your code sections get allocated to overlay regions.
- A manual overlay mechanism, where you manually arrange the allocation of the code sections.