色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于nor flash燒寫失敗的原因

ss ? 作者:工程師譚軍 ? 2018-09-19 08:51 ? 次閱讀

本文主要是關于nor flash燒寫的相關介紹,并著重對nor flash燒寫原理及應用進行了詳盡的闡述。

nor flash

nor flash是現在市場上兩種主要的非易失閃存技術之一。Intel于1988年首先開發出NOR Flash 技術,徹底改變了原先由EPROM(Erasable Programmable Read-Only-Memory電可編程序只讀存儲器)和EEPROM(電可擦只讀存儲器Electrically Erasable Programmable Read - Only Memory)一統天下的局面。緊接著,1989年,東芝公司發表了NAND Flash 結構,強調降低每比特的成本,有更高的性能,并且像磁盤一樣可以通過接口輕松升級。NOR Flash 的特點是芯片內執行(XIP ,eXecute In Place),這樣應用程序可以直接在Flash閃存內運行,不必再把代碼讀到系統RAM中。NOR 的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響到它的性能。NAND的結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。應用NAND的困難在于Flash的管理需要特殊的系統接口。通常讀取NOR的速度比NAND稍快一些,而NAND的寫入速度比NOR快很多,在設計中應該考慮這些情況。——《ARM嵌入式Linux系統開發從入門到精通》 李亞峰 歐文盛 等編著 清華大學出版社 P52 注釋 API Key

性能比較

flash閃存是非易失存儲器,可以對稱為塊的存儲器單元塊進行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。NAND器件執行擦除操作是十分簡單的,而NOR則要求在進行擦除前先要將目標塊內所有的位都寫為0。

由于擦除NOR器件時是以64~128KB的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND器件是以8~32KB的塊進行的,執行相同的操作最多只需要4ms。

執行擦除時塊尺寸的不同進一步拉大了NOR和NAND之間的性能差距,統計表明,對于給定的一套寫入操作(尤其是更新小文件時),更多的擦除操作必須在基于NOR的單元中進行。這樣,當選擇存儲解決方案時,設計師必須權衡以下的各項因素。

l 、NOR的讀速度比NAND稍快一些。

2、 NAND的寫入速度比NOR快很多。

3 、NAND的4ms擦除速度遠比NOR的5s快。

4 、大多數寫入操作需要先進行擦除操作。

5 、NAND的擦除單元更小,相應的擦除電路更少。

此外,NAND的實際應用方式要比NOR復雜的多。NOR可以直接使用,并可在上面直接運行代碼;而NAND需要I/O接口,因此使用時需要驅動程序。不過當今流行的操作系統對NAND結構的Flash都有支持。此外,Linux內核也提供了對NAND結構的Flash的支持。

詳解

NOR和NAND是現在市場上兩種主要的非易失閃存技術。Intel于1988年首先開發出NOR flash技術,徹底改變了原先由EPROM和EEPROM一統天下的局面。緊接著,1989年,東芝公司發表了NAND flash結構,強調降低每比特的成本,更高的性能,并且象磁盤一樣可以通過接口輕松升級。但是經過了十多年之后,仍然有相當多的硬件工程師分不清NOR和NAND閃存。

像“flash存儲器”經常可以與相“NOR存儲器”互換使用。許多業內人士也搞不清楚NAND閃存技術相對于NOR技術的優越之處,因為大多數情況下閃存只是用來存儲少量的代碼,這時NOR閃存更適合一些。而NAND則是高數據存儲密度的理想解決方案。

NOR的特點是芯片內執行(XIP, eXecute In Place),這樣應用程序可以直接在flash閃存內運行,不必再把代碼讀到系統RAM中。NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。

NAND結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。應用NAND的困難在于flash的管理需要特殊的系統接口。

接口差別

NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每一個字節。

NAND器件使用復雜的I/O口來串行地存取數據,各個產品廠商的方法可能各不相同。8個引腳用來傳送控制、地址和數據信息

NAND讀和寫操作采用512字節的塊,這一點有點像硬盤管理此類操作,很自然地,基于NAND的存儲器就可以取代硬盤或其他塊設備。

