国产电影一区二区三区,,欧美大片免费观看,伊人久久大香线蕉av,国产日韩成人内射视频

有人說高性能MCU片內合封Flash不可靠?

大家(jia)好,我(wo)是(shi)痞子衡,是(shi)正經(jing)搞技術的(de)痞子。今天痞子衡給(gei)大家(jia)介紹(shao)的(de)是(shi)i.MXRT1024/1064片(pian)內4MB Flash的SFDP表易丟失導致的燒錄異常

我們知道 i.MXRT 系(xi)列(lie)本身并沒有(you)片(pian)內非易失性(xing)存(cun)儲器(qi)(qi)作為啟動設備,所以硬件工程(cheng)師第一(yi)(yi)(yi)件事便是為 i.MXRT 搭(da)配(pei)一(yi)(yi)(yi)顆(ke)外置代(dai)(dai)碼(ma)存(cun)儲器(qi)(qi),而串行 NOR Flash 往往是代(dai)(dai)碼(ma)存(cun)儲器(qi)(qi)的第一(yi)(yi)(yi)選擇。既然(ran)這是剛需(xu),為何不(bu)直接(jie)合封一(yi)(yi)(yi)顆(ke)經典(dian)的 NOR Flash 進芯片(pian)內部(bu)呢?是的,恩智浦也考慮(lv)到了這一(yi)(yi)(yi)點,這便有(you)了 i.MXRT1024/1064 這兩顆(ke)內置 Flash 的型號(至于沒有(you)給 i.MXRT 全系(xi)列(lie)強制標配(pei) NOR Flash,也跟代(dai)(dai)碼(ma)存(cun)儲器(qi)(qi)類型以及容量、速度需(xu)求不(bu)一(yi)(yi)(yi)有(you)關)。

近(jin)期有一個 RT1064 客戶反(fan)饋,在給(gei)產品(pin)做量產時出現芯片無法正常使用 J-Link 或者恩智浦官方下載(zai)工(gong)具下載(zai)程(cheng)序到片內 Flash 的(de)現象(xiang),恰(qia)好痞(pi)子衡手(shou)頭(tou)有一塊官方 RT1064-EVK 板卡也(ye)無法燒錄程(cheng)序,經(jing)過痞(pi)子衡的(de)一番摸索,發現片內 Flash 竟然(ran)沒(mei)有有效的(de) SFDP 表(biao),這是怎(zen)么回事?且聽(ting)痞(pi)子衡細說(shuo):

一、RT片內Flash簡(jian)介(jie)

1.1 W25Q32JV

芯片合(he)封技術實際(ji)上并不是什么新鮮事,對于 RT1024/1064 來說,就(jiu)是將(jiang) RT1020/RT1060 的 Die 與選定的一(yi)顆(ke) NOR Flash Die 封裝在一(yi)起,RT 與 Flash 之間(jian)的信號連接在片內完成。

那么 RT1024/1064 內置的 NOR Flash 到底(di)來自哪家供應商呢(ni)?這可以借助(zhu) \SDK_2_16_000_EVK-MIMXRT1064\boards\evkmimxrt1064\driver_examples\flexspi\nor_internal\polling_transfer 例(li)程簡單(dan)修改一下(xia)代碼(ma),讀回(hui) Flash 的 JEDEC ID 得(de)知是來自全(quan)球排(pai)名第一的 NOR Flash 廠商 Winbond 的 W25Q32JV-IQ/JQ(4MB, 四(si)線, 133MHz SDR,3.3V)。

1.2 RT1024片內連接

在 RT1024 上使(shi)用了如下 PAD 連接(jie)到(dao)了片內 Flash,這些(xie) PAD 同時也是(shi)外部引腳。(注(zhu)意其(qi)中 GPIO_SD_B1_05 并沒有被 BootROM 初始化(hua),因為片內 Flash 不能直接(jie)高速(su)啟動)

1.3 RT1064片內連接

在 RT1064 上(shang)使用了如(ru)下 PAD 連接到了片內 Flash,這些 PAD 僅是內部引腳,沒有引到外部。(不(bu)過在 BGA 225 封裝的 RT1060X 型號上(shang)被引出了)

二、SFDP對于燒錄工(gong)具的重要性

JESD216 是一(yi)個關于串行 NOR Flash 的(de)標(biao)準(zhun),它“規(gui)范(fan)”了 NOR Flash 廠商的(de)產(chan)品(pin)(pin)。這(zhe)里的(de)“規(gui)范(fan)”兩字加了引號,因為(wei)這(zhe)個標(biao)準(zhun)比較有意思,并不是先有標(biao)準(zhun),再有 Flash 產(chan)品(pin)(pin),而(er)是先有各(ge)大廠商的(de) Flash 產(chan)品(pin)(pin)出來,然后(hou) JESD216 才開(kai)始(shi)總結(jie)這(zhe)些不同(tong)廠商的(de)產(chan)品(pin)(pin)特性(xing),企(qi)圖形(xing)成一(yi)個看(kan)起(qi)來比較統一(yi)的(de)規(gui)范(fan)。

