Skip to main content
Graduate
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? 

    This topic has been closed for replies.
    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

    Graduate II
    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

    Graduate
    May 20, 2024

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