鷹空獨舞
          邁著慵懶的步子,走在成長路上..... Dead
          posts - 4,comments - 1,trackbacks - 0
          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789


          男生

          就該對自己狠點!


          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          NAND FLASH  與NOR FLASH 的區別

          與Nand Flash對應的是另一種Flash:Nor Flash,其對應的特點是:
          “NorFlash的特點是芯片內執行(XIP,eXecute In Place),這樣應用程序可以直接在flash閃存內運行,不必再把代碼讀到系統RAM中。如uboot中的ro段可以直接在NorFlash上運行,只需要把rw和zi段拷貝到RAM中運行即可。 ”

          而相應地,Nand Flash比較特殊:
          “NandFlash器件使用復雜的I/O口來串行地存取數據,8個引腳用來傳送控制、地址和數據信息。由于時序較為復雜,所以一般CPU最好集成NAND控制器。另外由于NandFlash沒有掛接在地址總線上,所以如果想用NandFlash作為系統的啟動盤,就需要CPU具備特殊的功能,如s3c2410在被選擇為NandFlash啟動方式時會在上電時自動讀取NandFlash的4k數據到地址0的SRAM中。如果CPU不具備這種特殊功能,用戶不能直接運行NandFlash上的代碼,那可以采取其他方式,比如好多使用NandFlash的開發板除了使用NandFlash以外,還用上了一塊小的NorFlash來運行啟動代碼。”

          至于,為什么Nand Flash不能進行XIP的原因,主要是由于物理上的硬件限制,
          在讀取Flash時候,容易出現“位翻轉(bit convert)”:
          “在Flash的位翻轉(一個bit位發生翻轉)現象上,NAND的出現幾率要比NorFlash大得多。這個問題在Flash存儲關鍵文件時是致命的,所以在使用NandFlash時建議同時使用EDC/ECC等校驗算法。 ”

          但是,如果能保證不出錯,也還是可以進行XIP,可以在其上執行代碼的:
          “所謂XIP,就是CODE是在FLASH上直接運行. NANDFLASH只是不適合做XIP,但并不是不能做XIP.
          要一段CODE能夠正確的運行,要保證它的CODE是連續的,正確的.
          由于一些電氣特性的原因,NOR FLASH能夠做到這一點,不存在壞道或壞塊,所以能夠做XIP.
          而對于NAND FLASH, 它只保證它的BLOCK 0是好的,其他的塊并不保證,雖然出錯的幾率比較低,但還是有出錯的可能,所以CODE可能無法連續正確地執行.
          但只要你有額外的保障措施,比如說在執行CODE之前去做一次ECC校驗,來確保CODE是連續正確的.那你也可以做XIP. 事實上我就正在這么做,而且也證明是成功的. ”

          posted on 2012-05-29 16:46 鷹空獨舞 閱讀(398) 評論(0)  編輯  收藏 所屬分類: STM32

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 太湖县| 洞头县| 顺平县| 东安县| 安陆市| 锡林郭勒盟| 历史| 金沙县| 无为县| 灵山县| 鄂尔多斯市| 定兴县| 苏尼特左旗| 临安市| 黔江区| 武定县| 普安县| 大英县| 江油市| 永昌县| 乐都县| 青川县| 金塔县| 易门县| 驻马店市| 商河县| 虹口区| 岢岚县| 左贡县| 上饶市| 遵化市| 霍城县| 嘉善县| 密云县| 株洲县| 邢台县| 汝州市| 长顺县| 兰坪| 姜堰市| 安阳市|