Skip to main content
Associate III
July 22, 2026
Question

Program goes into hardfault mode on NUCLEO F767ZI, but not on NUCLEO H7S3L8

  • July 22, 2026
  • 6 replies
  • 94 views

The code I’ve written in main.c for a program on NUCLEO H7S3L8 works perfectly fine, but on NUCLEO F767ZI goes into hardfault mode when reaching line 455 “mfcc_compute(mfcc_left, audio_buffer_16bit_left, mfcc_feature_left);” (more precisely, inside this function, at line 263 “float last = (float)audio_data[0] / (1 << 15);”). Can someone tell me how to solve the problem? I’ve declared arrays static to not go into stack overflow. Can someone tell me how to solve the problem? (Int_mic_F7 is the project for NUCLEO F767ZI while audio.zip is the project for NUCLEO H7S3L8) 

6 replies

mƎALLEm
ST Technical Moderator
July 22, 2026

Hello,

1- How to debug a HardFault on an Arm® Cortex®-M STM32

2- Same code running on a STM32 family but not in the another: did you take into account the memory addresses change/architecture between both products? 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
s319189Author
Associate III
July 22, 2026
  1. Hardfault analyzer gives as errors “Bus, memory management or usage fault (FORCED)” and “Precise data access violation (PRECISERR)”. If you are an ST Employee, could you please provide a little bit in depth of support, instead of just saying “just look at this link”? Otherwise I’ll leave a negative review of the board where I bought it.
  1. Yes I have taken into account this problem and the code was originally written for a working project on a STM32L476 (https://medium.com/analytics-vidhya/real-time-rnn-speech-noise-suppression-on-a-microcontroller-stm32-e17d8c3eac57) and I have noticed that only STM32F767ZI has this problem and I don’t have the minimum idea of what more precisely the problem is and how it can be solved.

 

mƎALLEm
ST Technical Moderator
July 23, 2026

 If you are an ST Employee, could you please provide a little bit in depth of support, instead of just saying “just look at this link”?

1- We provide such articles so users can benefit from technical aspects. Why bother ourselves doing this effort?

2- ST Employee = doesn't mean I should answer all of your your questions and we are not here to do your job. This is not a support channel! This is a community.

Otherwise I’ll leave a negative review of the board where I bought it.

OK no problem go ahead then ..

Yes I have taken into account this problem and the code was originally written for a working project on a STM32L476 (https://medium.com/analytics-vidhya/real-time-rnn-speech-noise-suppression-on-a-microcontroller-stm32-e17d8c3eac57)

That’s not a ST deliverable. 

Good luck

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
Associate II
July 22, 2026
  /* set Mfcc DPU to controller */  IDPU * p_dpu = MfccTaskGetDpu((MfccTask_t*)spMfccObj);  AppControllerSetPreprocessDPU((AppController_t*)spControllerObj, p_dpu);

 F767ZI seems dont have DPU inside...

s319189Author
Associate III
July 22, 2026

at what line of code should i insert these two suggested lines?

 

Associate II
July 22, 2026

the code is copy from H7S3L8 reference design code. Since the code imply DPU need to make Mfcc work while F767ZI dont have, you may need to skip the mfcc function if you still need to use F767ZI. Is mfcc functino must for you?

AI:FP-AI-MONITOR1 an introduction to the technology behind - stm32mcu