[發(fā)明專利]引導(dǎo)程序切換處理方法及裝置、計(jì)算機(jī)設(shè)備、介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202010090985.7 | 申請(qǐng)日: | 2020-02-13 |
| 公開(kāi)(公告)號(hào): | CN111338771B | 公開(kāi)(公告)日: | 2023-06-30 |
| 發(fā)明(設(shè)計(jì))人: | 梁棟;吳閩華;孟慶曉;秦金昆;楊超;戴瑜 | 申請(qǐng)(專利權(quán))人: | 深圳震有科技股份有限公司 |
| 主分類號(hào): | G06F9/48 | 分類號(hào): | G06F9/48;G06F9/4401 |
| 代理公司: | 深圳市君勝知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44268 | 代理人: | 朱陽(yáng)波;劉文求 |
| 地址: | 518057 廣東省深圳市南山區(qū)粵海街*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 引導(dǎo) 程序 切換 處理 方法 裝置 計(jì)算機(jī) 設(shè)備 介質(zhì) | ||
1.一種引導(dǎo)程序切換處理方法,其特征在于,所述方法包括:
在FLASH芯片中預(yù)留一個(gè)字節(jié)的空間用來(lái)保存主用引導(dǎo)程序的啟動(dòng)標(biāo)識(shí)boot_flag;
當(dāng)CPU上電,從備用引導(dǎo)程序執(zhí)行指令,初始化CPU內(nèi)部寄存器,完成對(duì)FLASH的配置;從FLASH固定的位置讀取一個(gè)字節(jié)的數(shù)據(jù)到啟動(dòng)標(biāo)識(shí)boot_flag變量;
判斷啟動(dòng)標(biāo)識(shí)boot_flag是否大于0xf0,如果boot_flag小于或等于0xf0則繼續(xù)執(zhí)行備用引導(dǎo)程序的指令;
如果啟動(dòng)標(biāo)識(shí)boot_flag大于0xf0,則將主用引導(dǎo)程序的地址裝載到CPU的程序計(jì)數(shù)寄存器PC中,完成從備用引導(dǎo)程序到主用引導(dǎo)程序的跳轉(zhuǎn);
所述如果啟動(dòng)標(biāo)識(shí)boot_flag大于0xf0,則將主用引導(dǎo)程序的地址裝載到CPU的程序計(jì)數(shù)寄存器PC中,完成從備用引導(dǎo)程序到主用引導(dǎo)程序的跳轉(zhuǎn)的步驟包括:
如果啟動(dòng)標(biāo)識(shí)boot_flag大于0xf0則點(diǎn)亮設(shè)備上的一個(gè)狀態(tài)指示燈;
接著將CPU運(yùn)行程序計(jì)數(shù)器PC修改為主用引導(dǎo)程序的地址空間,跳轉(zhuǎn)到主用引導(dǎo)程序;然后對(duì)boot_flag從低到高的第一個(gè)bit1置為0,并保存在flash中;
用FLASH的一個(gè)字節(jié)中1的個(gè)數(shù)來(lái)記錄狀態(tài),每啟動(dòng)一次,則將字節(jié)數(shù)據(jù)從低到高的第一個(gè)1寫成0。
2.根據(jù)權(quán)利要求1所述引導(dǎo)程序切換處理方法,其特征在于,所述如果boot_flag小于或等于0xf0則繼續(xù)執(zhí)行備用引導(dǎo)程序的指令的步驟包括:
如果boot_flag不大于0xf0,則繼續(xù)執(zhí)行備用引導(dǎo)程序的指令;
升級(jí)主用引導(dǎo)程序;
啟動(dòng)內(nèi)核或者執(zhí)行boot命令。
3.根據(jù)權(quán)利要求1所述引導(dǎo)程序切換處理方法,其特征在于,所述然后對(duì)boot_flag從低到高的第一個(gè)bit1置為0,并保存在flash中的步驟之后還包括:
點(diǎn)亮紅燈,指示當(dāng)前已經(jīng)進(jìn)入了主用引導(dǎo)程序;
初始化各個(gè)驅(qū)動(dòng)以及模塊;
主引導(dǎo)程序完全啟動(dòng);
主引導(dǎo)程序完全啟動(dòng)后,點(diǎn)亮綠燈,熄滅紅燈;
將boot_flag置為0xff,并寫入flash中;
啟動(dòng)內(nèi)核或者執(zhí)行boot命令。
4.根據(jù)權(quán)利要求1所述引導(dǎo)程序切換處理方法,其特征在于,還包括以下步驟:
如果要強(qiáng)行將主用引導(dǎo)程序置為無(wú)效;通過(guò)RESET按鍵復(fù)位系統(tǒng),boot_flag將等于0xf0,CPU將啟動(dòng)備用引導(dǎo)程序。
5.根據(jù)權(quán)利要求1所述引導(dǎo)程序切換處理方法,其特征在于,其還包括步驟:
按下RESET鍵后,CPU直接復(fù)位并從備用引導(dǎo)程序啟動(dòng);
當(dāng)按四次RESET鍵后,boot_flag=0xf0,根據(jù)預(yù)先的判斷條件,不滿足執(zhí)行主用引導(dǎo)程序的條件,繼續(xù)執(zhí)行備用引導(dǎo)程序;
在備用引導(dǎo)程序中,控制利用在線升級(jí)功能重新更新主用引導(dǎo)程序。
6.一種引導(dǎo)程序切換處理裝置,其特征在于,所述裝置包括:
預(yù)設(shè)模塊,用于在FLASH芯片中預(yù)留一個(gè)字節(jié)的空間用來(lái)保存主用引導(dǎo)程序的啟動(dòng)標(biāo)識(shí)boot_flag;
初始化模塊,用于當(dāng)CPU上電,從備用引導(dǎo)程序執(zhí)行指令,初始化CPU內(nèi)部寄存器,完成對(duì)FLASH的配置;
讀取模塊,用于從FLASH固定的位置讀取一個(gè)字節(jié)的數(shù)據(jù)到啟動(dòng)標(biāo)識(shí)boot_flag變量;
第一控制模塊,用于判斷啟動(dòng)標(biāo)識(shí)boot_flag是否大于0xf0,如果boot_flag小于或等于0xf0則繼續(xù)執(zhí)行備用引導(dǎo)程序的指令;
第二控制模塊,用于如果啟動(dòng)標(biāo)識(shí)boot_flag大于0xf0,則將主用引導(dǎo)程序的地址裝載到CPU的程序計(jì)數(shù)寄存器PC中,完成從備用引導(dǎo)程序到主用引導(dǎo)程序的跳轉(zhuǎn);
所述第二控制模塊具體用于如果啟動(dòng)標(biāo)識(shí)boot_flag大于0xf0則點(diǎn)亮設(shè)備上的一個(gè)狀態(tài)指示燈,將CPU運(yùn)行程序計(jì)數(shù)器PC修改為主用引導(dǎo)程序的地址空間,跳轉(zhuǎn)到主用引導(dǎo)程序,對(duì)boot_flag從低到高的第一個(gè)bit1置為0,并保存在flash中;
用FLASH的一個(gè)字節(jié)中1的個(gè)數(shù)來(lái)記錄狀態(tài),每啟動(dòng)一次,則將字節(jié)數(shù)據(jù)從低到高的第一個(gè)1寫成0。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳震有科技股份有限公司,未經(jīng)深圳震有科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010090985.7/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 引導(dǎo)裝置及引導(dǎo)方法
- 引導(dǎo)系統(tǒng)以及引導(dǎo)方法
- 引導(dǎo)裝置、引導(dǎo)方法以及引導(dǎo)程序
- 車輛引導(dǎo)裝置、車輛引導(dǎo)方法和車輛引導(dǎo)程序
- 移動(dòng)引導(dǎo)系統(tǒng)、移動(dòng)引導(dǎo)裝置、以及移動(dòng)引導(dǎo)方法
- 引導(dǎo)裝置、引導(dǎo)方法以及引導(dǎo)程序
- 路徑引導(dǎo)裝置、路徑引導(dǎo)方法以及路徑引導(dǎo)程序
- 引導(dǎo)方法及引導(dǎo)系統(tǒng)
- 引導(dǎo)裝置、引導(dǎo)方法以及引導(dǎo)程序
- 引導(dǎo)系統(tǒng)、引導(dǎo)裝置和引導(dǎo)系統(tǒng)的控制方法
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開(kāi)發(fā)支持裝置、程序開(kāi)發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>





