vivado sdk載入IQmath庫的問題

2021-08-21 08:17:58 字數 1765 閱讀 2791

在properties中的libraries中改動一下就會出問題(預設值-wl,--start-group,-lxil,-lgcc,-lc,--end-group),在編譯的時候自動在前 加上 -l 導致編譯錯誤,只能分開寫。

分開寫以後,就會出現_exit未定義。

f:/soft/xilinx2016/sdk/2016.4/gnu/aarch32/nt/gcc-arm-none-eabi/bin/../arm-none-eabi/libc/usr/lib/v7-a/fpv3/hard\libc.a(lib_a-exit.o): in function `exit':

/proj/esdt_sdk/gnu_abe/abe/builds/win/arm/arm-none-eabi/snapshots/newlib.git~linaro_newlib-branch/newlib/libc/stdlib/exit.c:70: undefined reference to `_exit'

解決方法:(更新:此方法可能會造成其他基本函式出現問題,如運用printf()時,會出現其他的函式未定義報錯)

不要都在properties中的libraries中改動。在libraries中只新增xil,在properties中c/c++ build 下的settings中 linker 中 miscellaneous視窗中的linker flags中新增 -wl,--start-group,-lgcc,-lc,--end-group 即可。

載入iqmath時,要將庫檔案重新命名為libiqmathlib.a,在libraries中新增iqmathlib即可載入庫檔案。

但是編譯會報錯,架構概要衝突,無法合併檔案的目標特定資料,十分奇怪。

f:/soft/xilinx2016/sdk/2016.4/gnu/aarch32/nt/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/bin/ld.exe: error: d:\0program\vivado2016\learn2016\canopen\canopen.sdk\canpwm_bsp\ps7_cortexa9_0\lib\libiqmathlib.a(iqnmpy.o): conflicting architecture profiles m/a

f:/soft/xilinx2016/sdk/2016.4/gnu/aarch32/nt/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file d:\0program\vivado2016\learn2016\canopen\canopen.sdk\canpwm_bsp\ps7_cortexa9_0\lib\libiqmathlib.a(iqnmpy.o)

發現了問題,似乎iqmathlib是乙個cortex-m庫,而不是cortex-a庫

更新解決方法:

在properties中c/c++ build 下的settings中 linker 中 libraries視窗中新增所需的庫名 即可

參考

vivado SDK 工程移植步驟

1 在原始vivado 工程上建立 sdk helloworld工程,命名為原工程名字,prj,並編譯一次 2 開啟sdk所在目錄,刪掉helloworld 資料夾 prj 除 cproject 和 project 檔案外的其他內容,將待移植工程 整體拷貝到 prj 資料夾裡 3 設定包含路徑,sd...

Vivado SDK生成 使用靜態庫

針對需要進行智財權保護的 可以通過庫的方式進行處理。在xilinx vivado環境下,針對non os環境,可以使用靜態庫 針對linux環境,可以使用靜態庫和動態庫。這裡,對non os環境下,靜態庫的生成和使用方法進行記錄。基本參考 xilinx sdk及其官網上的靜態庫生成和使用方法,我自己...

Linux下 vivado sdk 配置介面異常

linux 下 vivado sdk 配置介面異常 經查詢,是因為gtk3的問題,解決辦法是讓eclipse只使用gtk2。找到 sdk 的啟動指令碼 2016.4bin xsdk 我的如下 bin bash x export eclipse home usr lib eclipse jee exp...