XIP

From SEGGER Wiki
Revision as of 00:16, 16 May 2019 by Rolf (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

XIP

XIP stands for Execute in Place.

It refers to a method of executing programs on an Embedded System from storage rather copying them to RAM. It is typically used with Quad SPI Flashes. The standard procedure is to copy the program from the Quad SPI flash to RAM at startup. In this type of scenario, the image might also be compressed and decompressed during the copy-to-RAM process. However, especially where the amount of RAM is limited, meaning smaller than the flash memory, or more precisely the amount of RAM left (as some will be used as data by the program), XIP comes into play. The downside of XIP is that the access to the Q-SPI devices takes a lot longer than the access to the RAM. In order to minimize this delay, a XIP controller (which acts as interface between the regular bus interface of the CPU and the QSPI FLash memory) typically comes with some cache lines. Typical implementations will have something like 2-8 lines of 128 bytes. On a cache miss, the entire line is filled.