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

        ?

        MC68HC908JL8MCU 的一種Flash失效現(xiàn)象分析

        2015-09-12 06:42:50宋文強(qiáng)劉昕昀
        關(guān)鍵詞:字節(jié)寄存器壓縮機(jī)

        宋文強(qiáng),劉昕昀

        (工業(yè)和信息化部 電子第五研究所,廣州510610)

        宋文強(qiáng)(碩士研究生),主要從事嵌入式軟件可靠性技術(shù)和FPGA 測(cè)試技術(shù)研究。

        引 言

        在目前種類繁多的Flash MCU 中,有很多可以自編程,即可以在單片機(jī)(MCU)運(yùn)行過程中,實(shí)時(shí)存儲(chǔ)程序運(yùn)行中產(chǎn)生的數(shù)據(jù),甚至是改變程序本身。具有這種功能的Flash MCU 可以靈活地使用Flash來存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程在線自動(dòng)升級(jí)自己的用戶代碼 (Firmware)。MC68HC908JL8[1](以下簡(jiǎn)稱JL8)是Freescale公司推出的一款08系列8位MCU,以成熟的Flash存儲(chǔ)技術(shù)取代了05系列的EEPROM,繼承了EEPROM 的可再編程特性。JL8內(nèi)部有8KB的Flash存儲(chǔ)區(qū),可用作程序存儲(chǔ)區(qū)和數(shù)據(jù)存儲(chǔ)區(qū)。該Flash 為NOR Flash,程序可直接在Flash上運(yùn)行,不必再把代碼讀到系統(tǒng)RAM 中,用戶可以在這個(gè)非易失的存儲(chǔ)區(qū)內(nèi)反復(fù)存儲(chǔ)和讀取一個(gè)數(shù)據(jù)集。

        由于Flash存儲(chǔ)區(qū)的最小擦除單位是頁(JL8一頁有64個(gè)字節(jié)),若數(shù)據(jù)的長(zhǎng)度小于一頁,那么每次寫和擦除都不能完全使用該頁,沒有用到的地方就浪費(fèi)了。但如果是EEPROM 就不存在這個(gè)問題,因?yàn)镋EPROM 可以基于字節(jié)進(jìn)行寫和擦除。JL8為了解決這個(gè)問題,在其監(jiān)控ROM 區(qū)內(nèi)提供了EE_WRITE、EE_READ 子例程給用戶使用,從而更充分地使用Flash頁進(jìn)行數(shù)據(jù)存儲(chǔ)[2]。

        1 Flash擦寫機(jī)制和特性

        Freescale公司JL8 MCU 采用Flash 存儲(chǔ)代碼和數(shù)據(jù),通過片上內(nèi)置電壓泵,支持在線編程[3-4]。在不需要外接高壓的情況下,通過指令可實(shí)現(xiàn)Flash空間的擦/寫操作。Flash擦/寫操作的實(shí)現(xiàn)主要有兩種方式:一是用戶自行編寫程序,二是調(diào)用監(jiān)控ROM 中自帶子程序。為防止意外操作,單片機(jī)在硬件設(shè)計(jì)上加以改進(jìn),增加了FLCR(Flash控制寄存器)和FLBPR(Flash塊保護(hù)寄存器)兩個(gè)寄存器,如果要擦/寫Flash,須先打開FLCR和FLBPR相應(yīng)位。用戶編程時(shí)需要控制兩個(gè)寄存器,而使用監(jiān)控ROM 程序,只需設(shè)置FLBPR相應(yīng)位。

        JL8 MCU Flash以頁為單位進(jìn)行擦除,可將“0”全部置為“1”。Flash寫操作與擦除相反,可將“1”置為“0”,但原來為“0”處不能寫為“1”。所以如果需要用Flash存儲(chǔ)數(shù)據(jù)時(shí),正常操作流程是先擦除再寫。需要注意的是,擦除操作是按頁進(jìn)行,寫操作沒有限制,可按照字節(jié)進(jìn)行。

        JL8 MCU 片內(nèi)Flash可在監(jiān)控模式(Monitor Mode)和用戶模式(User Mode)這兩種模式下在線編程。其中監(jiān)控模式主要用于主機(jī)向單片機(jī)進(jìn)行程序?qū)懭耄话阌糜趯?duì)出廠的空白芯片進(jìn)行編程。JL8 MCU 監(jiān)控ROM 所提供的所有子程序的入口地址和基本功能如表1所列。具體使用方法可參考技術(shù)文檔。

        表1 子程序列表

        2 失效現(xiàn)象分析

        Flash MCU 出現(xiàn)程序改寫,原因可從硬件和軟件兩方面進(jìn)行分析[5]。硬件方面引起程序改寫的機(jī)理主要有:①電源失效;②時(shí)鐘毛刺;③VDD 爬升時(shí)間過長(zhǎng)。軟件上引起程序改寫機(jī)理主要有:①VDD 監(jiān)視沒有使能,或者VDD監(jiān)視雖然已經(jīng)使能,但沒有被設(shè)置成復(fù)位源,使得當(dāng)供電不正常時(shí)仍然進(jìn)行Flash操作,導(dǎo)致存儲(chǔ)數(shù)據(jù)產(chǎn)生異常操作;②用戶代碼(Firmware)對(duì)Flash的寫操作不當(dāng);③PC指針跑飛。硬件引起的Flash MCU 程序改寫出現(xiàn)時(shí)具有隨機(jī)的特征,即出現(xiàn)程序改寫的位置不固定。

        在一款家用電器通用壓縮機(jī)控制設(shè)備中,其核心控制單元采用Freescale公司MC68HC908JL8單片機(jī),用于控制和優(yōu)化壓縮機(jī),可實(shí)現(xiàn)壓縮機(jī)的開關(guān)控制、壓縮機(jī)性能的提升以及保護(hù)功能。該控制單元程序只對(duì)Flash進(jìn)行讀操作,并無擦除/寫需求和設(shè)計(jì)。在部分產(chǎn)品出現(xiàn)壓縮機(jī)控制設(shè)備停機(jī)故障后,通過回讀故障設(shè)備的單片機(jī)存儲(chǔ)Flash后,發(fā)現(xiàn)部分代碼已被改寫。按照改寫Flash分布情況,將失效現(xiàn)象分成兩類:一是復(fù)位中斷向量($FFFE~$FFFF)低字節(jié)($FFFF)處部分位被改寫,失效產(chǎn)品數(shù)量較多,達(dá)80%,具體現(xiàn)象是將部分位從“1”改為“0”(有3種情況,分別為FF>AF,EF>AF,9F>8F);二是用戶Flash空間部分字節(jié)被改寫,這類較少,占20%,具體現(xiàn)象是將連續(xù)64字節(jié)改為0xFF。根據(jù)現(xiàn)象分析,第一類類似于字節(jié)寫操作,由于未進(jìn)行擦除操作,所以只能將“1”改為“0”,且均是試圖將高4位改為“A”;第二類類似于片擦除操作。經(jīng)過故障整理和分析,由于具有較強(qiáng)意義上的非隨機(jī)特征,可基本排除硬件故障引起的程序改寫。

        通過分析源程序注意到,可能引起Flash程序改寫的軟件原因如下:對(duì)于①,程序已經(jīng)將VDD 監(jiān)視使能,且設(shè)置成復(fù)位源;對(duì)于②,用戶代碼設(shè)計(jì)時(shí)不對(duì)程序Flash進(jìn)行擦除/寫操作,即使異常出現(xiàn)第一類現(xiàn)象,也不會(huì)出現(xiàn)第二類現(xiàn)象,而程序跑飛異常調(diào)用到監(jiān)控ROM 程序可產(chǎn)生上述現(xiàn)象。在下節(jié)中對(duì)第二類失效現(xiàn)象進(jìn)行復(fù)現(xiàn)。

        3 現(xiàn)象復(fù)現(xiàn)

        本節(jié)在不修改源代碼的基礎(chǔ)上,在源程序插入少量測(cè)試代碼以復(fù)現(xiàn)上述失效現(xiàn)象,證明在滿足測(cè)試代碼要求的條件下,可實(shí)現(xiàn)同樣的程序失效結(jié)果,僅對(duì)頁擦除操作進(jìn)行舉例。頁擦除操作可調(diào)用EraRnge實(shí)現(xiàn),具體如下:

        在軟件運(yùn)行時(shí),由于外部原因使PC 指針跑飛,跳轉(zhuǎn)到$FCBE,如果此時(shí)寄存器A 中存儲(chǔ)數(shù)據(jù)(表示地址)指向的地址空間數(shù)據(jù)為20,則將對(duì)Flash進(jìn)行頁擦除操作。

        結(jié) 語

        本文對(duì)使用JL8 MCU 自帶監(jiān)控ROM 程序?qū)ζ螰lash進(jìn)行擦/寫等操作的方法和特點(diǎn)進(jìn)行了詳細(xì)的介紹。MCU 的Flash失效現(xiàn)象和原因很多,這里僅對(duì)軟件引起的Flash程序改寫的案例進(jìn)行了分析。根據(jù)具體現(xiàn)象判定程序改寫是由于程序跑飛或者異常跳轉(zhuǎn)使得程序意外調(diào)用監(jiān)控ROM 程序,為對(duì)Flash進(jìn)行失效分析的廣大研發(fā)和測(cè)試工程師提供一個(gè)失效分析案例和分析思路。

        [1]李澤英,肖海橋,余文龍.MCS96 MC68 單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,1995.

        [2]Motorola.MC68HC908JL8 HCMOS Microcontrollers Unit Technical Data,2002.

        [3]徐麗華,王宜懷.MC68HC908JL8MCU 中虛擬 19 16 EEPROM 特性的應(yīng)用及剖析[J].計(jì)算機(jī)工程與應(yīng)用,2004(28):106-108.

        [4]王宜懷,王林.MC68HC908GP32 MCU 的Flash存儲(chǔ)器在線編程技術(shù)[J].微電子學(xué)與計(jì)算機(jī),2002(7):15-19.

        [5]邱亮.基于飛思卡爾8位MCU 的集成電路功能失效分析技術(shù)[D].天津:天津大學(xué),2007.

        猜你喜歡
        字節(jié)寄存器壓縮機(jī)
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        BOG壓縮機(jī)在小型LNG船舶上的應(yīng)用
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
        淺析特大型往復(fù)壓縮機(jī)組的安裝
        壓縮機(jī)組智能控制與節(jié)能增效
        簡(jiǎn)談MC7字節(jié)碼
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        4M20型壓縮機(jī)活塞改造
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        亚洲精品成人无限看| 大胸美女吃奶爽死视频| 国产成人综合久久三区北岛玲| 蜜桃视频成年人在线观看| 免费av日韩一区二区| 无码国产精品久久一区免费| 无码精品人妻一区二区三区人妻斩| 亚洲日韩精品无码专区网址| 亚洲色在线v中文字幕| 囯产精品无码va一区二区| 久久精品国产亚洲av热明星| 亚洲熟女熟妇另类中文| 夜夜高潮夜夜爽夜夜爱爱一区 | 国产在线精品一区二区三区不卡 | 免费a级毛片18禁网站免费| 天堂а√在线最新版中文在线| 粗了大了 整进去好爽视频| 国产精品自拍首页在线观看| 亚洲熟妇av一区二区三区hd| 东北女人啪啪对白| 久久精品成人无码观看不卡| 亚洲AV秘 片一区二区三| av网址不卡免费在线观看| 四季极品偷拍一区二区三区视频| 亚洲另类无码专区首页| 人妻丝袜无码国产一区| 久久国产精品99精品国产987| 国产一区二区三区免费在线播放| 中文字幕一区二区中出后入| 亚洲国产成人片在线观看| 成人片黄网站色大片免费观看app| 国产三级国产精品三级在专区| 亚洲成a人一区二区三区久久| 久久天堂av综合合色| 亚洲av综合久久九九| 禁止免费无码网站| 精品黑人一区二区三区久久hd| 四虎影在永久在线观看| 男人添女人下部高潮全视频| 日本熟妇hd8ex视频| 最新日本女优中文字幕视频|