[發明專利]一種支持RAM文件系統的星載APP動態加載方法在審
| 申請號: | 202011063640.9 | 申請日: | 2020-09-30 |
| 公開(公告)號: | CN112328319A | 公開(公告)日: | 2021-02-05 |
| 發明(設計)人: | 詹盼盼;郭堅;齊征;何熊文;劉欣;張紅軍;汪路元;徐勇;佟玲;曹雅婷 | 申請(專利權)人: | 北京空間飛行器總體設計部 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F9/50 |
| 代理公司: | 北京理工大學專利中心 11120 | 代理人: | 代麗;付雷杰 |
| 地址: | 100094 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 支持 ram 文件系統 app 動態 加載 方法 | ||
1.一種支持RAM文件系統的星載APP動態加載方法,其特征在于,包括以下步驟:
步驟一:將星載APP應用程序編譯鏈接,生成ELF格式的可執行文件;
步驟二:將步驟一中生成的ELF文件注入到星載計算機并保存到所述星載計算機內的RAM中,保持ELF文件格式不變;
步驟三:分析和轉換ELF文件布局;
步驟四:分配內存,將目標ELF文件的代碼段和數據段復制到星載計算機的內存中;
步驟五:計算重定位地址;
步驟六:執行重定位;
步驟七:從ELF文件頭中獲取可執行程序的入口,執行函數,運行所述APP。
2.根據權利要求1所述的方法,其特征在于:所述步驟三包括以下步驟:
(1)讀取ELF文件頭,使用ELF文件頭對ELF文件進行校驗,然后獲取程序頭表和節區頭表在ELF文件中的偏移量;
(2)根據程序頭表中每一個條目的內容將ELF文件中的每一個段加載到內存中。
3.根據權利要求2所述的方法,其特征在于:所述步驟四包括以下步驟:
(1)讀取程序頭表和節區頭表,分析出代碼段和數據段在ELF文件中的偏移和大小,為所述代碼段和數據段分配內存地址空間;
(2)執行文件讀取,將目標ELF文件的代碼段和數據段復制到內存中。
4.根據權利要求3所述的方法,其特征在于:所述步驟五包括以下步驟:
(1)從ELF文件中讀取基地址,所述基地址是APP程序希望加載到的地址;
(2)計算APP實際加載地址與ELF文件中的所述基地址之間的差值。
5.根據權利要求4所述的方法,其特征在于:所述步驟六包括以下步驟:
(1)遍歷節區頭表,找到SHT_RELA類型的節,遍歷所述節中的每一個重定位條目并讀取;
(2)對于每一個重定位條目,根據重定位條目的類型,找到對應符號表中的符號地址,加上所述差值,作為目標地址;
(3)修改機器指令中的地址部分,使程序能夠正確訪問所需的函數或變量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京空間飛行器總體設計部,未經北京空間飛行器總體設計部許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011063640.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種LF爐精煉渣碳酸化預處理工藝
- 下一篇:一種超材料吸波體





