一種基于sparcv7架構處理器的微操作系統構建方法
【專利摘要】本發明針對使用SPARC類型CPU的微小衛星星載機提出了一種微操作系統構建方法,該方法構建的操作系統具有任務無關性,可解決在星載機系統軟件開發未到位時星載機應用軟件無法進行調試及測試的問題。該方法構建的微操作系統為星載機應用軟件(如星務軟件、姿軌控軟件等)提供運行環境,使得各應用軟件具備各自開展調試及測試的條件,為微小衛星星載機軟件的并行開發提供保障,有效解決微小衛星軟件產品高質量與軟件研制短周期之間的矛盾,有效提升微小衛星快速研制的能力。
【專利說明】一種基于SPARCV7架構處理器的微操作系統構建方法
【技術領域】
[0001]本發明涉及微小衛星【技術領域】,特別涉及一種微小衛星的微操作系統構建方法。
【背景技術】
[0002]微小衛星星載機軟件主要包括系統軟件、星務軟件和姿軌控軟件三大部分。其中,系統軟件屬于操作系統類軟件,它負責與星載機硬件交互,以及為應用軟件(包括星務軟件和姿軌控軟件)提供運行環境,并負責故障處理等諸多任務。附圖1所示的是微小衛星星載機系統組成示意圖。相比較于可以直接運行在星載機硬件上的系統軟件來說,作為應用軟件的星務軟件和姿控軟件不具備直接在星載機上運行的能力。這些應用軟件都是與數據管理和控制算法等相關的上層軟件,它們無法直接和CPU級的硬件進行交互和管理硬件。目前,星載機應用軟件的運行環境僅可由星載系統軟件提供。
[0003]由于星載機應用軟件對硬件的不適應性,使其對星載機系統軟件產生依賴,這就造成了應用軟件的運行調試必須晚于系統軟件的研制,致使星載系統軟件的開發與應用軟件的開發不能并行開展。所以目前常規的星載機軟件研制流程是先完成星載機系統軟件的開發研制,才可以開展應用軟件的相關調試及測試。而應用軟件的調試和測試又是星載機研制中極其重要,并且周期較長的一環,這就對星載機的研制進度造成了拖延。這種串行的開發模式與微小衛星又快又好的開發趨勢越來越不相適應。
[0004]
【發明內容】
為了解決現有技術中存在的問題,本發明提供了一種基于SPARCV7架構處理器的微操作系統構建方法,可改善星載應用軟件的調試測試條件,打破星載系統軟件研發和應用軟件研發在時間上串行的不利局面,在不降低質量的條件下縮短研制流程,為微小衛星的快速尚品質研發提供保障。
[0005]為了達到上述目的,本發明采取了以下技術方案:
一種基于SPARCV7架構處理器的微操作系統構建方法,所述微操作系統包括系統操作部分、系統管理部分和測試支持部分,其中所述系統操作部分由CPU初始化及設置模塊、接口初始化及設置模塊、時鐘初始化及設置模塊和陷阱初始化及設置模塊組成,所述系統管理部分由中斷管理模塊、時間管理模塊和系統延時模塊組成,所述測試支持部分由測試管理模塊組成;其特征在于:所述構建方法包括:所述微操作系統上電后,先進行CPU的初始化、棧指針初始化、外圍接口設置初始化,而后進行陷阱初始化和時鐘初始化,接下來設置CPU狀態和接口狀態,并關中斷和關自主糾檢錯,設置實時時鐘時間片;再接下來掛接窗口上下溢中斷和掛接時鐘中斷;而后再調用應用程序初始化接口,并開啟各時鐘中斷;最后在循環等待中判斷實時時鐘中斷是否來臨,是則調用應用程序而后返回,否則繼續循環等待實時時鐘中斷的來臨,實現應用程序的周期調用和激活。
[0006]進一步地,所述系統操作部分的CPU初始化及設置模塊負責CPU寄存器的初始化及CPU相關的狀態設置;接口初始化及設置模塊負責接口初始化及接口相關狀態的設置;時鐘初始化及設置模塊負責實時時鐘和通用時鐘的設置;陷阱初始化及設置負責陷阱初始化和陷阱相關的設置。
[0007]進一步地,所述系統管理部分的中斷管理模塊負責系統運行時的上下文現場保存、調用中斷服務程序、上下文現場恢復等相關處理,負責實時時鐘中斷、通用時鐘中斷、窗口上溢下溢的中斷響應;時間管理模塊負責星上時間的自主生成、響應多種校時處理操作;系統延時模塊負責提供時間延時接口。
[0008]進一步地,所述測試支持部分的測試管理模塊提供輸入輸出測試口的管理功能。
[0009]進一步地,所述方法還包括通過通用時鐘中斷進行星時自主生成時的自動溢出疊加;通過看門狗時鐘中斷進行應用軟件健康檢測。
[0010]本發明的有益效果是:本發明提出的為星載機應用軟件提供運行環境的微操作系統構建方法,選用國內星載機平臺中最常用和最典型的SPARC系列CPU平臺環境,此類微操作系統可滿足應用軟件對系統軟件的所有需求。該方法可改善星載應用軟件的調試測試條件,打破星載系統軟件研發和應用軟件研發在時間上串行的不利局面。此類微操作系統的實現,可使星載機應用軟件的調試和測試先于系統軟件研制完成而開展,打開星載機軟件的系統軟件、星務軟件和姿軌控軟件三大部分軟件并行開發的局面,在不降低質量的條件下縮短研制流程,為微小衛星的快速高品質研發提供保障。
[0011]
【專利附圖】
【附圖說明】
[0012]圖1是微小衛星星載機系統組成示意圖;
圖2是本發明的微操作系統組成框圖;
圖3是本發明的微操作系統構建的主流程框圖;
圖4是本發明的微操作系統的中斷切換處理流程框圖;
圖5是基于本發明的微操作系統的微小衛星星載機系統組成框圖;
圖6是基于本發明的微小衛星星載機軟件開發流程與傳統流程的優勢對比圖;
圖7是一個基于本發明的微操作系統的具體實施例框圖。
[0013]
【具體實施方式】
[0014]下面結合【專利附圖】
【附圖說明】及【具體實施方式】對本發明進一步說明。
[0015]本發明的微操作系統組成如附圖2所示,包括系統操作、系統管理、測試支持三大部分。
[0016]其中,系統操作由CPU初始化及設置模塊、接口初始化及設置模塊、時鐘初始化及設置模塊和陷阱初始化及設置模塊四個部分組成。CPU初始化及設置模塊負責CPU寄存器的初始化及CPU相關的狀態設置;接口初始化及設置模塊負責接口初始化及接口相關狀態的設置;時鐘初始化及設置模塊負責實時時鐘和通用時鐘的設置;陷阱初始化及設置負責陷阱初始化和陷阱相關的設置。
[0017]系統管理由中斷管理模塊、時間管理模塊和系統延時模塊三個部分組成。中斷管理模塊負責系統運行時的上下文現場保存、調用中斷服務程序、上下文現場恢復等相關處理,負責實時時鐘中斷、通用時鐘中斷、窗口上溢下溢的中斷響應;時間管理模塊負責星上時間的自主生成、響應多種校時處理操作;系統延時模塊負責提供時間延時接口。
[0018]測試支持由測試管理模塊組成,該模塊提供輸入輸出測試口的管理功能。
[0019]微操作系統的功能包括:1)系統初始化功能;2)系統設置功能;3)中斷管理功能;4)應用程序調用功能;5)時間管理功能;6)測試管理功能。
[0020]微操作系統構建的主流程框圖如附圖3所示,該主流程框圖是微操作系統的主干部分,共實現了 4項功能:1)系統初始化功能;2)系統設置功能;3)中斷管理功能;4)應用程序調用功能。
[0021]系統上電后,先進行CPU的初始化、棧指針初始化、外圍接口設置初始化,而后進行陷阱初始化和時鐘初始化;接下來設置CPU狀態和接口狀態,并關中斷和關自主糾檢錯,設置實時時鐘時間片;再接下來掛接窗口上下溢中斷和時鐘中斷;而后再調用應用程序初始化接口,并開啟各時鐘中斷;最后在循環等待中判斷實時時鐘中斷是否來臨,是則調用應用程序而后返回,否則繼續循環等待實時時鐘中斷的來臨。
[0022]I)系統初始化功能
系統初始化功能主要包括:CPU初始化、棧指針初始化、外圍接口設置初始化、陷阱初始化和時鐘初始化。
[0023]其中,CPU初始化的流程為:先清除g0~g7寄存器,而后初始化程序狀態寄存器,初始化中斷屏蔽寄存器,并清除所有中斷;接下來初始化Y寄存器和窗口寄存器,并清浮點寄存器;最后初始化系統控制寄存器和中斷屏蔽寄存器。
[0024]外圍接口設置初始化的流程為:先初始化存儲器配制寄存器,而后初始化輸入輸出配制寄存器,接下來初始化等待狀態配制寄存器和通用接口寄存器。
[0025]時鐘初始化包括對通用定時器、實時時鐘定時器和看門狗定時器的初始化裝載。
[0026]2)系統設置功能
系統設置功能主要包括:CPU狀態設置、接口狀態設置、關中斷和關自主糾檢錯、設置實時時鐘時間片。
[0027]其中,CPU狀態設置的流程為:先清除所有中斷,而后依次設置陷阱基址寄存器、系統控制寄存器和中斷屏蔽寄存器。
[0028]接口狀態設置的流程為:依次設置存儲器配制寄存器、輸入輸出配制寄存器、等待狀態配制寄存器和通用接口寄存器。
[0029]3)中斷管理功能
中斷管理功能主要包括:掛接窗口上下溢中斷、掛接時鐘中斷、掛接應用程序中斷和中斷切換處理。窗口上下溢中斷在SPARCV7處理器中屬于窗口類中斷,窗口類寄存器體系是SPARC架構處理器所特有的;時鐘中斷和應用程序中斷屬于常規類中斷。
[0030]掛接窗口上溢中斷時先根據窗口上溢陷阱類型向陷阱表對應位置填寫陷阱處理指令,再跳轉至窗口上溢處理程序,而后進行窗口上溢陷阱處理。窗口上溢陷阱處理的流程為:先記錄窗口寄存器位置,將當前窗口前進右移I次,再將當前窗口所有局部和輸入寄存器全部壓棧,而后將當前窗口返回左移I次,窗口寄存器循環右移I位,最后返回。
[0031]掛接窗口下溢中斷時先根據窗口下溢陷阱類型向陷阱表對應位置填寫陷阱處理指,再跳轉至窗口下溢處理程序,而后進行窗口下溢陷阱處理。窗口下溢陷阱處理的流程為:先記錄窗口寄存器位置,將當前窗口返回左移I次,再將將當前窗口所有局部和輸入寄存器全部出棧,而后將當前窗口前進右移I次,窗口寄存器循環右移I位,最后返回。
[0032]掛接時鐘中斷和掛接應用程序中斷的流程為:先設置陷阱處理函數列表,再根據陷阱類型向陷阱表相應位置填寫陷阱處理指令,并跳轉至中斷處理程序,最后進行中斷切換處理。
[0033]其中,中斷切換處理的流程如附圖4所示。首先判斷當前窗口是否為無效窗口 ;否則直接進入根據幀指針計算偏移96字節的棧指針;是則先記錄窗口寄存器位置,將當前窗口前進右移I次,再將當前窗口所有局部和輸入寄存器全部壓棧,而后將當前窗口返回左移I次,再進入根據幀指針計算偏移96字節的棧指針。接下來存儲局部、輸入和全局寄存器至中斷堆棧,并設置程序狀態寄存器,允許陷阱并禁止所有異步陷阱;再根據陷阱處理函數列表以及陷阱基址寄存器,獲取陷阱處理函數地址,并跳轉至該地址運行;執行陷阱處理函數,而后返回。接下來判斷上一個窗口是否為無效窗口 ;否則直接進入從中斷堆棧中獲取并重載局部、輸入和全局寄存器;是則先記錄窗口寄存器位置,將當前窗口返回左移I次,再將當前窗口所有局部和輸入寄存器全部出棧,而后將當前窗口前進右移I次,再進入從中斷堆棧中獲取并重載局部、輸入和全局寄存器。而后設置程序狀態寄存器,最后從陷阱中返回。
[0034]4)應用程序調用功能
該微操作系統構建方法的設計原因即為:為星載應用軟件提供軟件運行環境,為應用軟件的正常定時運行提供條件。應用程序調用功能,先調用應用程序初始化接口,而后開啟各時鐘中斷。進行循環等待,通過實時時鐘中斷的周期來臨,實現應用程序的周期調用和激活;通過通用時鐘中斷進行星時自主生成時的自動溢出疊加;通過看門狗時鐘中斷進行應用軟件健康檢測。
[0035]除了以上四項由主流程框圖所描述的功能外,該微操作系統還包括以下兩點功能:時間管理功能和測試管理功能。
[0036]5)時間管理功能
微操作系統的時間管理功能主要包括以下幾個子功能:星上時間的自主守時功能、均勻校時功能、地面授時功能、GPS校時功能、集中校時功能和系統延時功能。
[0037]星上時間的自主守時功能通過時鐘及時鐘中斷產生和維護星上時間,并且提供接口給星載應用程序使用星上時間。
[0038]均勻校時功能、地面授時功能、GPS校時功能和集中校時功能均屬于校時授時類功能,通過設置和更新時鐘寄存器,改變維護的星上時間,實現增量或全量的校時授時功能,并且提供接口給星載應用程序使用這些功能。
[0039]系統延時功能通過查詢時鐘寄存器,并將其變化量與輸入的延時時間相比較,完成系統延時。該功能用于向星載應用軟件提供系統延時接口。
[0040]6)測試管理功能
微操作系統的測試管理功能主要完成CPU自帶串口的測試數據輸入輸出;進行測試串口的數據接收,數據組幀,以及存儲至緩沖區中;進行測試串口的數據輸出。
本發明構建的微操作系統可在微小衛星星載機系統中替代星載操作系統,如附圖5所示。基于本發明的方法構件的微操作系統使得微小衛星星載機軟件開發流程較傳統流程的優勢如附圖6所示,其中附圖6 Ca)是傳統微小衛星星載機軟件開發流程,其中,子流程間耦合度高且不可完全并行開發;附圖6 (b)是基于本發明的方法構建的微操作系統的微小衛星星載機軟件開發流程,流程簡潔且子流程間耦合度低可完全并行開發。
[0041]基于本發明微操作系統構建方法的一個實施例如附圖7所示,微操作系統由系統操作、系統管理、時間管理、測試支持及應用程序調用等5大模塊組成。其中,系統管理的掛接應用程序中斷、時間管理的增量校時和全量校時、時間管理的系統延時、以及應用程序調用,這幾個模塊向應用軟件提供操作接口。
[0042]系統操作包括系統初始化和系統設置。系統初始化由CPU初始化、接口初始化、時鐘初始化和陷阱初始化幾部分組成,完成系統初始化相關的功能。系統設置由CPU設置、接口設置、時鐘設置和陷阱設置幾部分組成,完成系統設置相關的功能。
[0043]系統管理包括中斷管理、時間管理和應用程序調用。中斷管理進行和提供基于中斷切換處理的中斷掛接,進行窗口上下溢中斷掛接和時鐘中斷掛接,并向應用軟件提供應用程序中斷掛接接口。時間管理進行自主守時,并向應用程序提供系統延時、增量校時和全量校時的接口。應用程序調用提供接口應用程序初始化,并進行應用程序的周期定時調用。
[0044]測試支持提供測試串口輸入和測試串口輸入,為系統測試提供輸入輸出。
[0045]該微操作系統實例可在在微小衛星星載機系統中替代星載操作系統,為星載應用軟件提供調試和測試環境,在確保質量不下降的情況下,加速整個星載機軟件的開發進程,從而可保障微小衛星星載機軟件的可靠和高效研發。
[0046]綜上所述,本發明針對使用SPARC類型CPU的微小衛星星載機提出了一種微操作系統構建方法,該方法構建的操作系統具有任務無關性,可解決在星載機系統軟件開發未到位時星載機應用軟件無法進行調試及測試的問題。該方法構建的微操作系統為星載機應用軟件(如星務軟件、姿軌控軟件等)提供運行環境,使得各應用軟件具備各自開展調試及測試的條件,為微小衛星星載機軟件的并行開發提供保障,有效解決微小衛星軟件產品高質量與軟件研制短周期之間的矛盾,有效提升微小衛星快速研制的能力。
[0047]以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限于這些說明。對于本發明所屬【技術領域】的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發明的保護范圍。
【權利要求】
1.一種基于SPARCV7架構處理器的微操作系統構建方法,所述微操作系統包括系統操作部分、系統管理部分和測試支持部分,其中所述系統操作部分由CPU初始化及設置模塊、接口初始化及設置模塊、時鐘初始化及設置模塊和陷阱初始化及設置模塊組成,所述系統管理部分由中斷管理模塊、時間管理模塊和系統延時模塊組成,所述測試支持部分由測試管理模塊組成;其特征在于:所述構建方法包括:所述微操作系統上電后,先進行CPU的初始化、棧指針初始化、外圍接口設置初始化,而后進行陷阱初始化和時鐘初始化,接下來設置CPU狀態和接口狀態,并關中斷和關自主糾檢錯,設置實時時鐘時間片;再接下來掛接窗口上下溢中斷和掛接時鐘中斷;而后再調用應用程序初始化接口,并開啟各時鐘中斷;最后在循環等待中判斷實時時鐘中斷是否來臨,是則調用應用程序而后返回,否則繼續循環等待實時時鐘中斷的來臨,實現應用程序的周期調用和激活。
2.根據權利要求1所述的微操作系統構建方法,其特征在于:所述系統操作部分的CPU初始化及設置模塊負責CPU寄存器的初始化及CPU相關的狀態設置;接口初始化及設置模塊負責接口初始化及接口相關狀態的設置;時鐘初始化及設置模塊負責實時時鐘和通用時鐘的設置;陷阱初始化及設置負責陷阱初始化和陷阱相關的設置。
3.根據權利要求1所述的微操作系統構建方法,其特征在于:所述系統管理部分的中斷管理模塊負責系統運行時的上下文現場保存、調用中斷服務程序、上下文現場恢復等相關處理,負責實時時鐘中斷、通用時鐘中斷、窗口上溢下溢的中斷響應;時間管理模塊負責星上時間的自主生成、響應多種校時處理操作;系統延時模塊負責提供時間延時接口。
4.根據權利要求1所述的微操作系統構建方法,其特征在于:所述測試支持部分的測試管理模塊提供輸入輸出測試口的管理功能。
5.根據權利要求1所述的微操作系統構建方法,其特征在于:所述方法還包括通過通用時鐘中斷進行星時自主生成時的自動溢出疊加;通過看門狗時鐘中斷進行應用軟件健康檢測。
【文檔編號】G06F11/36GK104461885SQ201410756413
【公開日】2015年3月25日 申請日期:2014年12月10日 優先權日:2014年12月10日
【發明者】潘樂, 劉寬俊, 寇義民, 尚華, 于小龍, 商明森 申請人:深圳航天東方紅海特衛星有限公司