Skip to main content
KGane.1
Associate III
January 17, 2022
Question

STM32H753I HardFault_Handler() __iar_packbits_init_single3

  • January 17, 2022
  • 3 replies
  • 1658 views

I have simple application( LED toggling) built for STM32H753I-EVAl board using IAR EWARM Toolchain. I am using IAR I-Jet debugger to download and debug application.

When I download application, i am getting Fault exception

"the processor has escalated a configurable-priority exception to hardfault

am imprecise data access error has occurred"

Call Stack:

HardFault_Handler()

<Exception frame>

[__iar_packbits_init_single3 + 0x19]

<Unknown handler>

Seems the Reset_Handler in startup code calls SystemInit() and then __iar_program_start. The control never comes out the function to main().

What could cause fault exception toolchain specific functions.? Am I missing something in initialization? 

Observation: Sometimes the application is running successfully. The LED toggling is perfectly fine. Tried running application on two boards. Seeing fault exception on both boards but not always.

This topic has been closed for replies.

3 replies

TDK
Super User
January 17, 2022

Stay objective, stop guessing. Examine SCB and determine cause of hard fault and trace it to the source.

Probably a memory mismanagement issue.

edit: for imprecise faults, verify solid power scheme, decoupling caps, clock setup and wait states.

"If you feel a post has answered your question, please click ""Accept as Solution""."
KGane.1
KGane.1Author
Associate III
January 17, 2022

@TDK​ Thanks. Started looking into debugger log. Seems unhandled BusFault caused HardFault exception.

Sun Jan 16, 2022 19:20:21: Stopped by a vector catch: 

Sun Jan 16, 2022 19:20:21: BusFault fault escalated into HardFault 

Sun Jan 16, 2022 19:20:21: The BusFault handler is disabled 

Sun Jan 16, 2022 19:20:21: HardFault exception. 

Sun Jan 16, 2022 19:20:21: The processor has escalated a configurable-priority exception to HardFault. 

Sun Jan 16, 2022 19:20:21:  An imprecise data access error has occurred. 

Sun Jan 16, 2022 19:20:21:  

Sun Jan 16, 2022 19:20:21: Exception occured at: 0x800310e 

Sun Jan 16, 2022 19:20:21:  

Sun Jan 16, 2022 19:20:21: See the call stack for more information. 

What is confusing is why the failure is not consistent? Does it relate to timing issues in read/write of internal memory?

TDK
Super User
January 17, 2022
Not sure if you saw my edit. For imprecise error, verify clock and power settings, power rail, wait states.
"If you feel a post has answered your question, please click ""Accept as Solution""."
KGane.1
KGane.1Author
Associate III
January 17, 2022

@TDK​ Thanks. It seems data corruption during binary download is causing the problem. Download verification is failing. Trying to run failed binary is causing Hardfault.