[發(fā)明專利]XIP FLASH程序驅(qū)動方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202210826174.8 | 申請日: | 2022-07-14 |
| 公開(公告)號: | CN114911648B | 公開(公告)日: | 2022-10-04 |
| 發(fā)明(設(shè)計)人: | 趙英輝;羅丹;肖德勇;代洪光;李錚 | 申請(專利權(quán))人: | 北京智芯微電子科技有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10;G06F11/14 |
| 代理公司: | 北京潤平知識產(chǎn)權(quán)代理有限公司 11283 | 代理人: | 陳瀟瀟 |
| 地址: | 100192 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | xip flash 程序 驅(qū)動 方法 系統(tǒng) | ||
本發(fā)明實施例提供一種XIP FLASH程序驅(qū)動方法及系統(tǒng),屬于計算機技術(shù)領(lǐng)域。所述方法包括:基于預(yù)設(shè)存儲框架中讀取的初始化數(shù)據(jù)進行程序運行初始化;所述預(yù)設(shè)存儲框架包括:BootLoader存儲區(qū)域、配置區(qū)信息存儲區(qū)域、程序存儲區(qū)域和備份程序存儲區(qū)域;基于程序運行初始化,校驗待運行程序是否存在壞塊;若待運行程序存在壞塊,校驗對應(yīng)的備份程序是否存在壞塊,若備份程序存在壞塊,則中斷程序運行,輸出報警信息;若備份程序不存在壞塊,則執(zhí)行備份程序,并在程序運行過程中實時監(jiān)測并修復(fù)故障狀態(tài);若待運行程序不存在壞塊,則執(zhí)行待運行程序,并在程序運行過程中實時監(jiān)測并修復(fù)故障狀態(tài)。本發(fā)明方案減少了XIP FLASH芯片的淘汰率,縮減了運維成本。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體地涉及一種XIP FLASH程序驅(qū)動方法及一種XIPFLASH程序驅(qū)動系統(tǒng)。
背景技術(shù)
XIP(eXecute In Place) FLASH即芯片內(nèi)執(zhí)行,是指軟件程序可以直接在FLASH中運行,不必將軟件程序text段拷貝至RAM(Random Access Memory,隨機存取存儲器)中運行,只需要將data段及bss段放置在RAM中即可,這樣不僅可以減少對RAM空間的需求,而且還能節(jié)約成本。基于XIP FLASH的優(yōu)勢,其被廣泛應(yīng)用在嵌入式設(shè)備中。在電力系統(tǒng)中,XIPFLASH應(yīng)用十分廣泛,但電力設(shè)備的嵌入式設(shè)備的使用壽命往往需要滿足很長的時間需求,一般都在15-20年之間。想要在如此上的時間內(nèi)保證嵌入式設(shè)備滿足使用需求,對設(shè)備的可靠性、可升級以及工作年限提出了嚴格的要求。嵌入式設(shè)備在對XIP FLASH上程序進行頻繁升級時,會對XIP FLASH相應(yīng)的區(qū)域進行擦寫,多擦寫次數(shù)過多時,XIP FLASH會產(chǎn)生壞塊,導(dǎo)致程序運行失敗,設(shè)備無法正常運行。
在現(xiàn)有的方法中,只要出現(xiàn)因為XIP FLASH壞塊產(chǎn)生的程序運行失敗而導(dǎo)致的設(shè)備故障,均是直接對XIP FLASH芯片進行更換,或直接更換板卡。這種方式一方面會因為增加了跟換芯片和板卡的而帶來的時間成本、人力成本,另一方面還會因為更換物料而產(chǎn)生的經(jīng)濟成本。針對現(xiàn)有應(yīng)用場景下XIP FLASH程序發(fā)生故障后維護成本高和維護效率低的問題,需要創(chuàng)造一種新的XIP FLASH程序驅(qū)動方法,以減少XIP FLASH芯片的故障率和淘汰率,以此縮減XIP FLASH芯片的運維成本。
發(fā)明內(nèi)容
本發(fā)明實施方式的目的是提供一種XIP FLASH程序驅(qū)動方法及系統(tǒng),以至少解決現(xiàn)有應(yīng)用場景下XIP FLASH程序發(fā)生故障后維護成本高和維護效率低的問題。
為了實現(xiàn)上述目的,本發(fā)明第一方面提供一種XIP FLASH程序驅(qū)動方法,所述方法包括:基于預(yù)設(shè)存儲框架中讀取的初始化數(shù)據(jù)進行程序運行初始化;所述預(yù)設(shè)存儲框架包括:BootLoader存儲區(qū)域、配置區(qū)信息存儲區(qū)域、程序存儲區(qū)域和備份程序存儲區(qū)域;基于程序運行初始化,校驗待運行程序是否存在壞塊:若待運行程序存在壞塊,校驗對應(yīng)的備份程序是否存在壞塊,若備份程序存在壞塊,則中斷程序運行,輸出報警信息;若備份程序不存在壞塊,則執(zhí)行備份程序,并在程序運行過程中實時監(jiān)測并修復(fù)故障狀態(tài);若待運行程序不存在壞塊,則執(zhí)行待運行程序,并在程序運行過程中實時監(jiān)測并修復(fù)故障狀態(tài)。
可選的,配置區(qū)信息包括:啟動指示,用于指示BootLoader待檢查校驗的待運行程序;第一壞塊標志,用于記錄待運行程序是否存在壞塊;第一程序地址,用于記錄待運行程序的起始位置;第一程序長度,用于記錄待運行程序的大小信息;第一程序校驗值,用于指示待運行程序的文件校驗值;第二壞塊標志,用于記錄備份程序是否存在壞塊;第二程序地址,用于記錄備份程序的起始位置;第二程序長度,用于記錄備份程序的大小信息;第二程序校驗值,用于指示備份程序的文件校驗值。
可選的,所述第一程序校驗值和所述第二程序校驗值均為CRC32校驗值。
可選的,所述基于預(yù)設(shè)存儲框架中讀取的初始化數(shù)據(jù)進行程序運行初始化,包括:暫停所有正在運行指令和緩存步驟;依次進行初始化中斷向量表和初始化串口,并將XIPFLASH初始化為普通模式。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京智芯微電子科技有限公司,未經(jīng)北京智芯微電子科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210826174.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





