[發(fā)明專利]提高嵌入式軟件代碼共享程度的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201310057286.2 | 申請(qǐng)日: | 2013-02-22 |
| 公開(公告)號(hào): | CN103150162A | 公開(公告)日: | 2013-06-12 |
| 發(fā)明(設(shè)計(jì))人: | 劉應(yīng)江;徐鑫;劉昊;簡(jiǎn)楹;楊紅霞 | 申請(qǐng)(專利權(quán))人: | 烽火通信科技股份有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 北京捷誠(chéng)信通專利事務(wù)所(普通合伙) 11221 | 代理人: | 魏殿紳;龐炳良 |
| 地址: | 430074 湖北省武*** | 國(guó)省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 提高 嵌入式 軟件 代碼 共享 程度 方法 | ||
1.提高嵌入式軟件代碼共享程度的方法,其特征在于,包括以下步驟:
使用源文件和頭文件兩種組織形式進(jìn)行靜態(tài)配置,在軟件模塊和操作系統(tǒng)之間形成中間層,采用宏描述的方式在源文件中定義頂層初始化登記表、模塊登記表和模塊族登記表的全局變量數(shù)組,在頭文件中描述相關(guān)的全局變量成員;
根據(jù)頂層初始化登記表的內(nèi)容完成系統(tǒng)的頂層初始化;
根據(jù)模塊族登記表創(chuàng)建多個(gè)軟件模塊共享的公共消息處理任務(wù),根據(jù)模塊登記表創(chuàng)建非模塊族的相應(yīng)自消息處理任務(wù),完成調(diào)度初始化,根據(jù)各軟件模塊的初始化周期和初始化步驟依次發(fā)送相關(guān)的調(diào)度指令;
各軟件模塊向中間層提供頂層初始化、調(diào)度初始化和消息處理函數(shù),并通過(guò)中間層實(shí)現(xiàn)各軟件模塊之間的通信,從而完成軟件模塊的初始化和相應(yīng)的消息處理。
2.如權(quán)利要求1所述的提高嵌入式軟件代碼共享程度的方法,其特征在于,頂層初始化包括以下步驟:
步驟201:獲取頂層初始化登記表的基地址和元素個(gè)數(shù);
步驟202:獲取頂層初始化登記表中的第一個(gè)元素;
步驟203:調(diào)用該元素的初始化接口進(jìn)行初始化;
步驟204:判斷本次初始化是否成功,如果初始化失敗,則返回頂層初始化錯(cuò)誤,結(jié)束頂層初始化;否則,轉(zhuǎn)步驟205;
步驟205:獲取頂層初始化登記表中的下一個(gè)元素,如果上一個(gè)元素已經(jīng)是頂層初始化登記表中的最后一個(gè)元素,則轉(zhuǎn)步驟206;否則,轉(zhuǎn)步驟203;
步驟206:?jiǎn)?dòng)調(diào)度初始化接口,如果調(diào)度初始化接口啟動(dòng)失敗,則返回調(diào)度初始化錯(cuò)誤,結(jié)束頂層初始化;否則返回頂層初始化成功,結(jié)束頂層初始化。
3.如權(quán)利要求1所述的提高嵌入式軟件代碼共享程度的方法,其特征在于,調(diào)度初始化包括以下步驟:
步驟301:定義軟件模塊描述和任務(wù)描述的全局變量數(shù)據(jù),根據(jù)模塊族登記表創(chuàng)建公共消息處理任務(wù),并初始化軟件模塊描述和任務(wù)描述的相關(guān)數(shù)據(jù);定義模塊登記表中局部變量的元素個(gè)數(shù),并分別設(shè)置相應(yīng)局部變量的數(shù)值;
步驟302:獲取模塊登記表中第一個(gè)軟件模塊的登記信息及描述信息;
步驟303:判斷該軟件模塊是否為模塊族登記表中的模塊,若是,則創(chuàng)建公共消息處理任務(wù),并初始化全局變量的描述信息,轉(zhuǎn)步驟304;否則,創(chuàng)建自消息處理任務(wù),并初始化局部變量的描述信息,轉(zhuǎn)步驟304;
步驟304:判斷該軟件模塊是否為模塊族登記表中的最后一個(gè),如果不是,則轉(zhuǎn)步驟305,否則,轉(zhuǎn)步驟306;
步驟305:獲取模塊族登記表中下一個(gè)軟件模塊的模塊登記信息及描述信息,轉(zhuǎn)步驟303;
步驟306:定義全局變量初始化周期,并設(shè)置為1;定義軟件模塊的初始化步驟,并設(shè)置為1;
步驟307:獲取模塊登記表中的第一個(gè)軟件模塊;
步驟308:向該軟件模塊發(fā)送模塊初始化任務(wù)消息,并等待初始化返回結(jié)果;
步驟309:判斷初始化返回結(jié)果,如果初始化失敗,則登記系統(tǒng)錯(cuò)誤信息并返回初始化失敗,調(diào)度初始化結(jié)束;否則轉(zhuǎn)步驟310;
步驟310:判斷模塊初始化步驟是否小于最大初始化步驟,如果是則轉(zhuǎn)到步驟311,否則轉(zhuǎn)到步驟312;
步驟311:軟件模塊初始化步驟加1,轉(zhuǎn)步驟308;
步驟312:判斷當(dāng)前的全局變量初始化周期是否小于全局變量最大初始化周期,如果是則轉(zhuǎn)步驟313;否則,調(diào)度初始化結(jié)束;
步驟313:判斷當(dāng)前初始化周期是否還有軟件模塊需要進(jìn)行初始化,是則全局變量初始化周期加1,轉(zhuǎn)步驟314,否則轉(zhuǎn)步驟315;
步驟314:判斷該軟件模塊是否為模塊登記表中的最后一個(gè),如果不是,則轉(zhuǎn)步驟315,否則,調(diào)度初始化結(jié)束,啟動(dòng)模塊公共消息處理任務(wù)和自消息處理任務(wù);
步驟315:獲取模塊登記表中下一個(gè)軟件模塊的模塊,轉(zhuǎn)步驟308。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于烽火通信科技股份有限公司,未經(jīng)烽火通信科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310057286.2/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)





