cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F4 project failed to compile with binary libPDMFilter_Keil.lib

eigenroot
Associate II
Posted on November 16, 2015 at 01:03

I am trying to follow Application Note 3998 ''PDM audio software decoding on STM32 microcontrollers'' to convert the recorded PDM signal to PCM data. I copy the ''pdm_filter.h'' and ''libPDMFilter_Keil.lib'' files provided in the firmware package to the directory of source code. The code fails to compile and generate error like 

''.\_build\STM32F401C-DISCO.axf: Error: L6218E: Undefined symbol PDM_Filter_Init (referred from selftest.o).''

The ''PDM_Filter_Init'' is a function declared in ''pdm_filter.h''. So I am guessing somehow the other file ''libPDMFilter_Keil.lib'' fails to be included in the compiling, or for some other reasons I don't understand. Could anyone point out what I am missing? 

#audio-middleware #stm32f4-discovery-pdm-filter
3 REPLIES 3
Posted on November 16, 2015 at 01:55

Ok, but do you ADD libPDMFilter_Keil.lib to the project? Not to the directory, to the project itself.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
eigenroot
Associate II
Posted on November 16, 2015 at 03:32

I added the lib binary, and now it works. Thanks!

I used to only add the headers of library files and the project could always compile. Maybe that only works for the ''filename,{c, h}'' pairs. 

Posted on November 16, 2015 at 04:13

Include files simple describe the interface, you still need the body of the functions supplied by .c or .lib/.a files.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..