Memory mapping

Application software usually benefits from a number of abstractions available in the environment, for the handling of memory. In modern operating systems for personal computers, each process can access its own memory space, which can also be relocated by the system, to resize or move memory blocks using a different physical location. Moreover, dynamic memory allocations are possible through virtual memory pools provided by the kernel. Embedded devices do not rely on these mechanisms, as there is no way to assign virtual addresses to physical memory locations. In all contexts and running modes, all the symbols can be accessed only by pointing at physical addresses.

As we have seen in the previous chapter, booting a bare-metal ...

Get Embedded Systems Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.