XIP默认指XIP Flash及其扩展应用
2026/9/20 16:28:16 网站建设 项目流程

非常好的问题,它触及了嵌入式系统设计中的一个核心概念。

让我们来分层次清晰地解答:

1. XIP 的默认含义

是的,在大多数嵌入式开发语境下,“XIP”默认指的就是在 XIP Flash 上执行程序。

原因如下:

  • 历史与普遍性:Nor Flash(XIP Flash的主流类型)是最早、最广泛支持XIP的非易失性存储器。它允许CPU像读取内存一样直接通过地址总线读取数据,无需先拷贝到RAM。
  • 系统启动的必要性:系统上电后,RAM(包括PSRAM)是空的,CPU需要立刻从某个已知地址获取第一条指令。这个“启动设备”必须是非易失性且支持XIP的。Nor Flash(或类似技术的QSPI Flash)完美扮演了这个角色。
  • 代码存储的基础:对于许多资源受限的MCU,代码通常存储在片上Flash或外部Nor Flash中,并直接从那里执行,以节省宝贵的RAM空间。

因此,当人们说“这个芯片支持XIP”或“我们在XIP模式下运行”,默认就是指代码存储在Flash中并直接从Flash执行。


2. XIP 能否指在 PSRAM 上执行程序?

答案是:技术上完全可以,但这是一种特定且高级的用法。

核心前提:XIP 是一种“执行模式”,而不是存储器的固有属性。它的定义是“就地执行”,即CPU直接从代码所在的存储器地址取指并执行,无需将代码先复制到系统RAM

只要满足以下条件,任何存储器都可以支持XIP:

  1. 存储器映射:该存储器的物理存储单元被映射到CPU的地址空间(即有一个具体的地址范围,如0x6000_0000)。
  2. 随机访问:CPU可以通过地址总线随机访问该存储器的任意位置,并且访问延迟和时序是可预测的(满足CPU取指要求)。
  3. 总线支持:连接该存储器的总线(如AHB、AXI、QSPI)支持高效、低延迟的读取操作。

PSRAM(伪静态随机存储器)是一种易失性的RAM,但它具有类似SRAM的接口(无需复杂刷新),通常通过类似QSPI或HyperBus的高速接口连接。它完全满足上述XIP条件


3. 为什么在 PSRAM 上执行 XIP 不那么“默认”?

虽然技术上可行,但将PSRAM用作XIP设备有以下挑战和考虑,使其成为“非默认”选择:

  • 易失性问题:PSRAM掉电后数据丢失。因此,你不能直接从PSRAM启动(Boot)。系统必须从一个非易失性XIP设备(如Flash)启动,由启动代码(Bootloader)将应用程序代码从Flash(或其它存储)加载到PSRAM中,然后跳转到PSRAM的地址去执行。这个过程本身已经不是“直接就地执行存储介质里的原始代码”了。
  • 需要初始化:PSRAM控制器通常在上电后需要配置(如时序、时钟模式),之后才能使用。这个初始化代码必须在能运行的地方执行,比如片内SRAM或Flash。
  • 成本与功耗:PSRAM通常比Flash更贵,且作为易失性存储器,保持数据需要持续供电,功耗通常高于Flash。
  • 速度匹配:虽然PSRAM速度比Nor Flash快,但比芯片内部的紧密耦合内存(TCM)或系统SRAM慢。对于追求极致性能的代码段(如中断服务程序),仍可能需要拷贝到更快的内存中执行。

4. 典型应用场景

那么,什么时候会使用“XIP from PSRAM”呢?

  • 性能提升:当应用程序代码太大,无法全部放入高速片上SRAM,但直接在外置Flash中执行(XIP from Flash)又成为性能瓶颈时。一个常见的优化方案是:
    1. 系统从Flash启动。
    2. 将关键的、对性能敏感的函数或代码段(如视频编解码算法、图形处理库)从Flash加载到PSRAM
    3. CPU跳转到PSRAM的地址去全速执行这些代码。
  • 大容量代码执行:对于需要运行大型应用(如LVGL图形库、解释器)的物联网设备或高端MCU,片上Flash和RAM都不够用。可以将整个应用存放在大容量的QSPI NAND Flash中,启动时将其加载到大容量的外部PSRAM(如Octal PSRAM)中,然后在PSRAM中全速运行。

总结

特性XIP Flash (默认的XIP)XIP from PSRAM
存储器类型非易失性 (Nor, QSPI Flash)易失性 (PSRAM)
能否作为启动设备,是主要用途不能,需要从Flash启动并加载
主要目的存储并直接执行代码,节省RAM提供比Flash更快的执行速度,或作为大容量执行内存
典型访问接口QSPI, OSPI, HyperFlashQSPI, OSPI, HyperRAM (与Flash接口类似)
执行速度较慢(受Flash读延迟和接口带宽限制)较快(接近RAM速度)
成本与功耗较低(存储成本)较高

结论:

  1. 默认情况:XIP指的是在XIP Flash上执行程序。
  2. 广义概念:XIP是一种执行模式,只要存储器被映射到CPU地址空间且支持随机读,PSRAM、甚至标准的DRAM(理论上)都可以支持XIP
  3. 实际应用:在PSRAM上执行XIP是一种性能优化或容量扩展手段,通常需要与Flash配合使用(从Flash启动并加载代码至PSRAM),而非替代Flash作为启动和主存储设备。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询