本申請屬于起動發電控制器軟件應用領域,具體涉及一種適用于起動發電控制器多配置項軟件的在線加載方法。
背景技術:
1、現代飛機使用越來越多的電子電氣設備,隨著設備數字化程度的提高,軟件在系統功能中的參與度越來越多,以f-35為例,其機載軟件源代碼共約600萬行,由軟件實現的系統控制功能占80%以上。后期產品功能的提升與優化,大多通過軟件的升級與維護來實現。所以,為了滿足現代飛機對航空電氣產品不斷提升的可靠性、維護性等要求,如何快速、簡便、有效的進行軟件加載顯得尤其重要。
2、目前,起動發電控制器產品多采用基于dsp的多配置項嵌入式軟件設計,應用程序分為起動軟件及發電軟件,一般使用專用仿真器,通過jtag接口進行產品軟件的加載,傳統應用程序加載方式如圖1所示。該方法對升級環境要求較高,需要專用仿真器設備,且由于jtag接口與dsp之間有距離要求,只能位于dsp周邊,因此每次維護升級均需要專業人員對產品開蓋后,通過jtag接口連接仿真器實現產品應用程序的加載升級,所需的工作量大,費時費力,極大的增加了產品的維護成本。
3、已有的dsp應用程序在線加載的方法有兩種,一是需在產品中增加專用功能電路來改變dsp的啟動引導方式,二是通過通信的方式進行軟件不離位維護。
4、升級專用功能電路的動作需通過產品維護口進行控制,且其控制信號與控制時機均不滿足產品裝機狀態軟件加載的要求。因此,這種方法屬于產品脫機地面維護,程序的加載需改變產品正常工作狀態,且產品內部增加的專用功能電路,一方面增加了產品的體積與重量,另一方面降低了產品的可靠性與維護性。
5、通過通信的方式進行軟件不離位維護僅適用于單配置項軟件,起動發電控制器應用程序屬于多配置項軟件。
6、故現有的應用軟件在線加載方式已無法滿足起動發電控制器升級需求。
技術實現思路
1、為了解決上述問題,本申請提供了一種適用于起動發電控制器多配置項軟件的在線加載方法,將起動發電控制器的dsp的flash扇區劃分為至少包括自定義boot區、加載運行區、軟件當前運行區及軟件舊版本備份區,其中所述自定義boot區的起始地址由cpu內部的boot?loader程序執行后跳轉的地址決定,所述自定義boot區內記錄了跳轉至加載運行區或軟件當前運行區的控制邏輯,所述加載運行區記錄了根據外部軟件配置項目標版本程序數據對所述軟件當前運行區及軟件舊版本備份區進行更改的在線加載軟件,所述軟件當前運行區存儲有軟件的當前程序數據,所述軟件舊版本備份區存儲有軟件的舊版本程序數據;所述在線加載方法包括:
2、步驟s1、由自定義boot區的控制邏輯確定有無在線加載需求,當存在所述在線加載需求時,跳轉至加載運行區,當不存在所述在線加載需求時,跳轉至軟件當前運行區;
3、步驟s2、由加載運行區的在線加載軟件將軟件當前運行區內的當前程序數據加載到軟件舊版本備份區,然后將外部軟件配置項目標版本程序數據加載到軟件當前運行區。
4、優選的是,所述軟件當前運行區至少包括兩個,分別為起動軟件當前運行區與發電軟件當前運行區,所述起動軟件當前運行區用于存儲起動軟件配置項當前程序數據,所述發電軟件當前運行區用于存儲發電軟件配置項當前程序數據,對應的,所述軟件舊版本備份區包括起動軟件舊版本備份區與發電軟件舊版本備份區。
5、優選的是,步驟s2之前進一步包括:
6、步驟s20、按照dsp與外部程序的通信協議要求,將對外輸出狀態設定為安全狀態,并進行軟件復位。
7、優選的是,步驟s2中,將將外部軟件配置項目標版本程序數據加載到軟件當前運行區進一步包括:
8、步驟s21、通過對應標志位及id號碼對不同軟件配置項的下載數據進行區分,按加載模式下的通信協議接收不同軟件配置項的目標版本程序,并緩存在dsp外部的ram區域;
9、步驟s22、對所述ram區域內的目標版本程序進行校驗;
10、步驟s23、校驗通過后,調用dsp自帶的flash?api庫函數,將目標版本程序數據加載到軟件當前運行區。
11、優選的是,步驟s2進一步包括:
12、步驟s24、上報目標版本程序數據的加載進度及狀態標志。
13、優選的是,步驟s2進一步包括:
14、步驟s25、當所述目標版本程序數據在加載過程中出現數據校驗異常的故障時,將所述舊版本備份區中的舊版本程序數據加載到所述軟件當前運行區。
15、本申請簡化了產品軟件加載方式,節約了產品的維護成本,提高了產品的可靠性與維護性。
1.一種適用于起動發電控制器多配置項軟件的在線加載方法,其特征在于,將起動發電控制器的dsp的flash扇區劃分為至少包括自定義boot區、加載運行區、軟件當前運行區及軟件舊版本備份區,其中所述自定義boot區的起始地址由cpu內部的boot?loader程序執行后跳轉的地址決定,所述自定義boot區內記錄了跳轉至加載運行區或軟件當前運行區的控制邏輯,所述加載運行區記錄了根據外部軟件配置項目標版本程序數據對所述軟件當前運行區及軟件舊版本備份區進行更改的在線加載軟件,所述軟件當前運行區存儲有軟件的當前程序數據,所述軟件舊版本備份區存儲有軟件的舊版本程序數據;所述在線加載方法包括:
2.如權利要求1所述的適用于起動發電控制器多配置項軟件的在線加載方法,其特征在于,所述軟件當前運行區至少包括兩個,分別為起動軟件當前運行區與發電軟件當前運行區,所述起動軟件當前運行區用于存儲起動軟件配置項當前程序數據,所述發電軟件當前運行區用于存儲發電軟件配置項當前程序數據,對應的,所述軟件舊版本備份區包括起動軟件舊版本備份區與發電軟件舊版本備份區。
3.如權利要求1所述的適用于起動發電控制器多配置項軟件的在線加載方法,其特征在于,步驟s2之前進一步包括:
4.如權利要求1所述的適用于起動發電控制器多配置項軟件的在線加載方法,其特征在于,步驟s2中,將將外部軟件配置項目標版本程序數據加載到軟件當前運行區進一步包括:
5.如權利要求4所述的適用于起動發電控制器多配置項軟件的在線加載方法,其特征在于,步驟s2進一步包括:
6.如權利要求4所述的適用于起動發電控制器多配置項軟件的在線加載方法,其特征在于,步驟s2進一步包括: