mirror of
https://github.com/openocd-org/openocd.git
synced 2025-10-14 02:58:23 +08:00
target: cortex_m: add comment for breakpoint of length 3
Add a comment in the breakpoint code to clarify the check for the
odd breakpoint length of 3 bytes, introduced by [1].
[1]: commit 0a5e03c12a
("cortex_m.c: Use two byte breakpoint for
32bit Thumb-2 request").
Change-Id: I024863d10078b5d9062c876aa59ccf70a81bf641
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9139
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
This commit is contained in:
@@ -2041,6 +2041,15 @@ int cortex_m_unset_breakpoint(struct target *target, struct breakpoint *breakpoi
|
|||||||
|
|
||||||
int cortex_m_add_breakpoint(struct target *target, struct breakpoint *breakpoint)
|
int cortex_m_add_breakpoint(struct target *target, struct breakpoint *breakpoint)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* GDB packets Z0 and z0 provide the 'kind' parameter that is target-specific
|
||||||
|
* and typically indicates the size in bytes of the breakpoint.
|
||||||
|
* But for 32-bit Thumb mode (Thumb-2) breakpoint, GDB provides 'kind = 3' to
|
||||||
|
* be used to derive the length information. See:
|
||||||
|
* https://sourceware.org/gdb/current/onlinedocs/gdb.html/ARM-Breakpoint-Kinds.html
|
||||||
|
* Since there isn't a four byte Thumb-2 breakpoint instruction, always use
|
||||||
|
* the two bytes breakpoint instruction.
|
||||||
|
*/
|
||||||
if (breakpoint->length == 3) {
|
if (breakpoint->length == 3) {
|
||||||
LOG_TARGET_DEBUG(target, "Using a two byte breakpoint for 32bit Thumb-2 request");
|
LOG_TARGET_DEBUG(target, "Using a two byte breakpoint for 32bit Thumb-2 request");
|
||||||
breakpoint->length = 2;
|
breakpoint->length = 2;
|
||||||
|
Reference in New Issue
Block a user