2025-09-30 12:41 PM
I have STM32H753I-EVAL2 board and I want to set it up as an USB Speaker device.
I see 3 protect that can make this as such, which are:
Name | Board | Board Type | STM32CubeMX Version | SW Package Installed |
Ux_Device_Audio_2.0 | STM32N6570-DK | Nucleo-64 | NA | TRUE |
Ux_Device_Audio_2.0_Standalone | STM32N6570-DK | Nucleo-64 | NA | TRUE |
Ux_Device_Audio2.0_PlayBack | STM32H743I-EVAL | Nucleo-64 | 6.15.0 | TRUE |
Two things...
1) I don't want RTOS, but STM32H743I-EVAL has RTOS, and the one I'm looking for is on the wrong board. So... What advantage do I have using RTOS? Can I use the Standalone one and change the board somehow in the code? I haven't done much comparison to know, I've been overwhelmed trying to understand the organization of the project.
2) When I do download, install and run the Ux_Device_Audio2.0_PlayBack anyway, the program is running. I see the USB being enumerated as a speaker on my laptop. Issue is, everything is fine, but when I try to play an audio, it runs into a fault -- > `void HardFault_Handler(void))`
I can't tell where it's being called, but the stack is as such:
Any idea why I can't play audio out?
2025-09-30 12:51 PM
1 > no, you can use an RTOS or not....as on any other cpu .
2 > 0xFFFFF ...maybe using a not initialized pointer, or calling a non existent function...?
2025-09-30 1:01 PM
I quickly searched in the community forum what do I do for HardFault_Handler(). Saw someone mention Fault Analyzer, and it shows:
Hard Fault Details: Bus, memory management or usage fault (FORCED)
Bus Fault Details: Imprecise data access violation (IMPRECISERR)
I'm new to this technology and I did not add or modify anything in the example code. Not sure what to do next, but I'll keep searching on.
2025-09-30 1:05 PM
I am now reading this: https://community.st.com/t5/stm32-mcus/how-to-debug-a-hardfault-on-an-arm-cortex-m-stm32/ta-p/672235
To be updated soon...