本發(fā)明涉及車輛操作系統(tǒng)內(nèi)核中斷管理,尤其涉及一種基于車輛操作系統(tǒng)的中斷管理方法、系統(tǒng)和存儲介質(zhì)。
背景技術(shù):
1、操作系統(tǒng)最早被應(yīng)用在計算機中,隨著嵌入式芯片及相關(guān)硬件的發(fā)展,嵌入式操作系統(tǒng)也應(yīng)運而生。隨著車輛應(yīng)用領(lǐng)域越來越廣闊,相關(guān)領(lǐng)域的硬件外設(shè)、數(shù)據(jù)處理和萬物互聯(lián)需求逐漸顯現(xiàn),為了實現(xiàn)車輛內(nèi)部與外部的萬物互聯(lián),開發(fā)有車輛整車控制器的操作系統(tǒng)。適用于車輛整車控制器的操作系統(tǒng),對實時性有嚴(yán)格的要求,要求能在確定的時間內(nèi)執(zhí)行其功能并對外部的異步時間做出及時相應(yīng)。車輛整車控制器的操作系統(tǒng),其操作正確性不僅依賴于邏輯設(shè)計的正確程度,而且與這些操作進行的時間相關(guān),因此操作系統(tǒng)的首要任務(wù)就是調(diào)度一切可利用的資源完成實時控制任務(wù)。所以,車輛整車控制器的操作系統(tǒng)相比于一般的操作系統(tǒng),其重要特點就是要滿足對時間的限制和要求,并著眼于提高整體系統(tǒng)的使用效率。
2、現(xiàn)有技術(shù)多使用普通中斷處理過程:當(dāng)外設(shè)向操作系統(tǒng)發(fā)出中斷請求信號,在滿足可中斷的條件時,暫停執(zhí)行當(dāng)前正在執(zhí)行的主程序,轉(zhuǎn)入執(zhí)行相應(yīng)能夠進行操作的子程序,待操作執(zhí)行完畢之后即返回繼續(xù)執(zhí)行原來被中斷的主程序。然而,現(xiàn)有的普通中斷處理技術(shù)存在成本高、分類不清晰、實時性要求低、代碼龐大和功耗高的問題。
3、為此,如何提供一種能夠?qū)崿F(xiàn)更好的實時性的用于車輛操作系統(tǒng)的中斷管理,是一個亟待解決的問題。
技術(shù)實現(xiàn)思路
1、鑒于此,本發(fā)明實施例提供了一種,以消除或改善現(xiàn)有技術(shù)中存在的一個或更多個缺陷。
2、本發(fā)明的一個方面提供了一種基于車輛操作系統(tǒng)的中斷管理方法、系統(tǒng)和存儲介質(zhì),該方法包括以下步驟:
3、接收與車輛操作系統(tǒng)關(guān)聯(lián)的外部硬件產(chǎn)生的硬件中斷請求,基于硬件中斷請求包含的硬件中斷向量跳轉(zhuǎn)到硬件中斷向量表,在硬件中斷向量表中查詢硬件中斷向量從而確定硬件中斷類型并生成與硬件中斷類型相對應(yīng)的硬件中斷任務(wù),根據(jù)預(yù)設(shè)中斷處理分級標(biāo)準(zhǔn)確定硬件中斷任務(wù)的中斷處理優(yōu)先級,由車輛操作系統(tǒng)保存當(dāng)前寄存器內(nèi)容;或者,接收由車輛操作系統(tǒng)關(guān)聯(lián)的內(nèi)部軟件產(chǎn)生的軟件中斷請求,基于軟件中斷請求對應(yīng)的軟件中斷任務(wù)包含的指令數(shù)目和預(yù)設(shè)中斷處理分級標(biāo)準(zhǔn)確定軟件中斷任務(wù)的中斷處理優(yōu)先級;其中,中斷處理優(yōu)先級分為中斷最高優(yōu)先級和預(yù)設(shè)數(shù)目個從高到低的中斷次優(yōu)先級,每個中斷次優(yōu)先級對應(yīng)一個中斷任務(wù)鏈表;
4、將中斷處理優(yōu)先級為中斷最高優(yōu)先級的硬件中斷任務(wù)或軟件中斷任務(wù)交由車輛操作系統(tǒng)內(nèi)的中斷服務(wù)程序進行立即處理;
5、將中斷處理優(yōu)先級為中斷次優(yōu)先級的硬件中斷任務(wù)或軟件中斷任務(wù)發(fā)送到相應(yīng)的中斷任務(wù)鏈表中;
6、當(dāng)中斷處理優(yōu)先級為中斷最高優(yōu)先級的硬件中斷任務(wù)和軟件中斷任務(wù)執(zhí)行完畢,按照從高到低的順序通過車輛操作系統(tǒng)處理中斷任務(wù)鏈表中的中斷處理優(yōu)先級為中斷次優(yōu)先級的硬件中斷任務(wù)或軟件中斷任務(wù);
7、在中斷任務(wù)處理結(jié)束后跳出中斷,由車輛操作系統(tǒng)恢復(fù)硬件中斷前的寄存器內(nèi)容,車輛操作系統(tǒng)返回中斷前的任務(wù)。
8、在本發(fā)明的一些實施例中,中斷服務(wù)程序的工作狀態(tài)設(shè)置為關(guān)中斷狀態(tài);該方法還包括:在將中斷處理優(yōu)先級為中斷最高優(yōu)先級的硬件中斷任務(wù)或軟件中斷任務(wù)交由中斷服務(wù)程序進行處理之前,修改中斷服務(wù)程序的工作狀態(tài)為開中斷狀態(tài),在將中斷處理優(yōu)先級為中斷最高優(yōu)先級的硬件中斷任務(wù)或軟件中斷任務(wù)交由中斷服務(wù)程序進行處理之后,修改中斷服務(wù)程序的工作狀態(tài)為關(guān)中斷狀態(tài)。
9、在本發(fā)明的一些實施例中,該方法還包括:在在硬件中斷向量表中查詢硬件中斷向量從而確定硬件中斷類型并生成與硬件中斷類型相對應(yīng)的硬件中斷任務(wù)步驟之后,基于硬件中斷類型確定硬件中斷的任務(wù)執(zhí)行時間,基于軟件中斷請求對應(yīng)的軟件中斷任務(wù)包含的指令數(shù)目確定軟件中斷的任務(wù)執(zhí)行時間;對于停留在中斷任務(wù)鏈表中的中斷任務(wù)統(tǒng)計中斷任務(wù)停留時間;對于除最高和最低的中斷次優(yōu)先級以外的中斷次優(yōu)先級對應(yīng)的中斷任務(wù)鏈表中的中斷任務(wù),當(dāng)中斷任務(wù)停留時間達到任務(wù)執(zhí)行時間的預(yù)設(shè)倍數(shù),將中斷任務(wù)調(diào)整到向上一級的中斷次優(yōu)先級對應(yīng)的中斷任務(wù)鏈表中。
10、在本發(fā)明的一些實施例中,該方法還包括:對預(yù)設(shè)數(shù)目個從高到低的中斷次優(yōu)先級和預(yù)設(shè)數(shù)目個中斷次優(yōu)先級對應(yīng)的預(yù)設(shè)數(shù)目個中斷任務(wù)鏈表,基于從操作系統(tǒng)獲取的車輛運行狀態(tài)進行數(shù)目調(diào)整,其中,車輛運行狀態(tài)包括關(guān)機態(tài)、開機態(tài)和駕駛態(tài)。
11、在本發(fā)明的一些實施例中,對預(yù)設(shè)數(shù)目個從高到低的中斷次優(yōu)先級和預(yù)設(shè)數(shù)目個中斷次優(yōu)先級對應(yīng)的預(yù)設(shè)數(shù)目個中斷任務(wù)鏈表,基于從操作系統(tǒng)獲取的車輛運行狀態(tài)進行數(shù)目調(diào)整步驟,包括:當(dāng)車輛運行狀態(tài)為關(guān)機態(tài),調(diào)整中斷任務(wù)鏈表為0;當(dāng)車輛運行狀態(tài)為開機態(tài),保留至少一個中斷任務(wù)鏈表;當(dāng)車輛運行狀態(tài)為駕駛態(tài),保留至少一個最高的中斷任務(wù)鏈表和一個最低的中斷任務(wù)鏈表。
12、在本發(fā)明的一些實施例中,該方法還包括:對所有的硬件中斷任務(wù)和軟件中斷任務(wù)統(tǒng)一分配中斷號id,在多內(nèi)核車輛操作系統(tǒng)中,基于中斷號id確定硬件中斷任務(wù)和軟件中斷任務(wù)所對應(yīng)的內(nèi)核位置。
13、在本發(fā)明的一些實施例中,在車輛操作系統(tǒng)初始化的階段,將對于硬件中斷的硬件中斷向量表和中斷處理分級標(biāo)準(zhǔn)注冊到操作系統(tǒng)中。
14、在本發(fā)明的一些實施例中,車輛操作系統(tǒng)關(guān)聯(lián)的內(nèi)部軟件包括剎車軟件系統(tǒng)、胎壓異常監(jiān)測軟件系統(tǒng)和雷達軟件系統(tǒng)中的多種。
15、本發(fā)明的另一方面提供了一種基于車輛操作系統(tǒng)的中斷管理系統(tǒng),包括處理器和存儲器,存儲器中存儲有計算機指令,處理器用于執(zhí)行存儲器中存儲的計算機指令,當(dāng)計算機指令被處理器執(zhí)行時該系統(tǒng)實現(xiàn)如上實施例中任一項所述方法的步驟。
16、本發(fā)明的另一方面提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)如上實施例中任一項所述方法的步驟。
17、本發(fā)明所提出的基于車輛操作系統(tǒng)的中斷管理方法、系統(tǒng)和存儲介質(zhì),能夠針對硬件中斷和軟件中斷基于預(yù)先建立的優(yōu)先級機制,及時響應(yīng)實時性高的中斷事件,以此保障車載操作系統(tǒng)對于軟件程序的中斷請求的響應(yīng)的實時性。
18、本發(fā)明的附加優(yōu)點、目的,以及特征將在下面的描述中將部分地加以闡述,且將對于本領(lǐng)域普通技術(shù)人員在研究下文后部分地變得明顯,或者可以根據(jù)本發(fā)明的實踐而獲知。本發(fā)明的目的和其它優(yōu)點可以通過在說明書以及附圖中具體指出的結(jié)構(gòu)實現(xiàn)到并獲得。
19、本領(lǐng)域技術(shù)人員將會理解的是,能夠用本發(fā)明實現(xiàn)的目的和優(yōu)點不限于以上具體所述,并且根據(jù)以下詳細說明將更清楚地理解本發(fā)明能夠?qū)崿F(xiàn)的上述和其他目的。
1.一種基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,該方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,所述中斷服務(wù)程序的工作狀態(tài)設(shè)置為關(guān)中斷狀態(tài);
3.根據(jù)權(quán)利要求1所述的基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,該方法還包括:
4.根據(jù)權(quán)利要求1所述的基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,該方法還包括:對預(yù)設(shè)數(shù)目個從高到低的中斷次優(yōu)先級和預(yù)設(shè)數(shù)目個中斷次優(yōu)先級對應(yīng)的預(yù)設(shè)數(shù)目個中斷任務(wù)鏈表,基于從操作系統(tǒng)獲取的車輛運行狀態(tài)進行數(shù)目調(diào)整,其中,所述車輛運行狀態(tài)包括關(guān)機態(tài)、開機態(tài)和駕駛態(tài)。
5.根據(jù)權(quán)利要求4所述的基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,所述對預(yù)設(shè)數(shù)目個從高到低的中斷次優(yōu)先級和預(yù)設(shè)數(shù)目個中斷次優(yōu)先級對應(yīng)的預(yù)設(shè)數(shù)目個中斷任務(wù)鏈表,基于從操作系統(tǒng)獲取的車輛運行狀態(tài)進行數(shù)目調(diào)整步驟,包括:
6.根據(jù)權(quán)利要求1所述的基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,該方法還包括:對所有的硬件中斷任務(wù)和軟件中斷任務(wù)統(tǒng)一分配中斷號id,在多內(nèi)核車輛操作系統(tǒng)中,基于所述中斷號id確定硬件中斷任務(wù)和軟件中斷任務(wù)所對應(yīng)的內(nèi)核位置。
7.根據(jù)權(quán)利要求1所述的基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,在車輛操作系統(tǒng)初始化的階段,將對于硬件中斷的硬件中斷向量表和所述中斷處理分級標(biāo)準(zhǔn)注冊到操作系統(tǒng)中。
8.根據(jù)權(quán)利要求1所述的基于車輛操作系統(tǒng)的中斷管理方法,其特征在于,所述車輛操作系統(tǒng)關(guān)聯(lián)的內(nèi)部軟件包括剎車軟件系統(tǒng)、胎壓異常監(jiān)測軟件系統(tǒng)和雷達軟件系統(tǒng)中的多種。
9.一種基于車輛操作系統(tǒng)的中斷管理系統(tǒng),包括處理器和存儲器,其特征在于,所述存儲器中存儲有計算機指令,所述處理器用于執(zhí)行所述存儲器中存儲的計算機指令,當(dāng)所述計算機指令被處理器執(zhí)行時該系統(tǒng)實現(xiàn)如權(quán)利要求1至8中任一項所述方法的步驟。
10.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,該程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至8中任一項所述方法的步驟。