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

首頁 > 新聞資訊
