cancel
Showing results for 
Search instead for 
Did you mean: 

Hardware and Software Debug

testbenchmark
Associate III

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? 

1 ACCEPTED SOLUTION

Accepted Solutions

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 Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

2 REPLIES 2

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 Venmo
Up vote any posts that you find helpful, it shows what's working..

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