本發明涉及計算機程序軟件技術領域,具體涉及一種星載計算機軟件的在軌更新方法。
背景技術:
衛星發射后,如果發現了軟件出現異常或需要調整其運行軌跡,則均需對星載軟件進行在軌更新,目前,星載嵌入式軟件多采用靜態鏈接的方式生成,星載計算機中存儲的程序代碼是可執行程序,進行在軌維護時,需要將新修改的程序經過編譯、鏈接形成可執行程序,然后將該可執行程序與星載計算機中存儲的可執行程序對比,進行全部注入或針對有差異的地方進行局部重注,采用這些方法進行星載嵌入式軟件在軌更新,思路清晰,但也存在一些缺點:衛星在接收完畢全部代碼并進行校驗后才會將代碼應用到系統中,傳輸時間較長,容易受到干擾而產生錯誤。
技術實現要素:
本發明的目的是為了克服現有技術的不足,而提供一種效率高、傳輸可靠、受干擾小的星載計算機軟件的在軌更新方法。
本發明的目的是這樣實現的:一種星載計算機軟件的在軌更新方法,它包括以下步驟:
(1)在星載計算機軟件的基礎程序和擴展程序中分別生成目標文件;
(2)將步驟1中基礎程序的目標文件上傳至星載計算機,替換掉待更新的基礎程序,并對其進行校驗;
(3)如果步驟2校驗錯誤,則重新進行步驟2,如果校驗正確,則進行步驟4;
(4)將步驟1中擴展程序的目標文件上傳至星載計算機,并進行校驗;
(5)如果步驟4校驗錯誤,則向地面下傳校驗錯誤信息進行錯誤定位,排出錯誤后重新進行步驟4,如果校驗正確,則進行步驟6;
(6)用上傳的擴展程序替換待更新的擴展程序,本次星載計算機軟件更新完成。
所述的星載計算機軟件存儲在非揮發性存儲介質flash中。
所述的星載計算機軟件和地面通過星地通信鏈路通信。
所述的非揮發性存儲介質flash在邏輯上包括原軟件存儲區、升級軟件存儲區和模塊軟件上注區。
所述的星載各智能設備分別配置星載下位機。
本發明的有益效果:本發明將程序軟件的傳輸過程分為基礎程序和擴展程序兩段,每段程序的傳輸時間均小于總程序的傳輸時間,這就有效減少了程序傳輸過程中所受到的干擾,提高了傳輸效率;本發明在每段程序傳輸完畢后均進行校驗,避免出現問題影響衛星的正常工作,具有傳輸可靠的優點;本發明具有效率高、傳輸可靠、受干擾小的優點。
具體實施方式
下面對本發明做進一步的說明。
實施例1
一種星載計算機軟件的在軌更新方法,它包括以下步驟:
(1)在星載計算機軟件的基礎程序和擴展程序中分別生成目標文件;
(2)將步驟1中基礎程序的目標文件上傳至星載計算機,替換掉待更新的基礎程序,并對其進行校驗;
(3)如果步驟2校驗錯誤,則重新進行步驟2,如果校驗正確,則進行步驟4;
(4)將步驟1中擴展程序的目標文件上傳至星載計算機,并進行校驗;
(5)如果步驟4校驗錯誤,則向地面下傳校驗錯誤信息進行錯誤定位,排出錯誤后重新進行步驟4,如果校驗正確,則進行步驟6;
(6)用上傳的擴展程序替換待更新的擴展程序,本次星載計算機軟件更新完成。
本發明將程序軟件的傳輸過程分為基礎程序和擴展程序兩段,每段程序的傳輸時間均小于總程序的傳輸時間,這就有效減少了程序傳輸過程中所受到的干擾,提高了傳輸效率;本發明在每段程序傳輸完畢后均進行校驗,避免出現問題影響衛星的正常工作,具有傳輸可靠的優點;本發明具有效率高、傳輸可靠、受干擾小的優點。
實施例2
一種星載計算機軟件的在軌更新方法,它包括以下步驟:
(1)在星載計算機軟件的基礎程序和擴展程序中分別生成目標文件;
(2)將步驟1中基礎程序的目標文件上傳至星載計算機,替換掉待更新的基礎程序,并對其進行校驗;
(3)如果步驟2校驗錯誤,則重新進行步驟2,如果校驗正確,則進行步驟4;
(4)將步驟1中擴展程序的目標文件上傳至星載計算機,并進行校驗;
(5)如果步驟4校驗錯誤,則向地面下傳校驗錯誤信息進行錯誤定位,排出錯誤后重新進行步驟4,如果校驗正確,則進行步驟6;
(6)用上傳的擴展程序替換待更新的擴展程序,本次星載計算機軟件更新完成。
所述的星載計算機軟件存儲在非揮發性存儲介質flash中,所述的星載計算機軟件和地面通過星地通信鏈路通信,所述的非揮發性存儲介質flash在邏輯上包括原軟件存儲區、升級軟件存儲區和模塊軟件上注區,所述的星載各智能設備分別配置星載下位機。
本發明將程序軟件的傳輸過程分為基礎程序和擴展程序兩段,每段程序的傳輸時間均小于總程序的傳輸時間,這就有效減少了程序傳輸過程中所受到的干擾,提高了傳輸效率;本發明在每段程序傳輸完畢后均進行校驗,避免出現問題影響衛星的正常工作,具有傳輸可靠的優點;本發明的星載計算機軟件存儲在非揮發性存儲介質flash中,本發明的星載計算機軟件和地面通過星地通信鏈路通信,本發明的非揮發性存儲介質flash在邏輯上包括原軟件存儲區、升級軟件存儲區和模塊軟件上注區,本發明的星載各智能設備分別配置星載下位機;本發明具有效率高、傳輸可靠、受干擾小的優點。