新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統中Nand-Flash的原理及應用

        嵌入式系統中Nand-Flash的原理及應用

        作者: 時間:2010-04-08 來源:網絡 收藏

        程序首先初始化要寫入的數據,*dstPt是要讀出驗證的數據,先填0;*srcPt是要寫入的數據,先用隨機數填滿。
        for(i=0;i512;i++) *dstPt++=0x0;//填0
        for(i=0;i512;i++){
        #if ADS10==TRUE
        if(offset==-1) *srcPt++=rand()%0xff;//隨機數填滿
        #else
        if(offset==-1) srcPt++ =i%0xf;
        #endif
        else *srcPt++=i+offset;
        }
        寫之前先進行擦除工作:
        if(NF8_EraseBIock(block)==FAIL) return;
        然后進行頁寫入操作:
        if(NF8_WritePage(block,page,srcPt)==FAIL) return;
        將用隨機數填滿的srcPt指向的數據寫入到指定的頁中。寫入之后再讀出驗證:
        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)將讀出的數據放入dstPt指向的地址空間里。最后將寫入的數據和讀出的數據比較,打印驗證信息。

        步驟4:編譯工程
        所有的函數都實現以后,通過ADS1.2進行編澤,生成可執行文件。在工程文件夾 andflash_testaandflash_test_DatakDebugRel下,可以看到nandflash_test.bin可執行文件。

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

        本文引用地址:http://www.104case.com/article/151954.htm

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

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金山区| 武宁县| 浦东新区| 山东省| 兴城市| 凤凰县| 龙山县| 德保县| 绵竹市| 上林县| 锡林郭勒盟| 防城港市| 政和县| 三原县| 安乡县| 乌兰浩特市| 星座| 常德市| 体育| 通州市| 什邡市| 景宁| 郎溪县| 临高县| 宁夏| 芦山县| 门源| 博兴县| 海丰县| 思茅市| 富平县| 错那县| 黎城县| 昆山市| 沁水县| 东乡| 增城市| 洛宁县| 江城| 宣汉县| 庆元县|