[發(fā)明專利]一種基于同平臺組合編譯的航天器在軌維護(hù)注入碼生成方法有效
| 申請?zhí)枺?/td> | 201810148099.8 | 申請日: | 2018-02-13 |
| 公開(公告)號: | CN108491197B | 公開(公告)日: | 2021-06-11 |
| 發(fā)明(設(shè)計(jì))人: | 李振松;董曉剛;黨紀(jì)紅;索旭華;杜建偉;劉新彥 | 申請(專利權(quán))人: | 北京控制工程研究所 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 中國航天科技專利中心 11009 | 代理人: | 龐靜 |
| 地址: | 100080 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 平臺 組合 編譯 航天器 維護(hù) 注入 生成 方法 | ||
1.一種基于同平臺組合編譯的航天器在軌維護(hù)注入碼生成方法,其特征在于通過下述方式實(shí)現(xiàn):
(1)采用ERC32編譯系統(tǒng)還原航天器在軌運(yùn)行軟件的狀態(tài),通過一次鏈接生成a.out格式在軌狀態(tài)目標(biāo)文件;
(2)編寫在軌維護(hù)源代碼,使用ERC32編譯系統(tǒng)對在軌維護(hù)源代碼進(jìn)行預(yù)處理和編譯,生成相應(yīng)的匯編碼目標(biāo)文件;
(3)使用RCC編譯系統(tǒng)對步驟(2)中生成的匯編碼目標(biāo)文件進(jìn)行匯編處理,生成待上傳中間目標(biāo)文件;
(4)將步驟(1)中生成的a.out格式在軌狀態(tài)目標(biāo)文件,經(jīng)過目標(biāo)文件格式轉(zhuǎn)換,轉(zhuǎn)換為ELF格式的在軌狀態(tài)中間目標(biāo)文件;
(5)將步驟(4)中生成的ELF格式的在軌狀態(tài)中間目標(biāo)文件進(jìn)行精簡,除去與鏈接重定位過程無關(guān)的信息;
(6)新建鏈接腳本文件;
(7)基于步驟(6)建立的鏈接腳本文件,使用RCC編譯系統(tǒng),對步驟(5)精簡后的在軌狀態(tài)中間目標(biāo)文件、待上傳中間目標(biāo)文件以及相應(yīng)的靜態(tài)庫文件進(jìn)行二次鏈接,生成新的可執(zhí)行目標(biāo)文件;
(8)通過RCC編譯系統(tǒng)將步驟(7)中生成的新的可執(zhí)行目標(biāo)文件轉(zhuǎn)換成鏈接指令文件或BIN文件,從鏈接指令文件或BIN文件中直接提取指定起始地址的注入碼指令,從而完成航天器在軌維護(hù)注入碼的生成。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于:步驟(1)中通過使用與航天器原在軌軟件相同的sparc平臺ERC32編譯系統(tǒng),對原在軌軟件源文件目錄進(jìn)行編譯鏈接,生成a.out格式在軌狀態(tài)目標(biāo)文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于:在軌維護(hù)源代碼存儲路徑是在航天器原在軌軟件的源文件目錄下新建的在軌維護(hù)的注入代碼源文件中。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于:所使用的RCC編譯系統(tǒng)和ERC32編譯系統(tǒng)同屬于sparc平臺下的編譯系統(tǒng),并且ERC32編譯系統(tǒng)編譯生成的指令集ΦERC32是RCC編譯系統(tǒng)編譯生成的指令集ΦRCC的子集,即
5.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟(4)將步驟(1)中生成的a.out格式在軌狀態(tài)目標(biāo)文件,利用RCC編譯系統(tǒng)自帶的目標(biāo)文件格式轉(zhuǎn)換工具,將a.out格式在軌狀態(tài)目標(biāo)文件轉(zhuǎn)換為ELF格式的在軌狀態(tài)中間目標(biāo)文件。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟(5)將步驟(4)中生成的ELF格式的在軌狀態(tài)中間目標(biāo)文件,利用RCC編譯系統(tǒng)自帶的文件裁剪工具strip,對ELF格式的在軌狀態(tài)中間目標(biāo)文件進(jìn)行精簡,除去與鏈接重定位過程無關(guān)的信息。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述步驟(6)新建鏈接腳本文件,具體為:在腳本文件SECTIONS一節(jié)中,依據(jù)原在軌軟件的輸出段的地址設(shè)置,新建第一輸出段空間,將所述新建的第一輸出段空間的起始地址設(shè)置為原在軌軟件的輸出段的起始地址,將所述新建的第一輸出段空間的輸入段元素設(shè)置為一次鏈接后經(jīng)步驟(5)文件格式精簡后生成的精簡后的在軌狀態(tài)中間目標(biāo)文件,再依據(jù)預(yù)先設(shè)定的注入?yún)^(qū)起始地址,新建第二輸出段空間,將所述第二輸出段空間的起始地址設(shè)置為預(yù)先設(shè)定的注入?yún)^(qū)起始地址,將所述第二輸出段空間的輸入段元素設(shè)置為在軌維護(hù)軟件經(jīng)同平臺組合編譯后生成的待上傳中間目標(biāo)文件。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述在軌狀態(tài)目標(biāo)文件為a.out文件格式的可執(zhí)行目標(biāo)文件,所述在軌狀態(tài)中間目標(biāo)文件、所述精簡后的在軌狀態(tài)中間目標(biāo)文件、所述待上傳中間目標(biāo)文件和所述新的可執(zhí)行目標(biāo)文件均為ELF文件格式。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于:通過RCC編譯系統(tǒng),使用objdump命令將步驟(7)中生成的ELF格式的新的可執(zhí)行目標(biāo)文件a.out轉(zhuǎn)換成擴(kuò)展名為.lst的鏈接指令文件,或者使用objcopy命令將步驟(7)中生成的ELF格式的新的可執(zhí)行目標(biāo)文件a.out轉(zhuǎn)換成擴(kuò)展名為.bin的BIN文件。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于:航天器在軌運(yùn)行軟件以及在軌維護(hù)源代碼均使用C語言編寫。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京控制工程研究所,未經(jīng)北京控制工程研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810148099.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種軟件開發(fā)中的自動化編譯方法及系統(tǒng)
- 一種動態(tài)分配編譯機(jī)的系統(tǒng)及其方法
- 一種實(shí)現(xiàn)安卓編譯隔離的方法和系統(tǒng)
- 調(diào)度服務(wù)器、編譯服務(wù)器及分布式編譯方法
- 代碼編譯方法、編譯設(shè)備、存儲介質(zhì)及裝置
- 文件編譯方法、裝置、編譯設(shè)備及存儲介質(zhì)
- 一種編譯方法、裝置及系統(tǒng)
- 一種編譯方法和相關(guān)裝置
- 一種編譯方法、電子設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì)
- 一種代碼編譯方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì)





