学习NOR FLASH的时候遇到了这个名词,延申学习一下~
1、XIP是什么
XIP, X 是文件属性的同文件的访问权限x, 代表可执行; XIP(Execute In Place, 原地执行)。
一般而言,内存区域可执行代码的一般都是指ram。而XIP技术就是实现了当前的内存空间可以执行代码,而不需要把代码拷贝到ram空间再执行。减少了这个拷贝的动作,且不占用Ram空间。
2、XIP的原理
那么这个技术是怎么做到的呢~
处理器通过**内存映射(Memory Mapping)**的方式,将 Flash 地址映射到 CPU 的地址空间,使其看起来像普通的 RAM。
这样,CPU 可以直接从 Flash 读取指令并执行,而无需事先加载到 RAM。(敲黑板,重点就是要让cpu可以执行读取指令并执行)。
另外,我理解为什么NOR FLASH支持XIP, 而NAND FLASH 不支持XIP, 会不会是因为NOR FLASH 可以随机访问,也就是内存映射了之后,cpu可以直接过来读取某一个地址, 而不像NAND,他读取数据要一整块读,那就没办法准确读取指令了?