Skip to main content
Visitor II
September 1, 2025
Question

Official ST Example BSP for b-u585i-iot02a

  • September 1, 2025
  • 2 replies
  • 334 views

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.

    This topic has been closed for replies.

    2 replies

    Super User
    September 1, 2025

    @lucadelf wrote:

    My code is running very slowly on the board..


    How "slowly", exactly ?

    lucadelfAuthor
    Visitor II
    September 2, 2025

    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