XIP 片内执行 eXecute in Place

XIP eXecute In Place

含义

eXecute In Place,即芯片内执行,是指CPU直接从存储器中读取程序代码执行。

应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。flash内执行是指nor flash不需要初始化,可以直接在flash内执行代码。但往往只执行部分代码,比如初始化RAM。好处即是程序代码无需占用内存,减少内存的要求。

所谓片内执行不是说程序在存储器内执行,CPU的基本功能是取指、译码、运行。Nor Flash能在芯片内执行,指的是CPU能够直接从Nor flash中取指令,供后面的译码器和执行器来使用。

为实现XIP,必须满足几个条件:

  1. 存储器必须提供与内存相似的接口给CPU。

  2. 该接口必须提供足够快的读取操作,并具有随机访问模式。

  3. 如有文件系统,则需要提供合适的映射功能

  4. 程序链接时需要知道存储器的地址或地址与位置无关。

  5. 程序不能修改已加载映像中的数据。

NOR Flash和EEPROM通常能满足上述要求。

Tip

nandflash也可以实现XIP

“所谓XIP,就是CODE是在FLASH上直接运行. NANDFLASH只是不适合做XIP,但并不是不能做XIP“要一段CODE能够正确的运行,要保证它的CODE是连续的,正确的.由于一些电气特性的原因,NOR FLASH能够做到这一点,不存在坏道或坏块,所以能够做XIP.

NOR Flash 和 NAND Flash

NOR Flash具备随机读取给一个地址就能读一个数据,NAND Flash是一次读一块数据,一个地址读出一块数据。


XIP 片内执行 eXecute in Place
https://www.oikiou.top/2021/2c1a46d6/
作者
Oikiou
发布于
2021年9月24日
许可协议