[發明專利]一種在軌細粒度的功能函數增加方法有效
| 申請號: | 201410060563.X | 申請日: | 2014-02-21 |
| 公開(公告)號: | CN103984566B | 公開(公告)日: | 2017-01-18 |
| 發明(設計)人: | 趙英輝;程勝;卓保特;任永青 | 申請(專利權)人: | 北京神舟航天軟件技術有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京世譽鑫誠專利代理事務所(普通合伙)11368 | 代理人: | 孫國棟 |
| 地址: | 100094*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 細粒度 功能 函數 增加 方法 | ||
技術領域
本發明屬于嵌入式實時操作系統開發領域,具體地說,涉及一種在軌細粒度的功能函數增加方法。?
背景技術
星務系統長期運行在軌道上,隨著時間的推移,系統需要增加某些功能模塊,來實現特殊的功能,需對現有的程序進行更新,通常實現方法包括增量程序生成、增量程序的上注、增量程序重組、更新程序的運行。?
現有技術存在的主要問題:?
針對增量程序的更新方法,通常通過字節對比,生成增量文件,增量文件中需要包含更新字節的地址和長度,當不同字節的數量多且比較零散時,這就造成增量文件的容量特別大,因此,將增量文件上傳到在軌星務系統,這就增加了上傳時間,同時為了接收這些增量文件也需要開辟相當大的內存空間,然后將增量文件燒寫到非易失性存儲器(FLASH或EEPROM)中。如果對新程序有一點的改動,就需要從新生成增量文件,上傳,這樣就降低了效率。?
針對增量重組,通常的方法就是將增量文件燒寫到非易失性存儲器(FLASH或EEPROM)中,然后重啟系統,啟動程序檢測有增量文件,會根據增量文件地址和長度在RAM中替換掉原程序,如果跟新的字節比較零散,且多,這就增加了啟動時間。?
發明內容
本發明要解決的技術問題是克服上述缺陷,提供一種在軌細粒度的功能函數增加方法,通過簡單易操作的方法來簡化增量程序文件的生成的步驟,通過?特定的方法簡化增量程序的在軌更新,且程序更新后不需重新啟動計算機來運行增量程序,同時,還支持是否恢復更新之前的功能。?
為解決上述問題,本發明所采用的技術方案是:?
一種在軌細粒度的功能函數增加方法,其特征在于:所述功能函數增加方法如下:通過鏈接腳本將需要增加的功能函數定義為專屬段,且定位到程序末尾處,這樣可以有效地利用內存沒有使用的空間,通過專用的工具將專屬段拷貝出來,上傳到在軌星務系統內存中,并將此函數的地址增加到功能函數查找表中,等待任務的執行。?
所述功能函數增加方法的步驟為:?
步驟一:增量文件的生成:通過鏈接腳本將需要增加的功能函數定義為專屬段,且定位到程序的末尾處,這樣可以有效地利用內存沒有使用的空間,通過專用工具將專屬段拷貝出來,生成增量文件;?
步驟二:功能函數二進制文件的接收:生成的功能函數二進制通過遠程傳輸,注入到在軌計算機中。?
所述步驟一中包括:?
1)、在需要定點編譯的函數聲明中添加attribute屬性;?
2)、在連接腳本中添加.hooktext1、.hooktext2、.hooktext2為自定義的新段名;在連接腳本中添加*(.special*)為所有通過attribute定義的.special*的函數代碼;?
3)、然后將最后編譯出來的ELF文件XX.exe文件通過以下objcopy工具將定點編譯的特定段.hooktext1段拷貝成功能函數二進制文件。?
由于采用了上述技術方案,與現有技術相比,本發明提供了一種全新的星務軟件程序更新的方法,通過簡單易操作的方法來簡化增量程序文件的生成的?步驟,通過特定的方法簡化增量程序的在軌更新,且程序更新后不需重新啟動計算機來運行增量程序,同時,還支持是否恢復更新之前的功能。?
附圖說明
圖1為本發明一種實施例的程序流程圖;?
圖2為本發明一種實施例中在軌程序接收功能函數二進制文件的具體流程圖;?
圖3為本發明一種實施例中更新功能函數二進制文件前后的內存分配圖;?
圖4為本發明一種實施例中更新三個功能函數后的內存分配圖和替換第三個功能函數的內存分配圖;?
圖5為本發明一種實施例中功能函數更新后開啟功能函數的運行邏輯流程圖。?
具體實施方式
實施例:?
如圖1所示,一種在軌細粒度的功能函數增加方法,所述功能函數增加方法如下:通過鏈接腳本將需要增加的功能函數定義為專屬段,且定位到程序末尾處,這樣可以有效地利用內存沒有使用的空間,通過專用的工具將專屬段拷貝出來,上傳到在軌星務系統內存中,并將此函數的地址增加到功能函數查找表中,等待任務的執行。?
上述功能函數增加方法的步驟為:?
步驟一:增量文件的生成:通過鏈接腳本將需要增加的功能函數定義為專屬段,且定位到程序的末尾處,這樣可以有效地利用內存沒有使用的空間,通過專用工具將專屬段拷貝出來,生成增量文件,具體實施步驟如下所示:?
1)、在需要定點編譯的函數聲明中添加attribute屬性:?
修改后:?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京神舟航天軟件技術有限公司,未經北京神舟航天軟件技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410060563.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:雙弧溝道的波紋填料片
- 下一篇:油井一體化控制裝置





