痞子衡嵌入式:英飛凌MirrorBit工藝NOR Flash的扇區架構設計

来源:https://www.cnblogs.com/henjay724/p/18365015
-Advertisement-
Play Games

大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家講的是英飛凌MirrorBit工藝NOR Flash的扇區架構設計。 NOR Flash 大家都很熟悉,其內部按組織從小到大分為 Page(128B/256B/512B)、Sector(4KB)、Block(32KB/64KB/128KB/25 ...



  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家講的是英飛凌MirrorBit工藝NOR Flash的扇區架構設計

  NOR Flash 大家都很熟悉,其內部按組織從小到大分為 Page(128B/256B/512B)、Sector(4KB)、Block(32KB/64KB/128KB/256KB)、Chip,其中 Page 是編程單元,Sector/Block/Chip 是擦除單元(一個 Block 由多個 Sector 組成,一顆 Chip 由多個 Block 組成)。關於擦除,Flash 提供了不同大小的單元粒度,也是為需要數據和參數存儲的應用程式提供更大的靈活性。

  最近痞子衡在支持 RT1170 客戶過程中就在英飛凌 NOR Flash S25HL512T 擦除上遇到了一些問題,後來翻看 Flash 數據手冊,才發現它的擦除單元設計有特別之處,今天痞子衡就給大家介紹一下:

一、英飛凌NOR Flash系列

  我們先來看一下目前英飛凌主流 NOR Flash 系列,從介面上看有 Parallel/QSPI/Octal/HyperBus 四種,從工藝上看有 45nm MB/65nm MB/65nm FG 三種:

  其中屬於 65nm FG 工藝(也稱 ETOX)下的 QSPI Flash S25FL064L 算是我們比較耳熟能詳的型號,這和大家常用的 Winbond/GigaDevice/MXIC 家的 NOR Flash 差別不大(這三家的產品也是基於 FG 工藝,一個基本存儲單元 CELL 僅存儲一個比特位),無需特別註意。

  其它 Flash 均是 45/65nm MB 工藝下的產物,MB 是 MirrorBit 的縮寫,這是 Spansion 公司主推的一種快閃記憶體技術,其與英特爾的 MLC 方案非常類似,它也是通過讓一個基本存儲單元 CELL 存儲兩個(或更多)比特位,實現容量增倍的目的。

  MB 工藝和 FG 工藝各有優缺點,MB 工藝的優點是容量大、價格便宜、擦寫快,缺點則是可靠性較差,高溫下容易發生 bit 反轉導致數據錯誤(當然這也可以通過增加 ECC 特性來改善)。

二、MirrorBit下不一樣的扇區架構

  我們就以英飛凌 S25HL512T 型號為例介紹其扇區架構設計,其餘 MirrorBit 工藝下的 Flash 扇區設計也類似。

  S25HL512T 數據手冊開篇就直接點明瞭工藝特性以及扇區架構設計,這其實就是提醒用戶這裡要特別註意,扇區一共有三種不同的配置選項,用戶可根據項目實際情況按需配置(設置 Flash 相應配置寄存器)。

  和扇區架構配置相關的 Flash 寄存器位分別是 CFR3[3]、CFR1[6]、CFR1[2]:

2.1 配置選項一:僅第一個Block能拆分出Sector

  如果 CFR3[3]、CFR1[6]、CFR1[2] 均為 0,這也是 Flash 出廠的預設配置,這種情況下 Flash 第一個 Block(256KB) 里會包含 32個 4KB Sector,即 0x00000000 - 0x0001FFFF 區域可用 Sector Erase 命令(0x20/0x21)去擦除,其餘 Block 則無法拆分。

2.2 配置選項二:僅最後一個Block能拆分出Sector

  如果僅將 CFR1[2] 設為 1,這種情況下 Flash 最後一個 Block(256KB) 里會包含 32個 4KB Sector,即 0x03FE0000 - 0x03FFFFFF 區域可用 Sector Erase 命令(0x20/0x21)去擦除,其餘 Block 則無法拆分。

2.3 配置選項三:第一個和最後一個Block能拆分出Sector

  如果僅將 CFR1[6] 設為 1,這種情況下 Flash 第一個和最後一個 Block(256KB) 里均會包含 16個 4KB Sector,即 0x00000000 - 0x0001FFFF、0x03FF0000 - 0x03FFFFFF 區域可用 Sector Erase 命令(0x20/0x21)去擦除。

2.4 配置選項四:所有Block均無法拆分

  如果將 CFR3[3] 設為 1,那麼 Flash 里所有 Block(256KB) 均無法拆分,此時擦除也只能用 Block Erase 命令(0xD8/0xDC)。

  現在我們知道 MirrorBit 工藝下的 Flash 扇區架構相比 FG 工藝 Flash 在粒度劃分上要粗糙得多,靈活性降低了,這在做程式設計、下載演算法時均需要特別考慮。

  至此,英飛凌MirrorBit工藝NOR Flash的扇區架構設計痞子衡便介紹完畢了,掌聲在哪裡~~~

歡迎訂閱

文章會同時發佈到我的 博客園主頁CSDN主頁知乎主頁微信公眾號 平臺上。

微信搜索"痞子衡嵌入式"或者掃描下麵二維碼,就可以在手機上第一時間看了哦。

  最後歡迎關註痞子衡個人微信公眾號【痞子衡嵌入式】,一個專註嵌入式技術的公眾號,跟著痞子衡一起玩轉嵌入式。

痞子衡嵌入式-微信二維碼 痞子衡嵌入式-微信收款二維碼 痞子衡嵌入式-支付寶收款二維碼

  衡傑(痞子衡),目前就職於某全球頂級半導體原廠MCU系統部門,擔任高級嵌入式系統應用工程師。

  專欄內所有文章的轉載請註明出處:http://www.cnblogs.com/henjay724/

  與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]

  可以關註痞子衡的Github主頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。

  關於專欄文章有任何疑問請直接在博客下麵留言,痞子衡會及時回覆免費(劃重點)答疑。

  痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • @目錄1.前期準備1.1 製作啟動盤1.2關閉快速啟動、安全啟動、bitlocker1.2.1 原因1.2.2 進入BIOSshell命令行進入BIOSwindows設置中高級啟動在開機時狂按某個鍵進入BIOS1.2.3 關閉Fast boot和Secure boot1.3 劃分磁碟空間1.3.1 ...
  • 環境ubuntu20.04 Arm官網有源碼和編譯鏈。但是沒有編譯手冊。 從安裝版本中拿到10.3-2021.07-x86_64-aarch64-none-linux-gnu-manifest.txt 根據裡面的記錄,去進行配置和編譯。 官網下載: https://developer.arm.com ...
  • 本方式使用docker Swarm集群的方式創建overlay 網路進行打通 背景 因java微服務使用nacos做配置中心,為瞭解決Nacos服務註冊使用Docker容器內網ip問題,使用此方案 前置條件 1、宿主機之間需要開通埠 管理埠: 2377/tcp: 用於管理 Swarm 模式集群。 ...
  • 用了好幾年Xfce桌面了,但是從來沒有仔細研究過Xfce底下相關的運行邏輯,最近才對相關的底層概念感興趣並去嘗試瞭解了一下,但是它的體系架構以及複雜的依賴關係令初來乍到者望而卻步。沒辦法,寫點什麼方便理解吧。 這一系列文章主要是探討Xfce底層實現的,不會過多聚焦於美化之類的話題。我的環境是Arch ...
  • 導讀:在這個快節奏的技術世界里,重溫過去並從中汲取靈感總是一件有趣的事情。今天要介紹的是一款僅用一天時間重製的經典 Macintosh 應用——Stapler。這款應用最初發佈於1992年,現在由一位充滿激情的開發者重新打造,不僅保留了原汁原味的功能,還加入了現代化的改進和特性,使其更適合現代 ma ...
  • 實踐環境 CentOS-7-x86_64-DVD-2009.iso rabbitmq-server-3.9.16-1.el7.noarch.rpm https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.9.16 https://git ...
  • 本章將和大家分享Linux系統中的進程和埠查看命令。 一、ps命令 Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用top命令。 1 ...
  • 本章將和大家分享Linux系統中常用的軟體安裝方式。廢話不多說,下麵我們直接進入主題。 一、yum命令 yum(Yellowdog Updater, Modified)是Linux中,特別是在基於RPM的發行版(如Fedora、CentOS、RHEL(Red Hat Enterprise Linux ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...