999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2014-10-21 20:04:55張東磊
電子世界 2014年6期

張東磊

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

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

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

圖1 NORFLASH硬件原理圖

圖2 NORFLASH命令定義

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

NOR FLASH是INTEL在1988年推出的一款商業(yè)性閃存芯片,它能夠提供完整的尋址與數(shù)據(jù)總線,并允許隨機(jī)存取存儲(chǔ)器上的任何區(qū)域,而且它可以忍受一萬次到一百萬次抹寫循環(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ù)。而對NOR FLASH的寫操作需要遵循特定的命令序列,最終由芯片內(nèi)部的控制單元完成寫操作。

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

圖3 測試程序主流程圖

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

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

方案1:

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

方案2:

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

方案3:

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

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

圖4 讀寫操作

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

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

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

在NOR FLASH的讀取數(shù)據(jù)的方式來看,它與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)行。

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

本平臺使用的ARM芯片型號為S3C2410,NORFLASH型號為AM29LV160DB,下文將用ARM代替S3C2410,NORFLASH代替AM29LV160DB。

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

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

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

芯片ID檢測功能:

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

_WR(0x555,0xaaaa);

_WR(0x2aa,0x5555);

_WR(0x555,0x9090);

manId=_RD(0);

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

_WR(0x555,0xaaaa);

_WR(0x2aa,0x5555);

_WR(0x555,0x9090);

devId=_RD(0x1);

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

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

如圖2中Sector Erase命令定義,通過下面的命令可以擦除芯片對應(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命令定義,通過下面的命令將對應(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芯片的測試程序,函數(shù)流程圖如圖3所示。

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

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

4.結(jié)束語

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

參考文獻(xiàn)

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

主站蜘蛛池模板: jizz在线观看| 热伊人99re久久精品最新地| 在线观看无码av免费不卡网站| 国产视频一区二区在线观看| 久久黄色小视频| 日韩区欧美国产区在线观看| 精品一区二区三区自慰喷水| 亚洲综合婷婷激情| 国产精品福利社| 久久精品娱乐亚洲领先| 99一级毛片| 亚洲精品va| 夜夜爽免费视频| 国产精品一区二区国产主播| 国产成人亚洲精品无码电影| 国产丝袜丝视频在线观看| 国产超薄肉色丝袜网站| 色综合天天视频在线观看| 波多野结衣一区二区三区AV| 欧美成人综合在线| 91久久偷偷做嫩草影院电| 五月激情综合网| 欧美日韩一区二区在线播放 | 亚洲免费福利视频| 国产人人射| 91在线免费公开视频| 毛片网站免费在线观看| 国产亚洲欧美日韩在线一区| 日韩福利在线观看| 性69交片免费看| 亚洲国产欧洲精品路线久久| 白浆免费视频国产精品视频| 国产乱人免费视频| 国产精品理论片| 亚洲人成网站日本片| 亚洲日本在线免费观看| 一级福利视频| 国产又爽又黄无遮挡免费观看| 成人午夜福利视频| 国模视频一区二区| 日本亚洲欧美在线| 中国毛片网| 99视频有精品视频免费观看| 久久亚洲美女精品国产精品| 午夜少妇精品视频小电影| 免费不卡视频| 国产一级毛片高清完整视频版| 亚洲美女高潮久久久久久久| 欧美色伊人| 韩日无码在线不卡| 三区在线视频| 欧美一级夜夜爽www| 麻豆精品久久久久久久99蜜桃| 国产区网址| 麻豆国产原创视频在线播放| 青青青国产视频| 在线免费无码视频| 国产成人永久免费视频| 久久精品人妻中文系列| 99这里精品| 欧美伊人色综合久久天天| 精品国产香蕉在线播出| 国产三级毛片| 国产精品高清国产三级囯产AV| 成人夜夜嗨| 国产精品成人啪精品视频| 91福利免费| 97se亚洲综合在线韩国专区福利| 精品五夜婷香蕉国产线看观看| 人妻少妇乱子伦精品无码专区毛片| 国产精品一线天| 亚洲AV一二三区无码AV蜜桃| 91视频国产高清| 久久精品日日躁夜夜躁欧美| 中文字幕在线欧美| 激情六月丁香婷婷四房播| 久久这里只有精品23| 日韩精品一区二区深田咏美 | 亚洲欧美在线综合图区| 视频二区亚洲精品| 中文字幕va| 欧美国产菊爆免费观看 |