Skip to main content
Associate III
May 20, 2024
Solved

Hardware and Software Debug

  • May 20, 2024
  • 1 reply
  • 1096 views

Can somebody explain what is the hardware and software breakpoint ?

When I add a breakpoint in STM32CubeIDE, what is the type of this breakpoint ?

What is the difference between these two? 

Best answer by Tesla DeLorean

Hardware is where the FPB/DWT are trapping based on address access within the memory space.

Software would be where you're physically placing a BKPT instruction into the execution path.

Typically you're using the former, as it doesn't change your code.

https://developer.arm.com/documentation/100166/0001/Debug/Flash-Patch-and-Breakpoint-Unit--FPB-

https://developer.arm.com/documentation/dui0497/a/the-cortex-m0-instruction-set/miscellaneous-instructions/bkpt?lang=en

https://stackoverflow.com/questions/11345371/how-do-i-set-a-software-breakpoint-on-an-arm-processor

1 reply

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
May 20, 2024

Hardware is where the FPB/DWT are trapping based on address access within the memory space.

Software would be where you're physically placing a BKPT instruction into the execution path.

Typically you're using the former, as it doesn't change your code.

https://developer.arm.com/documentation/100166/0001/Debug/Flash-Patch-and-Breakpoint-Unit--FPB-

https://developer.arm.com/documentation/dui0497/a/the-cortex-m0-instruction-set/miscellaneous-instructions/bkpt?lang=en

https://stackoverflow.com/questions/11345371/how-do-i-set-a-software-breakpoint-on-an-arm-processor

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Associate III
May 20, 2024

Thank you Tesla DeLorean I will check the links that you shared.