本文檔用于指導(dǎo)客戶如何使用交叉編譯功能。本文檔基于TASKING_TriCore-VX_v6.3r1和v4.2r2編寫。
隨著AUTOSAR的廣泛使用,編譯器的更新速度越來越快,以滿足不斷變化的需求。由于汽車的開發(fā)流程較長(zhǎng),同一個(gè)項(xiàng)目的不同開發(fā)階段,會(huì)用到不同版本的TASKING版本,如果最終使用最新版本進(jìn)行編譯,之前老的版本的代碼需要重新進(jìn)行單元測(cè)試驗(yàn)證,以保證代碼安全。
交叉鏈接用于解決處理不同版本TASKING軟件之間開發(fā)的軟件最終使用同一個(gè)版本編譯器編譯的問題。因?yàn)橛貌煌姹揪帉懘a時(shí)所使用的編譯選項(xiàng)可能會(huì)有所不同,可以對(duì)現(xiàn)有的代碼生成.o對(duì)象文件后加到同一個(gè)版本里,這樣可以使用源代碼工程中的編譯選項(xiàng),保證已經(jīng)經(jīng)過驗(yàn)證的代碼不受影響。
下面的參數(shù)在編譯器中對(duì)于項(xiàng)目是統(tǒng)一設(shè)置的的:
--eabi=+bitfield-align
--eabi=+char-bitfield
--eabi=+half-word-align
--eabi=+word-struct-align
--fp-model=+float
--integer-enumeration
--mmu-on and --mmu-present
--signed-bitfields
--uchar
通過指定C編譯器選項(xiàng) --global-type-checking或C編譯器選項(xiàng)--debug-info 和鏈接器選項(xiàng)--global-type-checking來檢查因?yàn)檫@些選項(xiàng)使用不同設(shè)置導(dǎo)致的問題(或者使用MIL鏈接時(shí))。但是只有對(duì)舊的對(duì)象使用--global-type-checking 或者 --debug-info。
還要注意,編譯器的選項(xiàng)--eabi-compliant是一組--eabi選項(xiàng)標(biāo)準(zhǔn)的別名。為確保兼容性,當(dāng)您使用--eabi選項(xiàng)標(biāo)記char-bitfield(在v6.1r1中引入)時(shí),當(dāng)您交叉鏈接舊版本編譯出的對(duì)象文件時(shí),不應(yīng)禁用word-struct-align(在v6.2r1中引入)和bitfield-align(在v6.3r1中引入),既不是直接交換也不是通過選項(xiàng)--eabi-compliant
此外,建議將TriCore編譯器的以下選項(xiàng)對(duì)整個(gè)應(yīng)用程序或PIC模塊使用相同的值(這包括相應(yīng)的編譯指示)
--core
--default-a0-size
--default-a1-size
--default-near-size
--fp-model=+soft
--fp-model=+trap
--pic
--silicon-bug
在項(xiàng)目屬性àC/C++ BuildàSettingsàC/C++ CompileràMiscellaneous的Additional options里面添加相關(guān)的命令,或在命令行中進(jìn)行添加。
如何添加對(duì)象文件:
您可以將對(duì)象文件(.o)放到單獨(dú)的文件夾中,以方便您的文件管理及更新
按照下面的步驟添加對(duì)象文件
a. Open project Properties 打開項(xiàng)目屬性設(shè)置界面
b. C/C++ BuildàC/C++ Compilerà SettingsàLinkeràData Objects
添加完不同版本的對(duì)象文件,我們就可以重新編譯,生成新的elf及hex文件,用于調(diào)試。
關(guān)于億道電子
億道電子是國(guó)內(nèi)全面的開發(fā)工具提供商, 致力于將全球先進(jìn)的軟件產(chǎn)品引薦給國(guó)內(nèi)研發(fā)型企業(yè)使用,為企業(yè)提供研發(fā)、設(shè)計(jì)、管理過程中使用的各種軟件工具,并致力于和客戶一同提高研發(fā)、設(shè)計(jì)效率,縮短設(shè)計(jì)周期。億道電子先后與arm、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球知名公司建立戰(zhàn)略合作伙伴關(guān)系,并成為他們?cè)谥袊?guó)區(qū)的重要分銷合作伙伴。
億道電子專注開發(fā)、設(shè)計(jì)、管理工具數(shù)十年,客戶超過6000家,具有豐富的工具使用及客戶支持經(jīng)驗(yàn)積累,可以為客戶提供從arm開發(fā)、EDA板級(jí)設(shè)計(jì)、軟件編譯及測(cè)試工具、結(jié)構(gòu)設(shè)計(jì)工具、多物理場(chǎng)仿真工具以及嵌入式GUI工具等產(chǎn)品與服務(wù)。億道電子在北京、上海、深圳設(shè)有分公司,業(yè)務(wù)遍布全國(guó)。