国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      動(dòng)態(tài)存儲(chǔ)器功能測試方法

      文檔序號:6570986閱讀:487來源:國知局
      專利名稱:動(dòng)態(tài)存儲(chǔ)器功能測試方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種動(dòng)態(tài)存儲(chǔ)器功能測試方法。
      背景技術(shù)
      目前,單板上的CPU最小系統(tǒng)一般都包括中央處理單元CPU、電可擦寫存儲(chǔ)器FLASH(BOOTROM)和動(dòng)態(tài)存儲(chǔ)器SDRAM等器件,如圖1所示,其中CPU是單板的核心,用來執(zhí)行單板軟件指定的各項(xiàng)操作。FLASH是一種電可擦除的存儲(chǔ)器,即使單板掉電,保存在其中的程序或數(shù)據(jù)也是不會(huì)丟失的。CPU可以方便地讀出FLASH中的內(nèi)容,但只有在特定的情況下才可以對其進(jìn)行擦除和寫入操作。SDRAM是一種動(dòng)態(tài)的存儲(chǔ)器,單板掉電以后,保存在其中的程序或數(shù)據(jù)就會(huì)丟失,CPU可以很方便地對SDRAM進(jìn)行讀寫操作。這兩種存儲(chǔ)器本身的特點(diǎn)決定了CPU對FLASH中的數(shù)據(jù)讀寫較慢,而對SDRAM中的數(shù)據(jù)讀寫較快。所以一般都是將單板軟件保存在FLASH中,單板上電進(jìn)行必要的初始化以后,便將FLASH中的程序和數(shù)據(jù)搬移到SDRAM中來運(yùn)行,這樣可以保證單板的運(yùn)行速度較快。SDRAM在單板上的作用是相當(dāng)重要的,因此有必要對其進(jìn)行全面的測試。
      目前進(jìn)行SDRAM測試的方法如下一、單板啟動(dòng)進(jìn)行完一些必要的初始化及自檢以后,直接在FLASH(或其它的ROM)中運(yùn)行測試程序,對單板上所有的SDRAM的數(shù)據(jù)線、地址線及單元進(jìn)行全面的測試。如果測試不通過,則通過點(diǎn)燈或其它方式上報(bào)錯(cuò)誤信息。如果測試通過,則將FLASH(或其它的ROM)中的程序搬移到SDRAM中,然后進(jìn)行其它的操作。
      二、單板啟動(dòng)進(jìn)行完一些必要的初始化及自檢以后,直接在FLASH(或其它的ROM)中運(yùn)行測試程序,對單板上一小部分SDRAM的數(shù)據(jù)線、地址線及單元進(jìn)行全面的測試。如果測試不通過,則通過點(diǎn)燈或其它方式上報(bào)錯(cuò)誤信息。如果測試通過,則將FLASH(或其它的ROM)中的程序搬移到已測試過的SDRAM中,然后再根據(jù)實(shí)際的需求(可能是測試命令)來決定是否需要對其它的SDRAM進(jìn)行測試。
      因?yàn)闇y試程序直接在FLASH(或其它的ROM)中運(yùn)行,所以速度較慢。為了提高測試速度和測試代碼的效率,上述測試程序一般要用匯編語言進(jìn)行編寫,對開發(fā)人員的要求相對較高。
      另外,單板一般都是在程序搬移到SDRAM中以后才對單板的串口或網(wǎng)口進(jìn)行初始化,在使用目前的方法調(diào)試SDRAM的測試程序時(shí)串口和網(wǎng)口都還沒有初始化,不方便輸出詳細(xì)的調(diào)試信息,只能通過點(diǎn)燈或其它簡單的方式來輸出調(diào)試信息,因此調(diào)試相對較困難。

      發(fā)明內(nèi)容
      本發(fā)明的目的就是為了解決以上問題,提供一種動(dòng)態(tài)存儲(chǔ)器功能測試方法,提高測試速度。
      為實(shí)現(xiàn)上述目的,本發(fā)明提出一種動(dòng)態(tài)存儲(chǔ)器功能測試方法,其特征是對其分段進(jìn)行測試,其步驟如下1)將存儲(chǔ)于電可擦除存儲(chǔ)器中的程序,其中包含測試程序,搬移到動(dòng)態(tài)存儲(chǔ)器中;2)搬移完成后,先測試所有程序都未使用到的一段動(dòng)態(tài)存儲(chǔ)器,測試完成以后如果發(fā)現(xiàn)該段有問題,則上報(bào)出錯(cuò)信息;3)如果該段沒有問題,將測試程序搬移到該段已測試過的動(dòng)態(tài)存儲(chǔ)器中的某個(gè)特定位置,并將已使用但待測試的一段動(dòng)態(tài)存儲(chǔ)器中的內(nèi)容搬移到該段已測試過的動(dòng)態(tài)存儲(chǔ)器中保存起來,然后調(diào)用測試程序?qū)@段待測試的存儲(chǔ)器進(jìn)行測試,測試完成以后,將測試前就已經(jīng)保存起來的內(nèi)容恢復(fù);4)重復(fù)第3)步,對另一段已使用但待測試的動(dòng)態(tài)存儲(chǔ)器進(jìn)行測試,直到測完所有各段;在測試過程中如果發(fā)現(xiàn)問題,則上報(bào)出錯(cuò)信息,中斷測試。
      由于采用了以上的方案,將測試程序搬移到動(dòng)態(tài)存儲(chǔ)器以后才運(yùn)行,利用動(dòng)態(tài)存儲(chǔ)器運(yùn)行速度快的優(yōu)點(diǎn),大大提高了測試速度。由于在測試每一段已使用的內(nèi)存以前都對其中的內(nèi)容進(jìn)行了保存,在測試完成以后,又進(jìn)行了恢復(fù),所以程序一直可以正常運(yùn)行。測試速度提高后,對測試程序代碼的效率要求自然就降低了,這樣也就不必再采用匯編語言,用普通的高級語言(如C語言)也就可以了,大大方便了編程。


      圖1是單板上CPU最小系統(tǒng)示意圖。
      圖2是本發(fā)明一個(gè)實(shí)施例的流程示意圖。
      圖3是各段的測試流程示意圖。
      具體實(shí)施例方式下面通過具體的實(shí)施例并結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述。
      圖1所示電路常見于各種產(chǎn)品的各類單板,它是CPU最小系統(tǒng)的一部分,這是一種非常一般的設(shè)計(jì)方法。對于不同的單板,CPU種類,SDRAM的型號及容量可能不同。這部分電路在單板上的重要性是顯而易見的,因此在單板出廠前必須對該部分電路進(jìn)行全面的測試。
      一般來說,單板軟件都保存在FLASH(或其它的ROM)中,如果不把程序搬移到SDRAM中,而直接運(yùn)行FLASH中(或其它的ROM)的測試程序?qū)DRAM進(jìn)行全面的測試,測試時(shí)間可能會(huì)比較長。例如,我們在試驗(yàn)的過程中發(fā)現(xiàn)直接從FLASH中運(yùn)行程序測試32M SDRAM需要一分多鐘,而使用同樣的測試方法,將代碼搬移到SDRAM中再運(yùn)行測試程序測試32M SDRAM則只需要十多秒。在硬件環(huán)境完全相同的情況下,測試時(shí)間主要是由每個(gè)單元進(jìn)行讀寫的次數(shù)來決定的,但是在使用同樣的測試方法的時(shí)候,將代碼搬移到SDRAM中再運(yùn)行與直接在FLASH中運(yùn)行相比在測試效率方面具有非常明顯的優(yōu)勢。將單板初始化程序及測試程序搬移到SDRAM中以后,由于測試程序占用了SDRAM的某些單元,使我們不方便對SDRAM的所有單元進(jìn)行全面的測試。這就是為什么現(xiàn)有技術(shù)具有上述缺點(diǎn)的原因。
      其實(shí)這里測試SDRAM單元的方法就是對其分段進(jìn)行測試。將程序搬移到SDRAM之后,先測試單板初始化程序及其它程序(包括測試程序)都未使用到的高端的SDRAM單元,測試完成以后如果發(fā)現(xiàn)高端的SDRAM有問題,則上報(bào)出錯(cuò)的信息,包括出錯(cuò)的單元地址、寫入的數(shù)據(jù)、讀到的數(shù)據(jù),這樣很容易找出存在故障的數(shù)據(jù)線、地址線或芯片,便于生產(chǎn)維修。如果高端的SDRAM沒有問題,則對低端的SDRAM分段,每段依次進(jìn)行″保存數(shù)據(jù)(程序)到高端的內(nèi)存中(搬移)--測試低端內(nèi)存(測試)--將數(shù)據(jù)(程序)恢復(fù)到測試前的狀態(tài)(恢復(fù))″,在這個(gè)過程中只要測試發(fā)現(xiàn)異常,便上報(bào)出錯(cuò)信息,退出SDRAM的測試程序。SDRAM電路的基本測試流程如圖2所示(流程圖是以32M SDRAM測試為例畫的,僅作為一個(gè)實(shí)例)。
      圖3所示是在每段內(nèi)的測試流程。其中所用的算法分為走步″1″算法(WALK-1)和走步″0″(WALK-0)算法兩種,兩種算法最好同時(shí)采用,當(dāng)然也可以單獨(dú)采用其中一種。該測試數(shù)據(jù)線和地址線的方法也可以用來測試郵箱和FLASH電路。
      走步″1″算法的初始測試矢量為1,0,0,...,0。然后讓1順序移位,所以稱為走步″1″算法。這種算法的測試矢量個(gè)數(shù)為n。例如n=7的時(shí)候,則測試矢量為1000000010000000100000001000000010000000100000001對存儲(chǔ)器外圍互連測試而言就是執(zhí)行7次讀寫操作。走步″1″算法能夠?qū)收线M(jìn)行精確的定位。
      走步″0″算法與走步″1″算法互補(bǔ),它的初始測試矢量為0,1,1,...,1。然后讓0順序移位,所以稱為走步″0″算法。這種算法的測試矢量個(gè)數(shù)也為n。例如n=7的時(shí)候,則測試矢量為0111111101111111011111110111111101111111011111110
      對存儲(chǔ)器互連線測試而言就是執(zhí)行7次讀寫操作。走步″0″算法也能夠?qū)收线M(jìn)行精確的定位。
      理論上來說走步″1″、走步″0″應(yīng)該是沒有區(qū)別的,因此二者可以任選一種。如對于那種數(shù)據(jù)線、地址線的常低和常高的故障,用走步″1″的方法很容易查出來。但是有時(shí)也有例外,例如,在臨界狀態(tài)的軟故障(例如故障的數(shù)據(jù)線的對地電阻約為30多歐姆時(shí)),可能用走步″1″的方法測不出故障,而用走步″0″卻可以測出故障;反之也有可能。由于多進(jìn)行一次走步測試,只多進(jìn)行幾十次寫入、讀出操作,也浪費(fèi)不了多少時(shí)間,因此建議在測試時(shí)將走步″1″和走步″0″的方法同時(shí)進(jìn)行,以保證數(shù)據(jù)線、地址線的測試質(zhì)量。
      該測試方法對被測SDRAM的每個(gè)單元都進(jìn)行了寫入、讀出比較的操作,對于一般的應(yīng)用來說應(yīng)該是比較完備和可靠的。由于該測試方法比較簡單,對于測試一般的SDRAM單元故障,經(jīng)試用這種方法取得了較好的效果,例如測試32M SDRAM的時(shí)間大約為10多秒,本方法在生產(chǎn)測試中幫助我們發(fā)現(xiàn)了不少的SDRAM單元故障。
      在使用本方法時(shí)要注意程序中的某些數(shù)據(jù)應(yīng)該根據(jù)所測試的SDRAM的大小來決定,而且上面提供的方法應(yīng)該靈活應(yīng)用,比如分段測試時(shí)每一個(gè)″段″取多大,等等。下面的例子可以幫助讀者理解″段″的選取在某產(chǎn)品的一種單板上有16M SDRAM,在程序搬移后,可能在第9、10M的內(nèi)存空間中有有用的信息,我們?nèi)绻捎帽景l(fā)明的方法時(shí)先測試高8M,再分兩次(4M、4M)測試低8M,程序就有可能在調(diào)試時(shí)跑飛(出錯(cuò)、溢出),因?yàn)樵跍y試高8M時(shí)將其中第9、10M的內(nèi)存空間中的有用信息破壞掉了。但如果采用先測試高6M,再分三次(3M、3M、4M)測試低10M的方法就將問題解決了;或者稍微調(diào)整一下,分兩次(5M、5M)也可以將問題解決。
      當(dāng)然,″段″的選取順序也不一定是嚴(yán)格從高端到低端依次選取,只要最先被選擇的″段″內(nèi)沒有程序數(shù)據(jù)、并且測試能遍歷所有的SDRAM單元即可。
      總之,由于測試程序在搬移到SDRAM中再運(yùn)行,速度較快。速度的加快使得對程序效率的要求降低,從而可以利用高級語言進(jìn)行程序編寫,如測試程序直接用C語言編寫,對開發(fā)人員要求較低。另外,它是在串口或網(wǎng)口初始化以后再進(jìn)行測試,很容易輸出各種調(diào)試信息,調(diào)試起來非常方便。本發(fā)明已經(jīng)成功地應(yīng)用在好幾種產(chǎn)品的單板功能測試中,經(jīng)過了較長時(shí)間和大批量單板的驗(yàn)證,效果非常好。
      權(quán)利要求
      1.一種動(dòng)態(tài)存儲(chǔ)器功能測試方法,其特征是對其分段進(jìn)行測試,其步驟如下1)將存儲(chǔ)于電可擦除存儲(chǔ)器中的程序,其中包含測試程序,搬移到動(dòng)態(tài)存儲(chǔ)器中;2)搬移完成后,先測試所有程序都未使用到的一段動(dòng)態(tài)存儲(chǔ)器,測試完成以后如果發(fā)現(xiàn)該段有問題,則上報(bào)出錯(cuò)信息,中斷測試;3)如果該段沒有問題,將測試程序搬移到該段已測試過的動(dòng)態(tài)存儲(chǔ)器中的某個(gè)特定位置,并將已使用但待測試的一段動(dòng)態(tài)存儲(chǔ)器中的內(nèi)容搬移到該段已測試過的動(dòng)態(tài)存儲(chǔ)器中保存起來,然后調(diào)用測試程序?qū)@段待測試的存儲(chǔ)器進(jìn)行測試,測試完成以后,將測試前就已經(jīng)保存起來的內(nèi)容恢復(fù);4)重復(fù)第3)步,對另一段已使用但待測試的動(dòng)態(tài)存儲(chǔ)器進(jìn)行測試,直到測完所有各段;在測試過程中如果發(fā)現(xiàn)問題,則上報(bào)出錯(cuò)信息,中斷測試。
      2.如權(quán)利要求1所述的動(dòng)態(tài)存儲(chǔ)器功能測試方法,其特征是在搬移程序時(shí),將電可擦寫存儲(chǔ)器中的所有程序隨測試程序一同搬移,搬移后所有程序數(shù)據(jù)存儲(chǔ)于動(dòng)態(tài)存儲(chǔ)器的低端;分段測試時(shí)是依照從高端向低端的順序進(jìn)行測試-搬移-測試-恢復(fù)-搬移-測試-恢復(fù),直到完成所有段的測試。
      3.如權(quán)利要求1或2所述的動(dòng)態(tài)存儲(chǔ)器功能測試方法,其特征是在每段測試時(shí),用走步″1″算法和走步″0″算法中的一種或兩種進(jìn)行數(shù)據(jù)線、地址線測試。
      4.如權(quán)利要求1或2所述的動(dòng)態(tài)存儲(chǔ)器功能測試方法,其特征是在串口或網(wǎng)口初始化以后再進(jìn)行測試,以便于進(jìn)行程序調(diào)試和上報(bào)測試結(jié)果。
      全文摘要
      本發(fā)明公開一種動(dòng)態(tài)存儲(chǔ)器的功能測試方法,其特征是對其分段進(jìn)行測試,將存儲(chǔ)于電可擦除存儲(chǔ)器中的程序(其中包含測試程序)搬移到動(dòng)態(tài)存儲(chǔ)器中,然后對存儲(chǔ)器分段進(jìn)行測試-搬移-測試-恢復(fù)-搬移-測試-恢復(fù),直到完成所有段的測試,在測試過程中如果發(fā)現(xiàn)問題,則上報(bào)出錯(cuò)信息,中斷測試。由于在測試每一段已使用的內(nèi)存以前都對其中的內(nèi)容進(jìn)行了保存,在測試完成以后,又進(jìn)行了恢復(fù),所以程序一直可以正常運(yùn)行。本發(fā)明利用動(dòng)態(tài)存儲(chǔ)器運(yùn)行速度快的優(yōu)點(diǎn),大大提高了測試速度,從而對測試程序代碼的效率要求就降低了,這樣也就不必再采用匯編語言,用普通的高級語言也就可以了,大大方便了編程調(diào)試。
      文檔編號G06F11/22GK1417682SQ01140560
      公開日2003年5月14日 申請日期2001年11月6日 優(yōu)先權(quán)日2001年11月6日
      發(fā)明者胡勇, 朱星海 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1