容量成本

NAND flash的單元尺寸幾乎是NOR器件的一半,由于生產過程更為簡單,NAND結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價格。

NOR flash占據了容量為1~16MB閃存市場的大部分,而NAND flash只是用在8~128MB的產品當中,這也說明NOR主要應用在代碼存儲介質中,NAND適合于數據存儲,NAND在CompactFlash、Secure Digital、PC Cards和MMC(多媒體存儲卡Multi Media Card)存儲卡市場上所占份額最大。

可靠耐用

采用flash介質時一個需要重點考慮的問題是可靠性。對于需要擴展MTBF(平均故障間隔時間Mean Time Between Failures)的系統來說,Flash是非常合適的存儲方案。可以從壽命(耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可靠性。

壽命(耐用性)

在NAND閃存中每個塊的最大擦寫次數是一百萬次,而NOR的擦寫次數是十萬次。NAND存儲器除了具有10比1的塊擦除周期優勢,典型的NAND塊尺寸為NOR器件的八分之一,每個NAND存儲器塊在給定的時間內的刪除次數要少一些。

位交換

所有flash器件都受位交換現象的困擾。在某些情況下(很少見,NAND發生的次數要比NOR多),一個比特位會發生反轉或被報告反轉了。

一位的變化可能不很明顯,但是如果發生在一個關鍵文件上,這個小小的故障可能導致系統停機。如果只是報告有問題,多讀幾次就可能解決了。

當然,如果這個位真的改變了,就必須采用錯誤探測/錯誤更正(EDC/ECC)算法。位反轉的問題更多見于NAND閃存,NAND的供應商建議使用NAND閃存的時候,同時使用EDC/ECC算法。

這個問題對于用NAND存儲多媒體信息時倒不是致命的。當然,如果用本地存儲設備來存儲操作系統、配置文件或其他敏感信息時,必須使用EDC/ECC系統以確保可靠性。

關于nor flash燒寫失敗的原因

最近在看國嵌的教學視頻,在國嵌體驗入門班-2-1(開發板系統安裝-Jlink方式)一集中,直接燒寫nor flash,不進行任何配置的方法,能夠成功純屬偶然!在視頻中燒寫時也出現了兩次錯誤。

我的開發板是mini2440,如果是其它類型,也可以根據具體情況參考。

一、解決方案一

1、在網上搜索S3C2440 JLink配置文件下載

2、點擊file -》 open project,選中下載好的初始化工程文件。

3、點擊option -》 project settings選擇Flash,點擊select flash device。選中開發板對應的nor flash芯片型號,我的板子采用得是SST39VF1601 ,這里我選擇SST39VF1601。具體情況參考用戶手冊可以查找到Nor Flash芯片型號。

設置好前面這些之后,就可以進行下面的燒寫工作了,通過這種方式一次燒寫成功。

二、解決方案二

1、選擇Options -》 Project Settings -》 CPU -》 ‘Use following init sequence:’中,默認只有一行:

0 reset 0 0ms reset and Halt target

然后選中該行,點擊Edit,修改Delay為2ms,確定即可。

三、解決方案三

1、點擊options--》project settings--》CPU,選擇Use following init sequence 中的Action,把 Reset 改成 Halt 也可以。

但是建議大家最好使用第一種方案。

NOR Flash 燒寫原理

在對FLASH進行寫操作的時候,每個BIT可以通過編程由1變為0,但不可以有0修改為1。為了保證寫操作的正確性,在執行寫操作前,都要執行擦除操作。擦除操作會把FLASH的一個SECTOR,一個BANK或是整片FLASH 的值全修改為0xFF。在寫的時候要注意每個頁、扇區、塊的邊界問題。

對Flash讀寫操作流程(W25Q64為例);

1:定義以一個數組(全局變量),大小為最小擦除緩存,用來對將要擦除區域數據的備份:;

u8 SPI_FLASH_BUF[4096]。

2:定義3個變量用來保存扇區編號、扇區偏移地址、扇區剩余地址;

secpos=WriteAddr/4096;

secoff=WriteAddr%4096;

secremain=4096-secoff;//剩余地址

3:判斷將要寫入Flash的數據容量大小,數據容量小于剩余地址數,表示可以將所有數據寫入Flash,而沒有扇區邊界問題;如果超過地址數則要在數據容量的邊界位置做個記號。

if(NumByteToWrite《=secremain)secremain=NumByteToWrite;//判斷

4:將數據要寫入那個扇區的所有數據讀出,放到緩存中。

5:從扇區偏移地址起,檢驗即將要寫入的扇區,存儲的舊數據是否都為1,否就將整個扇區擦除,使之全變成1.

6:以扇區邊界為限,將要寫入的數據從扇區偏移地址起存到緩存區。

7:將緩存區的數據全部寫入扇區(寫的時候還要判斷頁邊界的問題,思路和寫扇區差不多)。

8:判斷數據是否全部寫入,(如果要寫入的數據容量超過剩余地址,則扇區編號加1;偏移地址清零;數據容量減去之前剩余地址數;修改數據容量的地址,把已經寫入的數據過濾掉;修改即將要寫入存儲單元的地址)

9:返回第4步。

結語

關于nor flash燒寫的相關介紹就到這了,如有不足之處歡迎指正。

相關閱讀推薦:NAND flash和NOR flash的區別詳解

相關閱讀推薦:詳細剖析NorFlash和NandFlash的區別

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FlaSh
    +關注

    關注

    10

    文章

    1633

    瀏覽量

    147944
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163765
收藏 人收藏

    評論

    相關推薦

    STM32失敗錯誤的處理方法

    STM32失敗錯誤:Contents mismatch at: 08000000H (Flash=FFH Required=00H)
    的頭像 發表于 06-21 08:55 ?1.3w次閱讀
    STM32<b class='flag-5'>燒</b><b class='flag-5'>寫</b><b class='flag-5'>失敗</b>錯誤的處理方法

    如何確定u-boot.bin在nor flash上的地址?

    Warrior TAP +USB的方式,Code Warrior 10.5.1開發環境下有RDB板上nor flash的配置信息(P10xx-P20xxRDB_P2020_
    發表于 06-08 11:42

    jlinknor flash失敗

    我按照步驟 :1. 準備工作: JLink 的 USB 口接到電腦上, JLink 的 JTAG 口用排線和開發板的 JTAG 口相連,開發板設為 Nor Flash 啟動并上電2. 啟動
    發表于 04-01 07:45

    如何使用jlink代碼到nor flash___frank?

    請下載附件,附件的說明非常詳細。1.文檔目的用jlink工具裸機代碼或者uboot到nor flash2.工具說明由于jlink只能
    發表于 08-08 03:59

    請問NOR FLASH一定要把2440開關撥至NOR進行才可以嗎?

    大家好,我這里想請教一個問題,裸板程序到NOR時,一定需要把2440開關撥至NOR進行
    發表于 09-03 04:36

    rk356x maskrom寫過程或后出現異常的主要原因及辦法分析

    1、rk3566/rk3568 異常問題rk356x maskrom寫過程或后出現異常的主要
    發表于 06-09 16:03

    基于CCS的DSP片外Flash直接設計

    基于CCS的DSP片外Flash直接設計 自加載后DSP能夠正常運行,關鍵是Flash中原程序代碼的正確
    發表于 10-04 09:41 ?3338次閱讀
    基于CCS的DSP片外<b class='flag-5'>Flash</b>直接<b class='flag-5'>燒</b><b class='flag-5'>寫</b>設計

    FPGA配置– 使用JTAG是如何SPI/BPI Flash的?

    Xilinx的JTAG電纜可以通過FPGA“直接”SPI/BPI。很多對xilinx開發環境不熟悉的用戶,如果第一次接觸這種模式可能會有疑惑,FPGA是如何做到JTAG和
    發表于 02-08 02:40 ?8316次閱讀
    FPGA配置– 使用JTAG是如何<b class='flag-5'>燒</b><b class='flag-5'>寫</b>SPI/BPI <b class='flag-5'>Flash</b>的?

    使用JTAGNand Flash實驗解析

    4.4 實驗內容使用JTAGNand Flash 1.實驗目的 通過使用JTAGFlash
    發表于 10-18 17:03 ?6次下載
    使用JTAG<b class='flag-5'>燒</b><b class='flag-5'>寫</b>Nand <b class='flag-5'>Flash</b>實驗解析

    CCS的DSP片外Flash直接設計

    CCS的DSP片外Flash直接設計
    發表于 10-20 08:29 ?3次下載
    CCS的DSP片外<b class='flag-5'>Flash</b>直接<b class='flag-5'>燒</b><b class='flag-5'>寫</b>設計

    如何采用DATA進行Flash的在線

    自加載后DSP能夠正常運行,關鍵是Flash中原程序代碼的正確。CCS編譯生成的.out格式文件不能直接用于Flash
    的頭像 發表于 02-06 08:51 ?3636次閱讀
    如何采用DATA進行<b class='flag-5'>Flash</b>的在線<b class='flag-5'>燒</b><b class='flag-5'>寫</b>

    Jlink使用技巧之SPI Flash存儲芯片

    大多數玩單片機的人都知道Jlink可以Hex文件,作為ARM仿真調試器,但是知道能SPI Flash的人應該不多,本篇文章將介紹如何
    發表于 01-26 18:37 ?4次下載
    Jlink使用技巧之<b class='flag-5'>燒</b><b class='flag-5'>寫</b>SPI <b class='flag-5'>Flash</b>存儲芯片

    可供用戶修改的FLASH驅動介紹

    為方便客戶針對 S698 芯片外接不同種類的 FLASH 進行在線編程。V8mon 的 FLASH 提供源碼可以進行用戶自行修改。FLASH
    發表于 06-08 14:39 ?0次下載
    可供用戶修改的<b class='flag-5'>FLASH</b><b class='flag-5'>燒</b><b class='flag-5'>寫</b>驅動介紹

    Segger J-Flash遇到特定區域內校驗失敗的問題

    最近在支持一個i.MX RT1170歐美客戶,客戶項目里選用了來自Micron的四線NOR Flash - MT25QL256ABA8E12-0AAT作為啟動設備,一般讀寫倒是沒有問題,但是在 Segger J-Flash
    的頭像 發表于 10-27 09:02 ?5381次閱讀

    一個關于Segger J-Flash在Micron Flash固定區域下載校驗失敗的故事

    接下來就是按客戶操作流程來復現 Segger J-Flash 校驗失敗問題,客戶其實是嘗試寫全部 32MB 數據來查看 J-
    的頭像 發表于 11-01 11:28 ?984次閱讀
    主站蜘蛛池模板: 一二三四免费中文在线1| 国产精自产拍久久久久久蜜| 影音先锋男人资源813.| 小蝌蚪视频在线观看免费观看WWW| 欧美日韩综合一区| 男女肉大捧进出全过程免费| 久久免费精彩视频| 久久AV亚洲精品一区无码网 | 亚洲成人黄色片| 亚州AV中文无码乱人伦在线| 玩50岁四川熟女大白屁股直播| 色欲档案之麻雀台上淫| 日本一本道高清码v| 青青视频国产色偷偷| 青青精品视频国产| 日本特交大片免费观看| 日韩精品一区二区中文| 日韩亚洲国产欧美免费观看| 日韩免费视频一区| 十分钟免费视频大全在线观看| 四虎精品久久久久影院| 息与子在线交尾中文字幕| 香蕉59tv视频| 亚洲欧洲精品A片久久99| 依人在线观看| 91精品乱码一区二区三区| 99精品在线看| 苍老师刺激的120分钟| 广东95后小情侣酒店自拍流出| 国产成人免费不卡在线观看| 国产精品免费观看视频播放| 国产偷国产偷亚州清高| 精精国产www视频在线观看免费| 久草热8精品视频在线观看| 美女视频秀色福利视频| 青青草AV国产精品| 特级做A爰片毛片免费看108| 午夜免费福利小电影| 又色又爽又黄gif动态视频| 99久久久无码国产精精品| 成人免费视频无遮挡在线看|