Memory access and manipulation
This section will discuss system memory access and manipulation. We will learn about different memory types and how they can be accessed. We will then look at how memory access can be used for debugging.
What memory types are available?
Generally, we distinguish between volatile and non-volatile memory. However, there are also variants in between them. The main difference is that volatile memory is typically erased or becomes invalid after losing power, while non-volatile memory will keep its data integrity. Additionally, volatile memory can be easily erased and written at any time. There is also semi-volatile memory, which is a mixture of both properties, where the data is retained after power loss while at the same time keeping the benefit of being able to write to the memory at any time.
The following memory variants are typical for embedded systems:
|
Type |
Description |
Volatility |
|---|---|---|
|
Tightly coupled memory (TCM) |
Very fast storage that is... |