<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)中Nand-Flash的原理及應(yīng)用

          嵌入式系統(tǒng)中Nand-Flash的原理及應(yīng)用

          作者: 時間:2010-04-08 來源:網(wǎng)絡(luò) 收藏

          程序首先初始化要寫入的數(shù)據(jù),*dstPt是要讀出驗證的數(shù)據(jù),先填0;*srcPt是要寫入的數(shù)據(jù),先用隨機(jī)數(shù)填滿。
          for(i=0;i512;i++) *dstPt++=0x0;//填0
          for(i=0;i512;i++){
          #if ADS10==TRUE
          if(offset==-1) *srcPt++=rand()%0xff;//隨機(jī)數(shù)填滿
          #else
          if(offset==-1) srcPt++ =i%0xf;
          #endif
          else *srcPt++=i+offset;
          }
          寫之前先進(jìn)行擦除工作:
          if(NF8_EraseBIock(block)==FAIL) return;
          然后進(jìn)行頁寫入操作:
          if(NF8_WritePage(block,page,srcPt)==FAIL) return;
          將用隨機(jī)數(shù)填滿的srcPt指向的數(shù)據(jù)寫入到指定的頁中。寫入之后再讀出驗證:
          if(NF8_ReadPage(block,page,dstPt)==FAIL) return;
          Uart_Printf(Checking data. );
          for(error=0,i=0;i512;i++){
          if(*srcPt++!=*dstPt++){//比較操作
          Uart_Printf(Error:%d[W:%x,R:%x] ,i,*srcPt,*dstPt);
          error++;
          }
          }
          if(error!=0)
          {Uart_Printf(Fail to R/W test(%d). ,error);
          return(2);
          }
          else
          {Uart_Printf(R/W test OK. );
          return(1);
          }
          其中NF8_ReadPage(block,page,dstPt)將讀出的數(shù)據(jù)放入dstPt指向的地址空間里。最后將寫入的數(shù)據(jù)和讀出的數(shù)據(jù)比較,打印驗證信息。

          步驟4:編譯工程
          所有的函數(shù)都實現(xiàn)以后,通過ADS1.2進(jìn)行編澤,生成可執(zhí)行文件。在工程文件夾 andflash_testaandflash_test_DatakDebugRel下,可以看到nandflash_test.bin可執(zhí)行文件。

          步驟5:下載程序運行
          將串口線與硬件開發(fā)板串口和開發(fā)PC機(jī)的COM1連接好(主要用于回顯),用USB線和開發(fā)PC 機(jī)的USB口相連后(主要用于數(shù)據(jù)的下載),打開DNW 軟件,將串口設(shè)置為COM1,比特率設(shè)置為115200,USB下載地址設(shè)為0x30000000。
          使用DNW 將前面生成的可執(zhí)行文件下載到內(nèi)存中去運行。

          本文引用地址:http://www.ex-cimer.com/article/151954.htm

          3 結(jié)束語
          本文主要討論了Nand-flash存儲器芯片的工作以及以三星公司基于ARM公司的ARM920T處理器核S3C2440A為平臺舉了一個測試實例,讓讀者對整個存儲的軟硬件設(shè)計過程有了一個較為全面的了解,便于在其它設(shè)計中運用。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();