新聞中心

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

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

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

        程序首先初始化要寫入的數(shù)據(jù),*dstPt是要讀出驗(yàn)證的數(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)行頁(yè)寫入操作:
        if(NF8_WritePage(block,page,srcPt)==FAIL) return;
        將用隨機(jī)數(shù)填滿的srcPt指向的數(shù)據(jù)寫入到指定的頁(yè)中。寫入之后再讀出驗(yàn)證:
        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ù)比較,打印驗(yàn)證信息。

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

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

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

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

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

        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 彭山县| 新竹县| 七台河市| 宁南县| 海盐县| 岗巴县| 喀什市| 桦川县| 随州市| 沅江市| 从化市| 贵南县| 右玉县| 沁源县| 屏南县| 南岸区| 三门峡市| 铅山县| 尚志市| 高陵县| 建宁县| 波密县| 遂溪县| 抚顺市| 屯门区| 吉安市| 灵丘县| 沙坪坝区| 横峰县| 吴忠市| 凤阳县| 双流县| 前郭尔| 稷山县| 金坛市| 桑植县| 孝昌县| 汝城县| 连州市| 应城市| 鹤岗市|