<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM Cortex-M3的SRAM單元故障軟件的自檢測研究

ARM Cortex-M3的SRAM單元故障軟件的自檢測研究

作者: 時(shí)間:2013-10-26 來(lái)源:網(wǎng)絡(luò ) 收藏

  引言

  目前,對于存儲單元SRAM的研究都是基于硬件電路來(lái)完成,而且這些方法都是運用在生產(chǎn)過(guò)程中,但是生產(chǎn)過(guò)程并不能完全杜絕SRAM的硬件故障。在其使用過(guò)程中,如果SRAM硬件出錯,將導致程序出錯而且很難被發(fā)現。因此在運用的階段,為防止存儲單元損壞而導致系統出錯,通過(guò)軟件的方式對SRAM進(jìn)行檢測是必要的。

  1 SRAM運行狀態(tài)分析

  SRAM是存儲非CONSTANT變量(如RW),它具有掉電即失的特點(diǎn)。由Cortex—M3的啟動(dòng)步驟可知,系統上電后,首先執行復位的5個(gè)步驟:

 ?、貼VIC復位,控制內核;

 ?、贜VIC從復位中釋放內核;

 ?、蹆群伺渲枚褩?;

 ?、軆群嗽O置PC和LR;

 ?、葸\行復位程序。

  可以看出,不能在調入C環(huán)境之后檢測SRAM,必須在Cortex—M3復位之前和啟動(dòng)之后進(jìn)行檢測。

  在執行系統復位的最后一個(gè)步驟之前,系統都沒(méi)有對SRAM執行任何相關(guān)的數據傳送動(dòng)作。第⑤步運行復位程序,在ST公司處理器內核的STM32系列微控制器的啟動(dòng)代碼中有一段復位子程序:
ARM Cortex-M3的SRAM單元故障軟件的自檢測研究
在這個(gè)子程序里導入了__main,__main是C庫文件的入口地址。它執行下面3個(gè)步驟:

 ?、購椭品莚oot(RW、RO)從Flash到SRAM;

 ?、诜峙鋃I區,并且初始化為0;

 ?、厶D到堆棧初始化子程序接口__rt_entry。

  由__main的第一步可以得出,在跳入__main之后,系統對SRAM進(jìn)行了相關(guān)數據轉移的操作。因此,檢測SRAM必須在此步驟之前,否則將會(huì )覆蓋SRAM從Flash中轉移過(guò)來(lái)的數據。

  2 SRAM檢測方案設計

  在復位子程序跳入__main之前,設計另一個(gè)程序入口SRAM_Check,使PC指針指向該SRAM進(jìn)行硬件單元檢測程序(SRAM_Check)的入口。在SRAM_check里,首先將PC指針指向SRAM的首地址并寫(xiě)入0xFF,讀回該地址的值到通用寄存器Rn1,并對Rn1里的值進(jìn)行加1操作,然后將Rn1和256做比較,得出SRAM硬件是否損壞。這種操作可以避免因SRAM硬件一直為1或0而出現算法本身錯誤。由于Cortex—M3復位后默認的時(shí)鐘為HSI,是一個(gè)內部RC振蕩器,因此精度不高。如果需要更準和快速的時(shí)鐘,就必須在跳入SRAM_Check之前對相關(guān)的寄存器進(jìn)行操作。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: ARM Cortex-M3 SRAM單元 故障軟件

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>