目前主流 NOR Flash 廠商產品都是支持 JESD216 標準的(de),這體現在如下 Read SFDP (0x5A) 命令時序(xu)統(tong)一上。JESD216 標準定義了(le)一個 256 字節大小的(de) SFDP 表(biao),這個表(biao)收納(na)了(le)該 Flash 的(de)幾(ji)乎全部特性(速度、容量(liang)、寄存(cun)器(qi)分布(bu)、命令集等(deng)等(deng)),對于軟件驅動開發者來說(shuo)尤其重要。

SFDP 表結構大概是(shi)這樣,一(yi)開始是(shi) signature 以(yi)(yi)及(ji) version,然后是(shi) Flash 各種屬性(xing)信(xin)息。看(kan)到這你就能明白為(wei)啥 SFDP 對于燒錄(lu)(lu)工(gong)(gong)具(ju)的(de)重要性(xing)了,燒錄(lu)(lu)工(gong)(gong)具(ju)依賴(lai)底層(ceng)的(de) Flashloader,而 Flashloader 一(yi)般(ban)設(she)計(ji)上是(shi)追求(qiu)通用(yong)(yong)的(de),所以(yi)(yi)其會先獲取 Flash SFDP 表進行解析得(de)到 Flash 全部信(xin)息,然后根據(ju)這些信(xin)息加載合適的(de)軟件(jian)驅動去讀寫擦 Flash。因此(ci)如果(guo)得(de)不到正確的(de) SFDP 表,那么依賴(lai)通用(yong)(yong) Flashloader 的(de)燒錄(lu)(lu)工(gong)(gong)具(ju)便無法正常工(gong)(gong)作。J-Link 以(yi)(yi)及(ji)恩智(zhi)浦(pu)官方(fang)燒錄(lu)(lu)工(gong)(gong)具(ju)都是(shi)基(ji)于通用(yong)(yong) Flashloader 思想設(she)計(ji)的(de)。

三(san)、Winbond NOR Flash的SFDP操作

翻開以 W25Q32JV 為(wei)代表的(de) Winbond NOR Flash 數據手冊,我(wo)們從其模塊框圖(tu)可以得(de)知 Flash 內(nei)部存儲(chu)顆(ke)粒由(you)三(san)種類型(xing)組成, 地(di)址(zhi)范(fan)圍(wei) 0x000000 - 0x3FFFFF 的(de) Memory Block,地(di)址(zhi)范(fan)圍(wei) 0x000000 - 0x0000FF 的(de) SFDP,地(di)址(zhi)范(fan)圍(wei) 0x001000 - 0x0030FF 的(de) Security Registers。對于 Memory Block 的(de)讀寫擦操作(zuo)我(wo)們再熟悉不過了(le),那(nei)后兩種類型(xing)該用什么命令操作(zuo)呢(ni)?

繼(ji)續查看數(shu)據(ju)手(shou)冊,找到了如(ru)下關(guan)于 Security Registers 的(de)專用讀寫(xie)(xie)擦(ca)命(ming)(ming)令(ling)時(shi)序。上一節(jie)介紹(shao)了 Read SFDP 命(ming)(ming)令(ling),似乎 SFDP 這個(ge)地址(zhi)空(kong)間僅(jin)支(zhi)持讀操作,那么 SFDP 數(shu)據(ju)是(shi)如(ru)何在(zai) Flash 出(chu)廠時(shi)被寫(xie)(xie)入的(de)呢?到底是(shi)直接固化(隨芯片 TO)?還是(shi) OTP 一次(ci)性專用后門(men)命(ming)(ming)令(ling)擦(ca)寫(xie)(xie)的(de)?帶著這個(ge)疑惑,痞子衡咨詢了 Winbond 技(ji)術人員(yuan),他(ta)們(men)告知其實 Security Registers 擦(ca)寫(xie)(xie)命(ming)(ming)令(ling)可以同樣擦(ca)寫(xie)(xie) SFDP 空(kong)間。

即 Security Registers 讀寫擦命令時序(xu)里地(di)址參數 A15-12 設 4'b0000 時,實際操(cao)作得就(jiu)是 SFDP 空間(雖然手冊里沒有(you)明說這一點)。基于這個(ge)消息(xi),痞子衡找了(le)一個(ge)正(zheng)常的 RT1064-EVK 板(ban)(ban)卡讀出其有(you)效的 SFDP 表(biao)(biao)數據,然后(hou)將該 SFDP 表(biao)(biao)寫入異常的 RT1064-EVK 板(ban)(ban)卡,這時候下載(zai)工具就(jiu)能夠正(zheng)常燒錄了(le)。所以 RT1024/RT1064 芯(xin)片發(fa)生這種異常,要么是出廠漏燒了(le) SFDP 表(biao)(biao),要么是 SFDP 被用(yong)戶誤擦除過。

至此,i.MXRT1024/1064片內4MB Flash的SFDP表易(yi)丟失導致的燒錄異(yi)常痞子衡便介(jie)紹(shao)完(wan)畢了(le),掌聲(sheng)在哪里~~~

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 3
關注 41
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