链接使用arm-none-eabi- Keil uVision Project构建的静态库

时间:2017-09-09 22:12:05

标签: c embedded keil stm32f4

我试图将Helix MP3 decoder添加到我的嵌入式项目中将近几天,但由于该库是使用gcc toolchain构建的,因此我在Keil uVision下编译了很多问题。

我认为唯一可行的选择是使用基于gcc的工具链创建一个静态lib.a文件,并将其与ArmLink中的uVision相关联。不幸的是,这对我也没有用。在我的Keil gcc项目中链接/包含我用uVision创建的库之后,我从链接器中得到了十几个错误,如下所示:

Error: L6242E: Cannot link object mp3dec.o as its attributes are incompatible with the image attributes.

我尝试将以下标志添加到编译器:--wchar32,但这导致链接器抱怨其他内容:

STM32F407_MPMB\STM32F407_MPMB.axf: Error: L6406E: No space in execution regions with .ANY selector matching buffers.o(.bss).

STM32F407_MPMB\STM32F407_MPMB.axf: Error: L6407E: Sections of aggregate size 0x6ac8 bytes could not fit into .ANY selector(s).

我对链接器脚本/选项,内存部分,分散文件不太熟悉,但如果有帮助,我很乐意了解它!

无论如何,使用基于Eclipse的gcc工具链完成任务我没有问题,但是,我最近开始使用Keil uVision进行几个项目,并希望坚持使用它,至少在一段时间内。

0 个答案:

没有答案