cancel
Showing results for 
Search instead for 
Did you mean: 

SAI_AudioPlayback example with ArmClang

Jnevi.1
Senior

Hi,

i tried the SAI_AudioPlayback example for the h745 discovery board. I'm using Keil and with the keil 5 armcc compiler everything works fine.

Now i switched to armclang 6 and replaced the "libPDMFilter_cm7_keil_wc16.lib" with "libPDMFilter_cm7_gcc_wc16.a" i can compile & run the program but soundoutput is not working.

i attached a screenshot. for the input i get pdm values but pcm is always zero. If i compile with armcc the pcm values are not zero.

is there something i have to configure? i think maybe it is some signed/unsigned problem? does anybody have a hint what can cause this error?

Regards

12 REPLIES 12

The name of the lib suggests that it is intended for gcc, not clang toolchain. Are you sure gcc and armclang are compatible on ABI level?

> signed/unsigned behaves different 

*This alone * should be very unlikely to change between gcc and clang.

it was a short enum/wchar problem .

https://community.st.com/s/question/0D50X0000AlgbG2SQI/arm6-compiler-support

So behaves differently is wrong, just the compiler options must fit.

and https://support.touchgfx.com/4.16/ja/docs/miscellaneous/known-issues#touchgfx-4140

touchgfx added armclang support and there it is said you should use the gcc libs. for touchgfx i can confirm it is compatible with armclang

Jnevi.1
Senior

looked into it again after all this time. pavel is right. it was a lib problem. i don't know if the files were changed or there were updates or it would have worked in the beginning. tried with the keil libs again and it works with armclang 6.19

maybe the touchgfx lib handling put me on the wrong track there.

it is not a cache problem it's a lib problem(made by me as it seems :( )

i recreated the project with cubemx for the 745 disco board and now it is working