cancel
Showing results for 
Search instead for 
Did you mean: 

Official ST Example BSP for b-u585i-iot02a

lucadelf
Associate II

I adapted the official BSP example code (available at https://www.st.com/en/embedded-software/stm32cubeu5.html, stm32cubeu5-v1-8-0.zip) to acquire and process audio.

My code is running very slowly on the board.

We thought the slowdown might be due to other features enabled by default that I don’t need.

Therefore, I created a project from scratch, enabling only the pins I need, but I’m doing something wrong with the GPDMA1 and MDF1/ADF1 filter configuration (even callbacks don't work).

Could you provide an example .ioc file with the integrated microphone configured correctly (with GPDMA1) or, alternatively, the BSP .ioc project itself (which is not included in the official example you provide)?

Thank you.

2 REPLIES 2
Andrew Neil
Super User

@lucadelf wrote:

My code is running very slowly on the board..


How "slowly", exactly ?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
lucadelf
Associate II

Hi Andrew,

The system is designed to capture audio every 250 ms from the board’s onboard microphone using HAL_MDF_AcqStart_DMA(...), and then process the data with other functions and an AI.

My project on the virtualized board provided by Corellium works and performs processing every 250 ms. However, when I run the same program on the physical board a single processing cycle takes about 2 seconds — roughly eight times slower than the virtualized environment.

I tried starting the project from scratch but I can’t configure the pins for DMA microphone acquisition. Could someone explain in detail how to set up the ADF/MDF pins and the GPDMA1 settings so DMA-based microphone capture works? At this moment, audio acquisition don't even start and callbacks don't work.

Thanks,
Luca