一種車載嵌入式系統(tǒng)復用第三方插件的方法【專利摘要】本發(fā)明提供一種車載嵌入式系統(tǒng)復用第三方插件的方法,包括:將插件源文件的代碼指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;將插件源文件與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件;從可執(zhí)行文件里固定的地址空間分離出與插件源文件的代碼對應的數(shù)據(jù);將分離出的與插件源文件的代碼對應的數(shù)據(jù)分布存放在數(shù)組中,將數(shù)組內(nèi)容指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;將數(shù)組內(nèi)容作為接口模塊與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件。本發(fā)明減少和第三方插件源文件配合編譯的工作量,使車載嵌入式系統(tǒng)復用第三方插件,提高嵌入式系統(tǒng)開發(fā)效率,同時便于嵌入式系統(tǒng)代碼的靈活移植、提高系統(tǒng)擴展性?!緦@f明】一種車載嵌入式系統(tǒng)復用第三方插件的方法【
技術領域:
】[0001]本發(fā)明涉及嵌入式系統(tǒng)【
技術領域:
】,具體涉及汽車電子嵌入式系統(tǒng)中復用第三方插件源文件的方法?!?br>背景技術:
】[0002]目前,如圖1所示,車載嵌入式系統(tǒng)整合第三方插件的實施方案為:[0003](1)車載嵌入式系統(tǒng)在需要使用第三方插件功能的地方,調(diào)用第三方插件功能模塊提供的接口函數(shù)(不具備功能的函數(shù))進行代碼設計,同時更改應用層的功能代碼;[0004](2)將編寫好的信息系統(tǒng)文件和第三方插件源文件一起,利用第三方提供插件功能的接口函數(shù)實現(xiàn)的源代碼進行組合編譯,生成可執(zhí)行文件;[0005](3)把可執(zhí)行文件下載到嵌入式硬件里面,進行確認更改的應用代碼的功能是否可實現(xiàn)。[0006]因此,在車載嵌入式系統(tǒng)開發(fā)中,某些功能所需要的數(shù)據(jù)需結合第三方插件處理后才能使用,即,一個具有完整功能的車載嵌入式系統(tǒng),需要和第三方插件代碼整合在一起才能編譯生成一個完整的可執(zhí)行文件。[0007]有些第三方插件的源代碼文件不開放,也不提供類似庫的文件。當開發(fā)者開發(fā)的嵌入式系統(tǒng)文件(如圖1中system,c、system,h)有改動,需要和第三方一起配合,重新把插件源代碼文件和嵌入式系統(tǒng)代碼文件進行組合、編譯、鏈接,開發(fā)者才能得到最終的系統(tǒng)的可執(zhí)行軟件。[0008]第三方插件的代碼由于功能單一,代碼一般少更改,但在嵌入式系統(tǒng)的開發(fā)中,代碼更改、編譯很頻繁,每次改動想確認更改的效果,都需要重復和第三方配合編譯生成對應的可執(zhí)行文件,從而,第三方插件的代碼在嵌入式系統(tǒng)開發(fā)過程中沒有得到復用。這樣,導致嵌入式系統(tǒng)開發(fā)效率大大降低,并且將限制限制系統(tǒng)代碼的靈活移植和車載系統(tǒng)功能的開發(fā)?!?br/>發(fā)明內(nèi)容】[0009]本發(fā)明提供一種車載嵌入式系統(tǒng)復用第三方插件的方法,解決了使車載嵌入式系統(tǒng)復用第三方插件,提高嵌入式系統(tǒng)開發(fā)效率、便于嵌入式系統(tǒng)代碼的靈活移植、提高系統(tǒng)擴展性的技術問題。[0010]為了解決上述技術問題,本發(fā)明所采取的技術方案為:[0011]本發(fā)明提供一種車載嵌入式系統(tǒng)復用第三方插件的方法,包括:[0012]A.將插件源文件的代碼指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;[0013]B.將所述插件源文件與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件;[0014]C.從可執(zhí)行文件里固定的地址空間分離出與插件源文件的代碼對應的數(shù)據(jù);[0015]D.將分離出的與插件源文件的代碼對應的數(shù)據(jù)分布存放在數(shù)組中,將所述數(shù)組內(nèi)容指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;[0016]E.將所述數(shù)組內(nèi)容作為接口模塊與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件。[0017]進一步地,步驟A包括:[0018]Al.在嵌入式系統(tǒng)的地址分配文件中,為插件源文件的代碼指定固定的地址空間;[0019]A2.在插件源文件中,根據(jù)將代碼生成到固定地址空間的命令,對代碼進行地址指定分配預處理。[0020]更進一步地,若插件源文件的代碼更改,將更改后的插件源文件與嵌入式系統(tǒng)文件重新進行步驟A至E。[0021]在本發(fā)明的車載嵌入式系統(tǒng)復用第三方插件的方法中,先把需要整合的第三方插件代碼指定固定的編譯開始地址,再把鏈接有插件代碼的源文件的系統(tǒng)進行編譯,接著把生成的目標文件二進制數(shù)據(jù)從固定的地址分離出插件代碼對應的數(shù)據(jù),最后把分離出來的數(shù)據(jù)建立一個數(shù)組或者函數(shù)形式,把這部分數(shù)據(jù)作為一個接口模塊和嵌入式系統(tǒng)配合起來進行編譯。以后需要運行插件的功能,通過地址跳轉(zhuǎn)的方式進入對應的模塊進行執(zhí)行。[0022]本發(fā)明的技術方案,在需要和第三方插件源文件的代碼進行配合但又不提供源代碼的嵌入式系統(tǒng)開發(fā)方面,減少和第三方插件源文件配合編譯的工作量,使車載嵌入式系統(tǒng)復用第三方插件,提高嵌入式系統(tǒng)開發(fā)效率,同時便于嵌入式系統(tǒng)代碼的靈活移植、提高系統(tǒng)擴展性。【專利附圖】【附圖說明】[0023]圖1是現(xiàn)有的車載嵌入式系統(tǒng)整合第三方插件的實施方案示意圖;[0024]圖2是本發(fā)明的一種車載嵌入式系統(tǒng)復用第三方插件的方法的流程示意圖;[0025]圖3是本發(fā)明的一種車載嵌入式系統(tǒng)復用第三方插件的方法的實施過程示意圖?!揪唧w實施方式】[0026]下面結合附圖具體闡明本發(fā)明的實施方式,附圖僅供參考和說明使用,不構成對本發(fā)明專利保護范圍的限制。[0027]如圖2所示,本實施例提供一種車載嵌入式系統(tǒng)復用第三方插件的方法,包括:[0028]A.將插件源文件的代碼指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;[0029]B.將所述插件源文件與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件;[0030]C.從可執(zhí)行文件里固定的地址空間分離出與插件源文件的代碼對應的數(shù)據(jù);[0031]D.將分離出的與插件源文件的代碼對應的數(shù)據(jù)分布存放在數(shù)組中,將所述數(shù)組內(nèi)容指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;[0032]E.將所述數(shù)組內(nèi)容作為接口模塊與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件。[0033]在本實施例中,步驟A包括:[0034]Al.在嵌入式系統(tǒng)的地址分配文件中,為插件源文件的代碼指定固定的地址空間;[0035]A2.在插件源文件中,根據(jù)將代碼生成到固定地址空間的命令,對代碼進行地址指定分配預處理。[0036]若插件源文件的代碼更改,將更改后的插件源文件與嵌入式系統(tǒng)文件重新進行步驟A至E。[0037]本發(fā)明的實施例說明了以下實施方案:在嵌入式系統(tǒng)和第三方插件進行過一次插件代碼組合后,在第三方插件功能沒有更改的前提下,后面的嵌入式系統(tǒng)開發(fā)過程中可復用和源代碼等效功能的編譯文件,減少嵌入式系統(tǒng)在開發(fā)過程中和第三方插件配合的次數(shù)。具體實施步驟如下:[0038](1)根據(jù)代碼編譯生成的文件可指定到固定地址段的原理,在嵌入式系統(tǒng)的地址分配文件里,為全部插件源文件的代碼(如Plugin,c)指定固定的地址空間。根據(jù)開發(fā)需要,可把文件拆分兩段或者三段地址空間。[0039]例如:[0040]把Plugin,c文件的代碼編譯后的二進制數(shù)據(jù)拆分為兩段地址空間進行存放。[0041]第一段開始地址范圍是:[0042]0x00020400?0x00020500(0x00020400+0x00000100)[0043]第二段開始地址范圍是:[0044]0x00020500?0x00021400(0x00020500+0x00000F00)[0045]testtablearea和testarea只是代碼段的標識符?!緳嗬蟆?.一種車載嵌入式系統(tǒng)復用第三方插件的方法,其特征在于,包括:A.將插件源文件的代碼指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;B.將所述插件源文件與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件;C.從可執(zhí)行文件里固定的地址空間分離出與插件源文件的代碼對應的數(shù)據(jù);D.將分離出的與插件源文件的代碼對應的數(shù)據(jù)分布存放在數(shù)組中,將所述數(shù)組內(nèi)容指定分配到嵌入式系統(tǒng)的地址分配文件中固定的地址空間;E.將所述數(shù)組內(nèi)容作為接口模塊與嵌入式系統(tǒng)文件組合、編譯、鏈接,生成可執(zhí)行文件。2.根據(jù)權利要求1所述的車載嵌入式系統(tǒng)復用第三方插件的方法,其特征在于:步驟A包括:A1.在嵌入式系統(tǒng)的地址分配文件中,為插件源文件的代碼指定固定的地址空間;A2.在插件源文件中,根據(jù)將代碼生成到固定地址空間的命令,對代碼進行地址指定分配預處理。3.根據(jù)權利要求1或2所述的車載嵌入式系統(tǒng)復用第三方插件的方法,其特征在于:若插件源文件的代碼更改,將更改后的插件源文件與嵌入式系統(tǒng)文件重新進行步驟A至E?!疚臋n編號】G06F9/44GK104360834SQ201410531844【公開日】2015年2月18日申請日期:2014年10月10日優(yōu)先權日:2014年10月10日【發(fā)明者】唐涌強,王滿紅,王錦鎮(zhèn),翁文超申請人:惠州市德賽西威汽車電子有限公司