[發明專利]XIP FLASH程序驅動方法及系統有效
| 申請號: | 202210826174.8 | 申請日: | 2022-07-14 |
| 公開(公告)號: | CN114911648B | 公開(公告)日: | 2022-10-04 |
| 發明(設計)人: | 趙英輝;羅丹;肖德勇;代洪光;李錚 | 申請(專利權)人: | 北京智芯微電子科技有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10;G06F11/14 |
| 代理公司: | 北京潤平知識產權代理有限公司 11283 | 代理人: | 陳瀟瀟 |
| 地址: | 100192 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | xip flash 程序 驅動 方法 系統 | ||
1.一種XIP FLASH程序驅動方法,其特征在于,所述方法包括:
基于預設存儲框架中讀取的初始化數據進行程序運行初始化;所述預設存儲框架包括:BootLoader存儲區域、配置區信息存儲區域、程序存儲區域和備份程序存儲區域;
基于程序運行初始化,校驗待運行程序是否存在壞塊:
若待運行程序存在壞塊,校驗對應的備份程序是否存在壞塊,若備份程序存在壞塊,則中斷程序運行,輸出報警信息;若備份程序不存在壞塊,則執行備份程序,并在程序運行過程中實時監測并修復故障狀態;
若待運行程序不存在壞塊,則執行待運行程序,并在程序運行過程中實時監測并修復故障狀態,包括:
響應于故障檢修觸發信號,逐一讀取各程序的壞塊標志;所述故障檢修觸發信號在報警信息之后被觸發;其中,當前程序為待運行程序時,對應的壞塊標志為第一壞塊標志;當前程序為備份程序時,對應的壞塊標志為第二壞塊標志;
若壞塊標志記錄為存在壞塊,基于當前程序的配置區信息進行對應存儲區域多輪擦除和寫入,并基于擦除和寫入結果判斷當前程序是否為存在壞塊誤判;
若當前程序不存在壞塊誤判,則輸出對應程序存儲區域地址信息;
若當前程序為存在壞塊誤判,則修改當前區域壞塊標志為不存在壞塊。
2.根據權利要求1所述的方法,其特征在于,配置區信息包括:
啟動指示,用于指示BootLoader待檢查校驗的待運行程序;
第一壞塊標志,用于記錄待運行程序是否存在壞塊;
第一程序地址,用于記錄待運行程序的起始位置;
第一程序長度,用于記錄待運行程序的大小信息;
第一程序校驗值,用于指示待運行程序的文件校驗值;
第二壞塊標志,用于記錄備份程序是否存在壞塊;
第二程序地址,用于記錄備份程序的起始位置;
第二程序長度,用于記錄備份程序的大小信息;
第二程序校驗值,用于指示備份程序的文件校驗值。
3.根據權利要求2所述的方法,其特征在于,所述第一程序校驗值和所述第二程序校驗值均為CRC32校驗值。
4.根據權利要求3所述的方法,其特征在于,所述基于預設存儲框架中讀取的初始化數據進行程序運行初始化,包括:
暫停所有正在運行指令和緩存步驟;
依次進行初始化中斷向量表和初始化串口,并將XIP FLASH初始化為普通模式。
5.根據權利要求4所述的方法,其特征在于,所述基于程序運行初始化,校驗待運行程序是否存在壞塊,包括:
基于普通模式讀取所述啟動指示,基于所述啟動指示讀取所述第一程序校驗值;
基于所述第一程序校驗值校驗待運行程序是否存在壞塊;
若待運行程序存在壞塊,校驗備份程序是否存在壞塊,包括:
若校驗結果為待運行程序存在壞塊,則修改所述第一壞塊標志為存在壞塊,并讀取所述第二程序校驗值;
基于所述第二程序校驗值校驗備份程序是否存在壞塊。
6.根據權利要求2所述的方法,其特征在于,所述在程序運行過程中實時監測并修復故障狀態,包括:
實時采集程序運行過程中的反饋指令,并判斷其是否為非法指令;
若存在非法指令,則跳轉至中斷向量表,獲得非法指令對應的異常向量地址;
將XIP FLASH切換為普通模式,讀取當前運行程序的配置區信息;其中,所述當前運行程序為待運行程序或對應的備份程序;
對比所述配置區信息和當前運行程序的實際信息,基于對比結果選定對應的故障修復方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京智芯微電子科技有限公司,未經北京智芯微電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210826174.8/1.html,轉載請聲明來源鉆瓜專利網。





