我试图将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
进行几个项目,并希望坚持使用它,至少在一段时间内。