電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 22|回復(fù): 0
收起左側(cè)

擦寫Flash時一定不能開啟系統(tǒng)全局中斷嗎?

[復(fù)制鏈接]

302

主題

307

帖子

1896

積分

三級會員

Rank: 3Rank: 3

積分
1896
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2023-2-8 08:43:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是i.MXRT下FlexSPI driver實現(xiàn)Flash編程時對于中斷支持問題。
2 \1 E/ ?0 E+ J6 m前段時間有客戶在官方社區(qū)反映 i.MXRT1170 下使用官方 SDK 里 FlexSPI 驅(qū)動去擦寫 Flash 時不能很好地支持全局中斷?蛻繇椖坷镉昧藘蓧K NOR Flash,分別掛在不同的 FlexSPI 上,一塊 Flash 用于存儲 XIP 代碼(FlexSPI1),另一塊 Flash 用于存儲項目資源數(shù)據(jù)(FlexSPI2),顯然這樣的設(shè)計原理上是沒有問題的,那為什么使能了中斷會出問題呢?今天痞子衡來分析下這個問題:
5 `2 H$ f$ Z* _$ S
  • Note: 客戶測試的 SDK 版本為 2.12.1,對應(yīng)的 FlexSPI driver 版本為 2.3.6一、為什么擦寫Flash時經(jīng)常需要關(guān)全局中斷?在具體分析客戶問題之前,我們先來聊聊嵌入式應(yīng)用里應(yīng)對 NOR Flash 的擦寫為何大部分情況下都是要關(guān)閉全局中斷(這里假設(shè)執(zhí)行代碼空間與擦寫操作空間在同一個 Flash 上,當(dāng)然是在不同區(qū)域),這其實跟如下兩個特性有關(guān):
    * u/ Y1 ?/ u& R$ s  u! R% \1.1 RWW特性(Read-While-Write)RWW 特性的意思是在 Flash 執(zhí)行擦寫命令進(jìn)入 Busy 狀態(tài)期間(Flash 內(nèi)部狀態(tài)寄存器 WIP 位變狀態(tài) 1)還能否繼續(xù)響應(yīng)非操作區(qū)域的讀訪問。如果 SR[WIP] = 1 時還能夠支持讀訪問,則該 Flash 支持 RWW,反之則不支持 RWW。
  • 回復(fù)

    使用道具 舉報

    發(fā)表回復(fù)

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表