0

I am developing an application for ST's STM32F4-Discovery development kit with the ARM Cortex-M4F core.

I am using FreeRTOS in my application, which is intended to use the board's microphone and loudspeaker output.

I am trying to use ST's audio playback and record demo as an example for setting up the I2S interface for the mic. But I am having a real hard time with the PDM filter library of this example. This library is provided as a .a file and when I try to copy it into my project I get this message during linking:

Fatal Error[Li004]: file "C:\Users\Daniel\Desktop\FreeRTOSV7.3.0\FreeRTOS\Demo\CORTEX_M4F_STM32F407ZG-SK\libPDMFilter_IAR.a" is not an object or archive file

I tried messing with the linker options and saying to manually add this library. But with no results. Does anyone knows how to link a .a library in IAR?

mnel
  • 113,303
  • 27
  • 265
  • 254
franchzilla
  • 55
  • 2
  • 7

1 Answers1

0

Well, if the linker is complaining about the .a file not being a library it means that EWARM is passing the .a file to the linker, so tinkering with linker options will probably not work. I would rather suspect that your .a file is corrupt in some way. If you open your .a file in an editor, it should start with the string !<arch>.

JesperE
  • 63,317
  • 21
  • 138
  • 197