JL
JLink Technology 傑聯特科技
詢價
QSPI(Quad-SPI)NOR Flash 與 XIP 執行:怎麼接、怎麼跑記憶體映射執行碼
GigaDeviceQSPINOR FlashXIPGD25QSPI選型

QSPI(Quad-SPI)NOR Flash 與 XIP 執行:怎麼接、怎麼跑記憶體映射執行碼

Quad-SPI 用 4 條資料線、一個 byte 只要 2 個時鐘,吞吐約是標準 SPI 的 4 倍;XIP 讓 CPU 直接從外部 Flash 就地執行、不必先搬到 RAM。但 XIP 一定要 NOR(隨機讀),NAND 做不到。本文講清 SPI/Dual/Quad、XIP 原理,並對應 GD25Q 與「MCU 端要有 QSPI/OSPI 控制器(只有部分 GD32)」。

JL 傑聯特科技工程團隊審校 · 更新於 2026-06-28

單線 / 雙線 / 四線 SPI:為什麼 Quad ≈ 4×

序列 NOR Flash 的讀取速度,關鍵在用幾條資料線。標準 SPI 一個時鐘傳 1 bit,一個 byte 要 8 個時鐘;Dual 用 2 條線、Quad 用 IO0~IO3 四條線,Quad 一個時鐘傳 4 bit、一個 byte 只要 2 個時鐘——所以在相同時鐘下,Quad 的讀取吞吐約是標準 SPI 的 4 倍。再往上還有 QPI(連「命令」也走 4 條線,省的是協定 overhead)與 Octal/xSPI(8 條線)。重點記:Quad ≈ 4× 是「機制級」的硬事實(2 vs 8 個時鐘/byte);至於實測 MB/s 會依時鐘、走線、控制器而變。

XIP 是什麼:記憶體映射、直接執行

XIP(eXecute-In-Place,就地執行)是讓 CPU「直接從外部序列 Flash 抓指令執行,不必先整段搬進 RAM」。做法是:MCU 的 QSPI 控制器把外部 Flash 映射進 CPU 的位址空間(常見映在某個位址區段),CPU 之後對那塊位址取指,就像讀內部記憶體一樣,而 QSPI 控制器在背後把每次取指悄悄翻成一次 Flash 讀交易。好處:內部 Flash 放不下的程式碼/資產可以外掛、省內部記憶體、開機與更新更省事。代價:序列取指比內部 Flash 慢,所以通常靠一小塊 cache / line buffer 補延遲(沒設好 cache 與 MPU 可執行屬性,XIP 效能會明顯掉)。

⚠️ 為什麼一定要 NOR:NAND 結構上不能 XIP

XIP 為什麼一定要 NOR、NAND 不行?因為 XIP 的前提是「任意位址的真隨機 byte 讀取」。NOR 支援隨機定址、存取可達 ~10ns 級,CPU 能直接讀任一位元組 → 可 XIP。NAND 是 page 架構:要先把整頁載入頁暫存器,首位元組延遲約 20–50µs,又沒有位元組級定址,所以結構上無法直接 XIP;NAND 的作法是先把程式碼搬進 RAM 再執行(shadowing)。所以「直接就地執行」這條路一定走 NOR(如 GD25Q);NAND(如 GD5F)則定位在大容量資料儲存。

GD25Q 對應 + MCU 端要有 QSPI 控制器

對應料號:GigaDevice GD25Q 是 SPI NOR Flash,支援標準/雙線/四線 SPI、多數型號 133MHz(部分高密度另有 104MHz x4 DTR),容量從 512Kb 一路到 256Mb(常用 GD25Q32、GD25Q128、GD25Q256),原廠也標榜「ultra-fast XIP」;放程式碼 + 字型/UI 圖庫等唯讀資產很合適。但要提醒:XIP 的前提是 MCU 端有 QSPI/OSPI 控制器——這是「分系列」的,不是每顆 GD32 都有。已確認的是:GD32H7(內建雙 Octal SPI,原廠有 AN122 OSPI 執行環境文件)、GD32F4 系列(QSPI,可把 QSPI Flash 當內部記憶體做 XIP);較小的 GD32F1/F3 系列多半沒有,選型前務必查該型號 datasheet/使用者手冊。

怎麼選

第一,先確認 MCU 端有 QSPI/OSPI 控制器,否則無法記憶體映射、就無法 XIP(GD32H7 的 Octal、GD32F4 的 QSPI 可用;小型 GD32 多半不行)。第二,介面模式兩端對齊——要吃滿頻寬就開 Quad(必要時 QPI 與 continuous-read/XIP 模式);GD25Q 全系支援標準/雙/四線。第三,容量依「程式碼 + 字型/圖資產」總量挑,XIP 程式碼留足餘量。第四,時脈上限取決於 MCU 控制器與 PCB 走線/訊號完整性,不是只看 Flash 標稱。第五,功能旗標:Suspend/Resume(更新時不中斷 XIP 讀)、Security Register+OTP、Unique ID、RESET/WP#/HOLD# 依需求挑;低壓走線可看 1.8V 的 GD25LQ。要大容量資料儲存而非執行碼,則改用 SPI NAND(GD5F)。傑聯特科技是 GigaDevice 授權代理商,GD25Q 全系 SPI NOR、GD5F SPI NAND、以及具 QSPI/OSPI 的 GD32(如 GD32H7)都供應;歡迎提供你的容量、介面與 XIP 需求,我們協助選型並回覆樣品、規格書與報價。

文中提及的產品

GD25Q256 現貨

GD25Q256 256Mbit SPI NOR Flash

GD25Q256 是 256Mbit(32MB)串列 SPI NOR Flash,2.7~3.6V、最高 133MHz,支援 Dual/Quad I/O 與 4-byte 定址(存取完整 32MB)。具 OTP/Unique ID、抹寫暫停/恢復等功能,封裝 SOP16 / WSON8 / TFBGA24。採標準指令集,常作為 Winbond W25Q256 的替代。

SPI NOR Flash256Mbit32MB
GD32H759 現貨

GD32H759 Arm Cortex-M7 600MHz 高效能 MCU

GD32H759 是 GigaDevice 高效能 Arm Cortex-M7 MCU,主頻 600MHz(含 L1 快取、雙精度 FPU),Flash 最高 3840KB、SRAM 達 1024KB(含 ITCM/DTCM 與 ECC)。整合 3× CAN-FD、雙 Ethernet MAC(含 EtherCAT)、2× USB HS/FS、6× SPI、2× OSPI、TFT-LCD 與 14-bit ADC,適合工業自動化、馬達控制與圖形 HMI。封裝 LQFP100/144/176、BGA。

MCUCortex-M7600MHz
GD5F1GQ5 現貨

GD5F1GQ5 1Gbit SPI NAND Flash

GD5F1GQ5 是 GigaDevice 1Gbit SPI NAND Flash,2KB 頁、128KB 區塊(64 頁),支援 x1/x2/x4(Quad)SPI。系列分為內建 ECC 版(UE,2.7~3.6V、最高 133MHz)與無 ECC 版(RE,1.7~2.0V、104MHz),WSON8 封裝,適合 MCU/SoC 的程式與資料儲存。

SPI NANDFlash1Gbit

需要這些元件或設計支援?

傑聯特科技提供元件、規格書與工程技術支援。

立即詢價