• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > 閃存出錯(cuò):軟件錯(cuò)誤還是電源電壓故障(上)?

    閃存出錯(cuò):軟件錯(cuò)誤還是電源電壓故障(上)?

    —— 兩種故障的分析
    作者:ShyamChandra 時(shí)間:2013-02-26 來(lái)源:電子產(chǎn)品世界 收藏

      答案:兩個(gè)都是!閃存通常用于存儲(chǔ)系統(tǒng)的固件。有時(shí)候,在某些系統(tǒng)的閃存中存儲(chǔ)的固件意外出錯(cuò),導(dǎo)致系統(tǒng)無(wú)法在上電后正常啟動(dòng)。閃存出錯(cuò)通常與軟件錯(cuò)誤有關(guān)。然而,工程師們也普遍認(rèn)同電源循環(huán)測(cè)試或者裕度測(cè)試增加了閃存出錯(cuò)的可能性。當(dāng)板上使用復(fù)雜的ASIC或SoC越多,閃存出錯(cuò)的問(wèn)題就會(huì)更嚴(yán)重。本文探討了除了軟件錯(cuò)誤外,其他引起閃存出錯(cuò)的情況和原因并提出解決方法,最大限度地減少損壞。

    本文引用地址:http://www.czjhyjcfj.com/article/142408.htm

      為什么閃存內(nèi)容會(huì)出錯(cuò)?

      圖1是一個(gè)典型的電路板的電路。當(dāng)電源接通時(shí),復(fù)位發(fā)生器首先激活的復(fù)位信號(hào)。然后等待,直到、閃存和存儲(chǔ)器都達(dá)到其額定的工作電壓,再等待一個(gè)額外的時(shí)間周期(約150ms),然后關(guān)閉CPU復(fù)位信號(hào)。當(dāng)復(fù)位信號(hào)關(guān)閉時(shí),CPU開(kāi)始執(zhí)行閃存中的初始化程序,將存儲(chǔ)在閃存中的固件內(nèi)容載入存儲(chǔ)器,并執(zhí)行存儲(chǔ)器中的程序?! ?/p>

     

      固件載入閃存的步驟如下:

      ● 固件通過(guò)通信接口載入DDR存儲(chǔ)器;
      ● 跳轉(zhuǎn)到閃存更新程序,使用新的固件對(duì)閃存重新編程;
      ● 處理器重新上電,新的固件生效。

      如果代碼執(zhí)行意外跳轉(zhuǎn)到閃存更新程序,閃存中的內(nèi)容可能會(huì)被損壞。當(dāng)電路板重新上電,錯(cuò)誤版本的代碼被加載到DDR,而電路板并不能如預(yù)期般工作。

      代碼執(zhí)行意外跳轉(zhuǎn)到這個(gè)閃存更新程序,可能是由于軟件錯(cuò)誤或者電源電壓故障(例如在電源關(guān)斷時(shí))。使用正常的軟件調(diào)試方法,可以檢測(cè)到軟件錯(cuò)誤。然而,故障電源電壓是很難檢測(cè)的,因?yàn)殡娫措妷汗收想S時(shí)都可能發(fā)生。

      為什么電源電壓故障會(huì)導(dǎo)致程序跳轉(zhuǎn)到閃存更新程序?

      所有IC都有最低和最高工作電壓規(guī)范。如果供電電壓超過(guò)了最高電壓,該器件就會(huì)被損壞,如果供電電壓低于最低的電壓值,則該器件不能正常工作。例如,在圖1中CPU內(nèi)核的額定電壓是1.2V±5%。如果電壓下降到低于這個(gè)值,CPU內(nèi)部的指令執(zhí)行流水線就不能可靠地傳輸指令和數(shù)據(jù),并且(根據(jù)CPU的進(jìn)程和工作溫度)指令可能無(wú)法正確執(zhí)行。例如,“Move”指令可能被解釋為“Pop”的指令,然后代碼執(zhí)行隨機(jī)跳轉(zhuǎn)到存儲(chǔ)器中的某個(gè)位置(由堆棧中的內(nèi)容的決定)。根據(jù)該存儲(chǔ)器位置的內(nèi)容和執(zhí)行中的錯(cuò)誤,處理器可能掛起或跳轉(zhuǎn)到閃存更新程序,破壞閃存并覆蓋閃存中的內(nèi)容。

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


    關(guān)鍵詞: 嵌入式 CPU DDR

    評(píng)論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 莱州市| 饶平县| 泗水县| 金塔县| 阿鲁科尔沁旗| 全椒县| 海淀区| 民勤县| 和龙市| 济源市| 莲花县| 潍坊市| 甘肃省| 溧阳市| 新密市| 紫金县| 乐亭县| 凤山县| 山丹县| 方城县| 苍梧县| 东丰县| 东海县| 镇坪县| 登封市| 康乐县| 通化市| 彝良县| 隆子县| 长丰县| 资中县| 从化市| 松桃| 安康市| 浪卡子县| 易门县| 甘泉县| 佛山市| 长岛县| 巴马| 金昌市|