新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > Cortex M3的SRAM單元故障軟件的自檢測研究

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

        作者: 時間:2013-09-25 來源:網絡 收藏

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

          1 SRAM運行狀態分析

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

          ①NVIC復位,控制內核;

          ②NVIC從復位中釋放內核;

          ③內核配置堆棧;

          ④內核設置PC和LR;

          ⑤運行復位程序。

          可以看出,不能在調入C環境之后檢測SRAM,必須在復位之前和啟動之后進行檢測。

          在執行系統復位的最后一個步驟之前,系統都沒有對SRAM執行任何相關的數據傳送動作。第⑤步運行復位程序,在ST公司-處理器內核的STM32系列微控制器的啟動代碼中有一段復位子程序:

          

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

          在這個子程序里導入了__main,__main是C庫文件的入口地址。它執行下面3個步驟:

          ①復制非root(RW、RO)從Flash到SRAM;

          ②分配ZI區,并且初始化為0;

          ③跳轉到堆棧初始化子程序接口__rt_entry。

          由_ _main的第一步可以得出,在跳入_ _main之后,系統對SRAM進行了相關數據轉移的操作。因此,檢測SRAM必須在此步驟之前,否則將會覆蓋SRAM從Flash中轉移過來的數據。

          2 SRAM檢測方案設計

          在復位子程序跳入_ _main之前,設計另一個程序入口SRAM_Check,使PC指針指向該SRAM進行硬件單元檢


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 资中县| 滕州市| 宁安市| 呼图壁县| 平泉县| 化州市| 青岛市| 兰坪| 延庆县| 莱阳市| 高陵县| 会宁县| 南陵县| 沈丘县| 高安市| 灵山县| 洛阳市| 建宁县| 辉南县| 濉溪县| 乌审旗| 潼关县| 黄梅县| 太谷县| 固原市| 沂南县| 高邮市| 专栏| 广元市| 锦州市| 盐亭县| 邯郸市| 禹州市| 斗六市| 揭西县| 古蔺县| 日喀则市| 唐山市| 太仆寺旗| 乐陵市| 福建省|