亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        NORFLASH存儲(chǔ)芯片測(cè)試程序的設(shè)計(jì)

        2014-10-21 20:04:55張東磊
        電子世界 2014年6期
        關(guān)鍵詞:測(cè)試程序存儲(chǔ)芯片

        張東磊

        【摘要】在公司現(xiàn)有硬件平臺(tái)基礎(chǔ)上,開發(fā)設(shè)計(jì)測(cè)試程序?qū)ORFLASH存儲(chǔ)芯片進(jìn)行測(cè)試。實(shí)驗(yàn)結(jié)果表明,該測(cè)試程序的設(shè)計(jì)能避免由于無(wú)測(cè)試工具而無(wú)法測(cè)試到的儲(chǔ)存區(qū)塊損壞造成的設(shè)備運(yùn)行異常,并實(shí)現(xiàn)測(cè)試自動(dòng)化。

        【關(guān)鍵詞】NORFLASH;存儲(chǔ)芯片;測(cè)試程序

        NOR FLASH技術(shù)是Intel于1988年開發(fā)的,其特點(diǎn)是芯片內(nèi)執(zhí)行,即應(yīng)用程序可以直接在FLASH閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中,是現(xiàn)在市場(chǎng)上主要的非易失閃存技術(shù)之一。其傳輸效率高,在1~4MB的小容量時(shí)具有很高的成本效益[1]?;谄涮攸c(diǎn)NOR FLASH存儲(chǔ)芯片市場(chǎng)應(yīng)用率高,而目前沒(méi)有專門對(duì)NOR FLASH存儲(chǔ)芯片進(jìn)行測(cè)試的工裝和工具。本文就筆者開發(fā)的NOR FLASH存儲(chǔ)芯片測(cè)試程序予以詳細(xì)分析。

        圖1 NORFLASH硬件原理圖

        圖2 NORFLASH命令定義

        1.NOR FLASH存儲(chǔ)芯片

        NOR FLASH是INTEL在1988年推出的一款商業(yè)性閃存芯片,它能夠提供完整的尋址與數(shù)據(jù)總線,并允許隨機(jī)存取存儲(chǔ)器上的任何區(qū)域,而且它可以忍受一萬(wàn)次到一百萬(wàn)次抹寫循環(huán),是早期的可移除式閃存儲(chǔ)媒體的基礎(chǔ)。NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片內(nèi)執(zhí)行(這意味著存儲(chǔ)在NOR FLASH上的程序不需要復(fù)制到RAM就可以直接運(yùn)行)。因此,在嵌入式系統(tǒng)中,NOR FLASH很適合作為啟動(dòng)程序的存儲(chǔ)介質(zhì)。NOR FLASH的讀取和RAM類似,只要能夠提供數(shù)據(jù)的地址,數(shù)據(jù)總線就能夠正確的給出數(shù)據(jù)。而對(duì)NOR FLASH的寫操作需要遵循特定的命令序列,最終由芯片內(nèi)部的控制單元完成寫操作。

        為了便于訪問(wèn),從支持的最小訪問(wèn)單元來(lái)看,NOR FLASH一般分為8位的和16位的(也有很多NOR FLASH芯片同時(shí)支持8位模式和16位模式)具體的工作模式通過(guò)特定的管腳進(jìn)行選擇。FLASH一般都分為很多個(gè)SECTOR,每個(gè)SECTOR包括一定數(shù)量的存儲(chǔ)單元。對(duì)有些大容量的FLASH,還分為不同的BANK,每個(gè)BANK包括一定數(shù)目的SECTOR。FLASH的擦除操作一般都是以SECTOR,BANK或是整片F(xiàn)LASH為單位的。

        圖3 測(cè)試程序主流程圖

        2.設(shè)計(jì)測(cè)試程序

        在編寫測(cè)試程序時(shí),設(shè)計(jì)三種測(cè)試方案:

        方案1:

        在安裝J-link驅(qū)動(dòng)程序時(shí),本身自帶一個(gè)工具J-FLASH ARM.exe,可以對(duì)NOR FLASH進(jìn)行單次的讀、寫、擦除操作,并且可以測(cè)試讀、寫、擦除的速度。由于本工具不是開源的,不能夠增加和修改功能,基于單次操作的局限性,放棄方案1。但是在編寫測(cè)試程序時(shí),可以參考本工具的功能設(shè)計(jì)。

        方案2:

        通過(guò)對(duì)嵌入式系統(tǒng)移植的研究,發(fā)現(xiàn)可以通過(guò)移植U-boot對(duì)存儲(chǔ)設(shè)備進(jìn)行操作,而且u-boot對(duì)于存儲(chǔ)設(shè)備的操作驅(qū)動(dòng)是經(jīng)過(guò)IT精英共同驗(yàn)證過(guò)的。但考慮到剛開始接觸系統(tǒng)移植,在短時(shí)間內(nèi)無(wú)法完成測(cè)試程序的編寫,所以放棄方案2。

        方案3:

        在公司現(xiàn)有的監(jiān)控平臺(tái)上,增加對(duì)存儲(chǔ)設(shè)備的讀、寫、擦除操作。本方案不需要重新設(shè)計(jì)硬件平臺(tái),大大節(jié)省了設(shè)計(jì)的時(shí)間。本測(cè)試程序可以對(duì)NORFLASH存儲(chǔ)芯片進(jìn)行讀寫測(cè)試和壽命測(cè)試。在測(cè)試過(guò)程中,如果發(fā)現(xiàn)芯片讀寫錯(cuò)誤,本程序可以通過(guò)串口將錯(cuò)誤信息打印到調(diào)試工具供用戶查看。測(cè)試過(guò)程中不需要用戶參與,實(shí)現(xiàn)測(cè)試自動(dòng)化。

        本次測(cè)試是編寫存儲(chǔ)設(shè)備的測(cè)試程序,可以長(zhǎng)時(shí)間對(duì)存儲(chǔ)設(shè)備進(jìn)行讀、寫、擦除操作,從而可以驗(yàn)證存儲(chǔ)設(shè)備的特性:在高溫條件下,對(duì)存儲(chǔ)設(shè)備進(jìn)行讀、寫、擦除操作中正確無(wú)誤;存儲(chǔ)設(shè)備的讀、寫、擦除操作有一定的次數(shù)限制。

        圖4 讀寫操作

        3.測(cè)試NOR FLASH存儲(chǔ)芯片

        在對(duì)FLASH進(jìn)行寫操作的時(shí)候,每個(gè)BIT可以通過(guò)編程由1變?yōu)?,但不可以有0修改為1。為了保證寫操作的正確性,在執(zhí)行寫操作前,都要執(zhí)行擦除操作。擦除操作會(huì)把FLASH的一個(gè)SECTOR,一個(gè)BANK或是整片F(xiàn)LASH的值全修改為0xFF。這樣,寫操作就可以正確完成了。

        由于NOR FLASH沒(méi)有本地壞區(qū)管理,所以一旦存儲(chǔ)區(qū)塊發(fā)生毀損,軟件或驅(qū)動(dòng)程序必須接手這個(gè)問(wèn)題,否則可能會(huì)導(dǎo)致設(shè)備發(fā)生異常。在解鎖、抹除或?qū)懭隢OR FLASH區(qū)塊時(shí),特殊的指令會(huì)先寫入已繪測(cè)的記憶區(qū)的第一頁(yè)(Page)。接著快閃記憶芯片會(huì)提供可用的指令清單給實(shí)體驅(qū)動(dòng)程序,而這些指令是由一般性閃存接口(CommON FLASH memory Interface,CFI)所界定的。與用于隨機(jī)存取的ROM不同,NOR FLASH也可以用在存儲(chǔ)設(shè)備上。

        在NOR FLASH的讀取數(shù)據(jù)的方式來(lái)看,它與RAM的方式是相近的,只要能夠提供數(shù)據(jù)的地址,數(shù)據(jù)總線就能夠正確的揮出數(shù)據(jù)??紤]到以上的種種原因,多數(shù)微處理器將NOR FLASH當(dāng)做原地運(yùn)行(Execute in place,XIP)存儲(chǔ)器使用,這其實(shí)意味著存儲(chǔ)在NOR FLASH上的程序不需要復(fù)制到RAM就可以直接運(yùn)行。

        本測(cè)試中硬件平臺(tái)使用的ARM芯片是S3C 2410,該芯片具備外接NORFLASH的引腳,下面是S3C2410和NORFLASH的接線圖如圖1所示。

        本平臺(tái)使用的ARM芯片型號(hào)為S3C2410,NORFLASH型號(hào)為AM29LV160DB,下文將用ARM代替S3C2410,NORFLASH代替AM29LV160DB。

        NORFLASH有2種讀寫模式:8位模式和16位模式。對(duì)8位的NOR FLASH芯片,或是工作在8-BIT模式的芯片來(lái)說(shuō),一個(gè)地址對(duì)應(yīng)一個(gè)BYTE(8-BIT)的數(shù)據(jù)。例如一塊8-BIT的NOR FLASH,假設(shè)容量為4個(gè)BYTE。那芯片應(yīng)該有8個(gè)數(shù)據(jù)信號(hào)D7-D0和2個(gè)地址信號(hào),A1-A0。地址0x0對(duì)應(yīng)第0個(gè)BYTE,地址0x1對(duì)應(yīng)于第1BYTE,地址0x2對(duì)應(yīng)于第2個(gè)BYTE,而地址0x3則對(duì)應(yīng)于第3個(gè)BYTE對(duì)16位的NOR FLASH芯片,或是工作在16-BIT模式的芯片來(lái)說(shuō),一個(gè)地址對(duì)應(yīng)于一個(gè)HALF-WORD(16-BIT)的數(shù)據(jù)。例如,一塊16-BIT的NOR FLASH,假設(shè)其容量為4個(gè)BYTE。那芯片應(yīng)該有16個(gè)數(shù)據(jù)信號(hào)線D15-D0和1個(gè)地址信號(hào)A0。地址0x0對(duì)應(yīng)于芯片內(nèi)部的第0個(gè)HALF-WORD,地址0x1對(duì)應(yīng)于芯片內(nèi)部的第1個(gè)HALF-WORD。通過(guò)上圖地址線的連接方式可知,NORFLASH使用的字模式。上圖中,LADDR1連接A0為字模式,LADDR0連接A0為字節(jié)模式。

        基于芯片的測(cè)試需求,測(cè)試程序主要有2個(gè)功能:第1個(gè)允許用戶可以設(shè)置擦寫次數(shù),以便用戶進(jìn)行芯片壽命的測(cè)試。第2個(gè)根據(jù)用戶設(shè)置擦寫次數(shù),向芯片的35個(gè)扇區(qū)寫0,然后檢測(cè)扇區(qū)的數(shù)據(jù)是否為0。

        NORFLASH數(shù)據(jù)手冊(cè)中對(duì)芯片的操作有專有的命令,如圖2所示。

        芯片ID檢測(cè)功能:

        如圖2中Manufacturer ID命令定義,通過(guò)下面的命令可以得到芯片的Manufacturer ID:

        _WR(0x555,0xaaaa);

        _WR(0x2aa,0x5555);

        _WR(0x555,0x9090);

        manId=_RD(0);

        如圖2中Device ID命令定義,通過(guò)下面的命令可以得到芯片的Device ID:

        _WR(0x555,0xaaaa);

        _WR(0x2aa,0x5555);

        _WR(0x555,0x9090);

        devId=_RD(0x1);

        從圖2中可以得到manId為0X01,devId為0X2249。

        基于扇區(qū)的擦除功能

        如圖2中Sector Erase命令定義,通過(guò)下面的命令可以擦除芯片對(duì)應(yīng)的扇區(qū):

        _WR(0x555,0xaaaa);

        _WR(0x2aa,0x5555);

        _WR(0x555,0x8080);

        _WR(0x555,0xaaaa);

        _WR(0x2aa,0x5555);

        _WR(BADDR2WADDR(targetAddr),0x3030);

        數(shù)據(jù)寫入NorFlash功能

        如圖2中program命令定義,通過(guò)下面的命令將對(duì)應(yīng)數(shù)據(jù)寫到NorFlash中:

        _WR(0x555,0xaaaa);

        _WR(0x2aa,0x5555);

        _WR(0x555,0xa0a0);

        *tempPt=data;

        將NORFLASH數(shù)據(jù)讀到SDRAM功能

        NORFLASH的讀取操作,不需要特殊的命令,它的操作和SDRAM的操作一樣。

        基于以上介紹的驅(qū)動(dòng)函數(shù)的功能,我們可以靈活的使用它們編寫自己的應(yīng)用程序,我們本次實(shí)驗(yàn)的目的是設(shè)計(jì)NORFLASH芯片的測(cè)試程序,函數(shù)流程圖如圖3所示。

        測(cè)試程序開始之前,需要設(shè)置NOR FLASH的讀寫次數(shù),這個(gè)讀寫次數(shù)可以進(jìn)行作為芯片壽命測(cè)試的參考。設(shè)置完成以后,選擇“對(duì)整個(gè)NOR FLASH寫0”命令,然后測(cè)試程序按照?qǐng)D3的流程進(jìn)行。

        在程序進(jìn)行讀寫操作過(guò)程中,測(cè)試程序會(huì)順序?qū)?5個(gè)扇區(qū)進(jìn)行讀寫操作,并將操作結(jié)果通過(guò)串口打印出來(lái)。讀寫操作流程圖如圖4所示。

        4.結(jié)束語(yǔ)

        基于公司現(xiàn)有硬件平臺(tái)設(shè)計(jì)的NOR FLASH存儲(chǔ)芯片程序,可以幫助我們進(jìn)行NOR FLASH芯片的自動(dòng)化測(cè)試,有效防止了由于NOR FLASH沒(méi)有本地壞區(qū)管理,一旦存儲(chǔ)區(qū)塊發(fā)生毀損,可能會(huì)出現(xiàn)導(dǎo)致設(shè)備發(fā)生異常,并且實(shí)現(xiàn)測(cè)試自動(dòng)化,節(jié)省了測(cè)試時(shí)間,也保證了測(cè)試的精度,確保了NOR FLASH存儲(chǔ)芯片的穩(wěn)定可靠性。

        參考文獻(xiàn)

        [1]李亞峰,歐文盛.ARM嵌入式Linux系統(tǒng)開發(fā)從入門到精通[M].北京:清華大學(xué)出版社,2007.

        猜你喜歡
        測(cè)試程序存儲(chǔ)芯片
        基于單片機(jī)的音樂(lè)播放器硬件設(shè)計(jì)
        民用飛機(jī)噴氣發(fā)動(dòng)機(jī)排氣物試驗(yàn)
        科技視界(2019年25期)2019-11-19 12:13:38
        中國(guó)存儲(chǔ)芯片打破韓美日壟斷局面邁出堅(jiān)實(shí)一步
        多通道NAND Flash存儲(chǔ)芯片控制器的設(shè)計(jì)與實(shí)現(xiàn)
        基于Castle型機(jī)械手的三溫量產(chǎn)測(cè)試平臺(tái)實(shí)現(xiàn)
        嵌入計(jì)算機(jī)軟件測(cè)試所面臨的問(wèn)題及對(duì)策探析
        手機(jī)APP交互界面人因適合性測(cè)試程序的設(shè)計(jì)與實(shí)現(xiàn)
        中心主導(dǎo)制訂的《VHF/UHF頻率范圍內(nèi)測(cè)向系統(tǒng)測(cè)向靈敏度的測(cè)試程序》等兩項(xiàng)國(guó)際標(biāo)準(zhǔn)在ITU官網(wǎng)正式發(fā)布
        電氣自動(dòng)化控制設(shè)備可靠性測(cè)試探討
        iPhone換閃存加容量這事靠譜嗎?
        電腦迷(2015年12期)2015-04-29 23:22:51
        国产av剧情一区二区三区| 亚洲精品美女自拍偷拍| 青青草国内视频在线观看| 成人国产精品三上悠亚久久| 日产精品久久久一区二区| 人人妻人人爽人人做夜欢视频九色| 亚洲欧美日韩国产综合专区| 国产精品一品二区三区| 亚洲视频在线一区二区| 精产国品一二三产品蜜桃| 亚洲欧洲精品成人久久曰影片| 丁香婷婷激情俺也去俺来也| 国产极品裸体av在线激情网| 欧美xxxx色视频在线观看| 中文字幕少妇AV| 日本高清一区二区三区色| 91精品亚洲成人一区二区三区| 在线观看免费人成视频| 亚洲精品亚洲人成在线下载| 国产大屁股白浆一区二区三区| 久久久精品午夜免费不卡| 97久久香蕉国产线看观看| 福利网在线| 成av人片一区二区久久| 久久www免费人成精品| 伊人影院综合在线| 偷柏自拍亚洲综合在线| 在线免费观看一区二区| 青青草原精品99久久精品66| 最新日韩av在线不卡| 水蜜桃视频在线观看入口| 美女高潮黄又色高清视频免费| 极品粉嫩嫩模大尺度无码| 国产天堂av手机在线| 人妖av手机在线观看| 亚洲av无码潮喷在线观看| 日本香蕉久久一区二区视频| 极品夫妻一区二区三区| 日日天干夜夜狠狠爱| 欧美三级免费网站| 高清成人在线视频播放|