CMSIS-DSP应用程序的编译,.a库无法识别

时间:2019-08-14 13:28:24

标签: c++ eclipse gcc arm cmsis

我正在使用GNU MCU ECLIPSE和ARM工具链来定位CortexM MCU,我想使用CMSIS DSP库中的功能。 我从https://github.com/ARM-software/CMSIS_5的存储库中下载了该库,并在编译器设置中添加了包含的路径,并在链接器选项中添加了文件夹C:/ workspace / CMSIS / DSP / Lib / GCC作为路径。搜索库,并在库中添加了“ arm_cortexM3l_math”。 当我尝试构建时出现错误

arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections  -g3 -Xlinker --gc-sections -L"C:\workspace\eclipse_tools\CMSIS_5-develop\CMSIS\DSP\Lib\GCC" -Wl,-Map,"hello6.map" --specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group -o "hello6.elf"  ./src/main.o   -larm_cortexM3l_math
c:/workspace/eclipse_tools/arm embedded gcc/8.2.1-1.7-20190524-0603/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld.exe:C:\workspace\eclipse_tools\CMSIS_5-develop\CMSIS\DSP\Lib\GCC\libarm_cortexM3l_math.a: file format not recognized; treating as linker script
c:/workspace/eclipse_tools/arm embedded gcc/8.2.1-1.7-20190524-0603/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/bin/ld.exe:C:\workspace\eclipse_tools\CMSIS_5-develop\CMSIS\DSP\Lib\GCC\libarm_cortexM3l_math.a:1: syntax error

我不明白为什么链接器无法读取.a格式的库。我已经尝试在Windows和Linux以及GNU MCU Eclipse ARM嵌入式GCC和GNU ARM嵌入式工具链上进行干净的Eclipse安装。 Windows的构建工具也已正确安装。

1 个答案:

答案 0 :(得分:0)

我意识到,尽管这些文件看起来像库,但它们还是占位符,因为它们只有几个字节。然后,我从这里下载并解压缩CMSIS包: https://developer.arm.com/tools-and-software/embedded/cmsis/cmsis-packs (子菜单ARM-> CMSIS) 并且现在可以使用相同的文件。

所以我想它们还没有编译?但是存储库中没有makefile,我应该如何构建它们?

@andy芒果,谢谢,文件命令确实返回了“ ASCII文本文件”