Fork me on GitHub

5. Using RAM

The Flash memory, in which the previous example programs were stored, is a kind of EEPROM. It is a useful secondary storage, like a hard disk, but is not convenient to store variables in Flash. The variables should be stored in RAM, so that they can be easily modified.

The connex board has a 64 MB of RAM starting at address 0xA0000000, in which variables can be stored. The memory map of the connex board can be pictured as shown in the following diagram.

Figure 1. Memory Map

Memory Map

Necessary setup has to be done to place the variables at this address. To understand what has to be done, the role of assembler and linker has to be understood.