|
大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是i.MXRT全系列下FlexSPI外設(shè)AHB Master ID定義與AHB RX Buffer指定的異同。& G# |/ `2 P$ w. l
因?yàn)?i.MXRT 全系列型號(hào)都不含內(nèi)部 Flash(部分 SIP 版本除外),因此用于連接外部 NOR Flash 的 FlexSPI 外設(shè)格外受寵。為了提高代碼在 Flash 的原地執(zhí)行效率,恩智浦設(shè)計(jì)團(tuán)隊(duì)為 FlexSPI 賦予了 Prefetch 特性用來(lái)加速訪(fǎng)問(wèn)效率(用 AHB RX Buffer 緩存數(shù)據(jù))。
! ~3 ]2 t6 k( I9 Q# M痞子衡之前寫(xiě)過(guò)一篇關(guān)于 Prefetch 效果的實(shí)測(cè)文章 《FlexSPI外設(shè)下AHB讀訪(fǎng)問(wèn)情形(有預(yù)取)》,那篇文章里只涉及了最簡(jiǎn)單的應(yīng)用場(chǎng)景,即單個(gè) AHB RX Buffer 占據(jù)全部 RX Buffer 空間且僅服務(wù)單個(gè) AHB Master - CPU,而實(shí)際項(xiàng)目中可能有多個(gè) AHB Master 會(huì)對(duì) Flash 進(jìn)行 AHB 讀訪(fǎng)問(wèn),這就引申出了今天的主題:8 h7 B8 D5 k2 O/ a
一、AHB Master與AHB RX Bufferi.MXRT 系列上 AHB master 包含 Core、DMA、加密模塊等多達(dá) 16 個(gè),這些 Master 都有能力對(duì) Flash 主動(dòng)發(fā)起 AHB 讀訪(fǎng)問(wèn)。為了更好地服務(wù)這些 Master,F(xiàn)lexSPI 上用于存放預(yù)取數(shù)據(jù)的 AHB RX Buffer 不止一個(gè),一般有 4/8 個(gè),用戶(hù)可以按需自由分配這些 AHB RX Buffer 的大。ǹ偞笮∈且欢ǖ,一般是 1/2KB),并且可以將某個(gè) AHB RX Buffer 指定給具體的 Master 來(lái)獨(dú)占使用。
- F' ]- s$ k T+ g% FNote: i.MXRT 系列上不支持將多個(gè) AHB RX Buffer 分配給同一個(gè) AHB master,這種需求實(shí)際上可以通過(guò)配置不同的 AHB RX Buffer 大小來(lái)實(shí)現(xiàn)。 |
|