You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(75) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(70) |
Feb
(20) |
Mar
(52) |
Apr
(149) |
May
(387) |
Jun
(466) |
Jul
(133) |
Aug
(87) |
Sep
(122) |
Oct
(140) |
Nov
(185) |
Dec
(105) |
| 2010 |
Jan
(85) |
Feb
(45) |
Mar
(75) |
Apr
(17) |
May
(41) |
Jun
(52) |
Jul
(33) |
Aug
(29) |
Sep
(36) |
Oct
(15) |
Nov
(26) |
Dec
(34) |
| 2011 |
Jan
(26) |
Feb
(25) |
Mar
(26) |
Apr
(29) |
May
(20) |
Jun
(27) |
Jul
(15) |
Aug
(32) |
Sep
(13) |
Oct
(64) |
Nov
(60) |
Dec
(10) |
| 2012 |
Jan
(64) |
Feb
(63) |
Mar
(39) |
Apr
(43) |
May
(54) |
Jun
(11) |
Jul
(30) |
Aug
(45) |
Sep
(11) |
Oct
(70) |
Nov
(24) |
Dec
(23) |
| 2013 |
Jan
(17) |
Feb
(8) |
Mar
(35) |
Apr
(40) |
May
(20) |
Jun
(24) |
Jul
(36) |
Aug
(25) |
Sep
(42) |
Oct
(40) |
Nov
(9) |
Dec
(21) |
| 2014 |
Jan
(29) |
Feb
(24) |
Mar
(60) |
Apr
(22) |
May
(22) |
Jun
(46) |
Jul
(11) |
Aug
(23) |
Sep
(26) |
Oct
(10) |
Nov
(14) |
Dec
(2) |
| 2015 |
Jan
(28) |
Feb
(47) |
Mar
(33) |
Apr
(58) |
May
(5) |
Jun
(1) |
Jul
|
Aug
(8) |
Sep
(12) |
Oct
(25) |
Nov
(58) |
Dec
(21) |
| 2016 |
Jan
(12) |
Feb
(40) |
Mar
(2) |
Apr
(1) |
May
(67) |
Jun
(2) |
Jul
(5) |
Aug
(36) |
Sep
|
Oct
(24) |
Nov
(17) |
Dec
(50) |
| 2017 |
Jan
(14) |
Feb
(16) |
Mar
(2) |
Apr
(35) |
May
(14) |
Jun
(16) |
Jul
(3) |
Aug
(3) |
Sep
|
Oct
(19) |
Nov
|
Dec
(16) |
| 2018 |
Jan
(55) |
Feb
(11) |
Mar
(34) |
Apr
(14) |
May
(4) |
Jun
(20) |
Jul
(39) |
Aug
(16) |
Sep
(17) |
Oct
(16) |
Nov
(20) |
Dec
(30) |
| 2019 |
Jan
(29) |
Feb
(24) |
Mar
(37) |
Apr
(26) |
May
(19) |
Jun
(21) |
Jul
(2) |
Aug
(3) |
Sep
(9) |
Oct
(12) |
Nov
(12) |
Dec
(12) |
| 2020 |
Jan
(47) |
Feb
(36) |
Mar
(54) |
Apr
(44) |
May
(37) |
Jun
(19) |
Jul
(32) |
Aug
(13) |
Sep
(16) |
Oct
(24) |
Nov
(32) |
Dec
(11) |
| 2021 |
Jan
(14) |
Feb
(5) |
Mar
(40) |
Apr
(32) |
May
(42) |
Jun
(31) |
Jul
(29) |
Aug
(47) |
Sep
(38) |
Oct
(17) |
Nov
(74) |
Dec
(33) |
| 2022 |
Jan
(11) |
Feb
(15) |
Mar
(40) |
Apr
(21) |
May
(39) |
Jun
(44) |
Jul
(19) |
Aug
(46) |
Sep
(79) |
Oct
(35) |
Nov
(21) |
Dec
(15) |
| 2023 |
Jan
(56) |
Feb
(13) |
Mar
(43) |
Apr
(28) |
May
(60) |
Jun
(15) |
Jul
(29) |
Aug
(28) |
Sep
(32) |
Oct
(21) |
Nov
(42) |
Dec
(39) |
| 2024 |
Jan
(35) |
Feb
(17) |
Mar
(28) |
Apr
(7) |
May
(14) |
Jun
(35) |
Jul
(30) |
Aug
(35) |
Sep
(30) |
Oct
(28) |
Nov
(38) |
Dec
(18) |
| 2025 |
Jan
(21) |
Feb
(28) |
Mar
(36) |
Apr
(35) |
May
(34) |
Jun
(58) |
Jul
(9) |
Aug
(54) |
Sep
(47) |
Oct
(15) |
Nov
(68) |
Dec
(18) |
| 2026 |
Jan
(30) |
Feb
(31) |
Mar
(9) |
Apr
(15) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: openocd-gerrit <ope...@us...> - 2026-02-01 14:55:55
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via bcfa2bc6b57449e87750ef180fcc5b1bc47765d5 (commit)
from 5e7182368ee82f0b759a428be29c49833fde36c5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bcfa2bc6b57449e87750ef180fcc5b1bc47765d5
Author: Marc Schink <de...@za...>
Date: Mon Sep 1 11:04:36 2025 +0200
README: Use Markdown extension
Ensures proper rendering on GitHub [1] / GitLab, clarifies that Markdown
syntax is expected from contributors, and enables editor syntax
highlighting.
[1] https://github.com/openocd-org/openocd
Change-Id: Icaff52ed2bf7d6f32b5812b5aff1c081e8b7507a
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9388
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/Makefile.am b/Makefile.am
index 845543721..79bc599e6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-AUTOMAKE_OPTIONS = gnu 1.14
+AUTOMAKE_OPTIONS = foreign 1.14
.DELETE_ON_ERROR:
@@ -63,8 +63,8 @@ EXTRA_DIST += \
BUGS \
HACKING \
NEWTAPS \
- README.Windows \
- README.macOS \
+ README.Windows.md \
+ README.macOS.md \
$(EXTRA_DIST_NEWS) \
Doxyfile.in \
LICENSES/license-rules.txt \
diff --git a/README.Windows b/README.Windows.md
similarity index 97%
rename from README.Windows
rename to README.Windows.md
index 293eed975..b0d4e085f 100644
--- a/README.Windows
+++ b/README.Windows.md
@@ -5,7 +5,7 @@ You can build OpenOCD for Windows natively with either MinGW-w64/MSYS
or Cygwin (plain MinGW might work with --disable-werror but is not
recommended as it doesn't provide enough C99 compatibility).
Alternatively, one can cross-compile it using MinGW-w64 on a *nix
-host. See README for the generic instructions.
+host. See README.md for the generic instructions.
Also, the MSYS2 project provides both ready-made binaries and an easy
way to self-compile from their software repository out of the box.
diff --git a/README.macOS b/README.macOS.md
similarity index 97%
rename from README.macOS
rename to README.macOS.md
index 91d5e9261..cc1e1c733 100644
--- a/README.macOS
+++ b/README.macOS.md
@@ -41,7 +41,7 @@ MacPorts' libraries, so run configure like this:
LDFLAGS=-L/opt/local/lib CPPFLAGS=-I/opt/local/include ./configure [options]
-See README for the generic building instructions.
+See README.md for the generic building instructions.
If you're using a USB adapter and have a driver kext matched to it,
you will need to unload it prior to running OpenOCD. E.g. with Apple
diff --git a/README b/README.md
similarity index 100%
rename from README
rename to README.md
diff --git a/configure.ac b/configure.ac
index d0ab15b62..b77b516d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@ AS_IF([test "x$MAKEINFO" = "x"], [
])
AC_SUBST([MAKEINFO])
-AM_INIT_AUTOMAKE([-Wall -Wno-portability dist-bzip2 dist-zip subdir-objects])
+AM_INIT_AUTOMAKE([foreign -Wall -Wno-portability dist-bzip2 dist-zip subdir-objects])
AC_CONFIG_HEADERS([config.h])
diff --git a/doc/openocd.texi b/doc/openocd.texi
index df0c87382..325235bb7 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -239,7 +239,7 @@ needing a Git client:
@uref{http://repo.or.cz/w/openocd.git}
-The @file{README} file contains the instructions for building the project
+The @file{README.md} file contains the instructions for building the project
from the repository or a snapshot.
Developers that want to contribute patches to the OpenOCD system are
diff --git a/tools/scripts/checkpatch.pl b/tools/scripts/checkpatch.pl
index 89f0a2178..9232c83a3 100755
--- a/tools/scripts/checkpatch.pl
+++ b/tools/scripts/checkpatch.pl
@@ -1417,14 +1417,14 @@ sub top_of_kernel_tree {
if (!$OpenOCD) {
my @tree_check = (
"COPYING", "CREDITS", "Kbuild", "MAINTAINERS", "Makefile",
- "README", "Documentation", "arch", "include", "drivers",
+ "README.md", "Documentation", "arch", "include", "drivers",
"fs", "init", "ipc", "kernel", "lib", "scripts",
);
} # !$OpenOCD
# OpenOCD specific: Begin
my @tree_check = (
"AUTHORS", "BUGS", "COPYING", "HACKING", "Makefile.am",
- "README", "contrib", "doc", "src", "tcl", "testing", "tools",
+ "README.md", "contrib", "doc", "src", "tcl", "testing", "tools",
);
# OpenOCD specific: End
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 6 +++---
README.Windows => README.Windows.md | 2 +-
README.macOS => README.macOS.md | 2 +-
README => README.md | 0
configure.ac | 2 +-
doc/openocd.texi | 2 +-
tools/scripts/checkpatch.pl | 4 ++--
7 files changed, 9 insertions(+), 9 deletions(-)
rename README.Windows => README.Windows.md (97%)
rename README.macOS => README.macOS.md (97%)
rename README => README.md (100%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-02-01 14:51:48
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 5e7182368ee82f0b759a428be29c49833fde36c5 (commit)
from 00e4fb653d6bdbc22794f07845be7af7ee310275 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5e7182368ee82f0b759a428be29c49833fde36c5
Author: Antonio Borneo <bor...@gm...>
Date: Sun Jan 4 17:34:39 2026 +0100
server: close the TCP socket while stopping a service
The function free_service() does not close the TCL socket when the
service is shutdown.
Add the necessarily code.
Change-Id: I58c5c4fee3111949fcc143c6226522c29d976493
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9376
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/server/server.c b/src/server/server.c
index 7cb396780..0b957836d 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -193,6 +193,8 @@ static void free_service(struct service *c)
{
if (c->type == CONNECTION_PIPE && c->fd != -1)
close(c->fd);
+ if (c->type == CONNECTION_TCP && c->fd != -1)
+ close_socket(c->fd);
if (c->service_dtor)
c->service_dtor(c);
free(c->name);
-----------------------------------------------------------------------
Summary of changes:
src/server/server.c | 2 ++
1 file changed, 2 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-02-01 14:51:30
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 00e4fb653d6bdbc22794f07845be7af7ee310275 (commit)
from b10372f0d2b90b17ea0eef5a1ec2bb6492f4fced (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 00e4fb653d6bdbc22794f07845be7af7ee310275
Author: Antonio Borneo <bor...@gm...>
Date: Sun Jan 4 17:43:31 2026 +0100
target: openrisc: jsp_server: check for out of memory, fix memory leak
During JSP service start, check that memory is properly allocated
and if add_service() fails release the allocated memory.
Change-Id: I7eb2ea8a10dbeccd27fd39485080552c5d0736d3
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9375
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/target/openrisc/jsp_server.c b/src/target/openrisc/jsp_server.c
index 99abcde11..60cbb4983 100644
--- a/src/target/openrisc/jsp_server.c
+++ b/src/target/openrisc/jsp_server.c
@@ -195,10 +195,19 @@ static const struct service_driver jsp_service_driver = {
int jsp_init(struct or1k_jtag *jtag_info, char *banner)
{
struct jsp_service *jsp_service = malloc(sizeof(struct jsp_service));
+ if (!jsp_service) {
+ LOG_ERROR("Out of memory");
+ return ERROR_FAIL;
+ }
+
jsp_service->banner = banner;
jsp_service->jtag_info = jtag_info;
- return add_service(&jsp_service_driver, jsp_port, 1, jsp_service);
+ int retval = add_service(&jsp_service_driver, jsp_port, 1, jsp_service);
+ if (retval != ERROR_OK)
+ free(jsp_service);
+
+ return retval;
}
COMMAND_HANDLER(handle_jsp_port_command)
-----------------------------------------------------------------------
Summary of changes:
src/target/openrisc/jsp_server.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-02-01 14:51:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via b10372f0d2b90b17ea0eef5a1ec2bb6492f4fced (commit)
via 70d4ac0395c100b398a19db6dbb213fec8dc82e3 (commit)
from f275432b270d40af1b37bf6fe53ac2f3fb4f1689 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b10372f0d2b90b17ea0eef5a1ec2bb6492f4fced
Author: Antonio Borneo <bor...@gm...>
Date: Sun Jan 4 17:40:43 2026 +0100
server: gdb_server: check for out of memory and fix a memory leak
During GDB service start, check that memory is properly allocated
and if add_service() fails release the allocated memory.
While there, modify the code following the coding style.
Change-Id: Iebd1481a82f7391c110c5f6ad9878ba4abf052b3
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9374
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index a989bda57..6866f6e9d 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -3881,12 +3881,11 @@ static const struct service_driver gdb_service_driver = {
static int gdb_target_start(struct target *target, const char *port)
{
- struct gdb_service *gdb_service;
- int ret;
- gdb_service = malloc(sizeof(struct gdb_service));
-
- if (!gdb_service)
- return -ENOMEM;
+ struct gdb_service *gdb_service = malloc(sizeof(struct gdb_service));
+ if (!gdb_service) {
+ LOG_ERROR("Out of memory");
+ return ERROR_FAIL;
+ }
LOG_TARGET_INFO(target, "starting gdb server on %s", port);
@@ -3895,17 +3894,22 @@ static int gdb_target_start(struct target *target, const char *port)
gdb_service->core[1] = -1;
target->gdb_service = gdb_service;
- ret = add_service(&gdb_service_driver, port, target->gdb_max_connections, gdb_service);
+ int retval = add_service(&gdb_service_driver, port,
+ target->gdb_max_connections, gdb_service);
+ if (retval != ERROR_OK) {
+ free(gdb_service);
+ return retval;
+ }
+
/* initialize all targets gdb service with the same pointer */
- {
- struct target_list *head;
- foreach_smp_target(head, target->smp_targets) {
- struct target *curr = head->target;
- if (curr != target)
- curr->gdb_service = gdb_service;
- }
+ struct target_list *head;
+ foreach_smp_target(head, target->smp_targets) {
+ struct target *curr = head->target;
+ if (curr != target)
+ curr->gdb_service = gdb_service;
}
- return ret;
+
+ return ERROR_OK;
}
static int gdb_target_add_one(struct target *target)
commit 70d4ac0395c100b398a19db6dbb213fec8dc82e3
Author: Antonio Borneo <bor...@gm...>
Date: Sun Jan 4 17:37:30 2026 +0100
target: arm_tpiu_swo: fix memory leak on add_service() failure
When add_service() fails, the caller has to free() the private
data.
Add the missing free().
Change-Id: I998782ad3a2612dd289e269e889a3c6912fd8461
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9373
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/target/arm_tpiu_swo.c b/src/target/arm_tpiu_swo.c
index afdd8ce91..715b1c962 100644
--- a/src/target/arm_tpiu_swo.c
+++ b/src/target/arm_tpiu_swo.c
@@ -739,6 +739,7 @@ COMMAND_HANDLER(handle_arm_tpiu_swo_enable)
CONNECTION_LIMIT_UNLIMITED, priv);
if (retval != ERROR_OK) {
command_print(CMD, "Can't configure trace TCP port %s", &obj->out_filename[1]);
+ free(priv);
return retval;
}
} else if (strcmp(obj->out_filename, "-")) {
-----------------------------------------------------------------------
Summary of changes:
src/server/gdb_server.c | 34 +++++++++++++++++++---------------
src/target/arm_tpiu_swo.c | 1 +
2 files changed, 20 insertions(+), 15 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-02-01 14:50:48
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via f275432b270d40af1b37bf6fe53ac2f3fb4f1689 (commit)
from b9e40161613fd880fc85fdb357365b70e646ff23 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f275432b270d40af1b37bf6fe53ac2f3fb4f1689
Author: Antonio Borneo <bor...@gm...>
Date: Sun Jan 4 17:23:12 2026 +0100
server: fix double free() on add_service() early return
The function add_service() can return on error when cannot create
the new service. In this case the caller cannot assume that the
parameter 'priv' has been taken in consideration and it should
take care of free() it.
To avoid a double free(), add_service() should not free() the
parameter 'priv' if it exits with error.
Replace the call to free_service() with a dedicated exit path on
error.
Change-Id: I340ec3ee46f471f31170c6717ed74fb632f0da20
Signed-off-by: Antonio Borneo <bor...@gm...>
Reported-by: Karl Palsson <ka...@tw...>
Fixes: 171454fffad3 ("server: fix a new double free()")
Fixes: 5ff384be086a ("semihosting: fix memory leak and double free")
Reviewed-on: https://review.openocd.org/c/openocd/+/9372
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/server/server.c b/src/server/server.c
index 81d79d41b..7cb396780 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -208,7 +208,11 @@ int add_service(const struct service_driver *driver, const char *port,
struct hostent *hp;
int so_reuseaddr_option = 1;
- c = malloc(sizeof(struct service));
+ c = calloc(1, sizeof(*c));
+ if (!c) {
+ LOG_ERROR("Out of memory");
+ return ERROR_FAIL;
+ }
c->name = strdup(driver->name);
c->port = strdup(port);
@@ -223,6 +227,12 @@ int add_service(const struct service_driver *driver, const char *port,
c->service_dtor = driver->service_dtor_handler;
c->priv = priv;
c->next = NULL;
+
+ if (!c->name || !c->port) {
+ LOG_ERROR("Out of memory");
+ goto error;
+ }
+
long portnumber;
if (strcmp(c->port, "pipe") == 0)
c->type = CONNECTION_STDINOUT;
@@ -242,8 +252,7 @@ int add_service(const struct service_driver *driver, const char *port,
c->fd = socket(AF_INET, SOCK_STREAM, 0);
if (c->fd == -1) {
LOG_ERROR("error creating socket: %s", strerror(errno));
- free_service(c);
- return ERROR_FAIL;
+ goto error;
}
setsockopt(c->fd,
@@ -264,8 +273,7 @@ int add_service(const struct service_driver *driver, const char *port,
if (!hp) {
LOG_ERROR("couldn't resolve bindto address: %s", bindto_name);
close_socket(c->fd);
- free_service(c);
- return ERROR_FAIL;
+ goto error;
}
memcpy(&c->sin.sin_addr, hp->h_addr_list[0], hp->h_length);
}
@@ -274,8 +282,7 @@ int add_service(const struct service_driver *driver, const char *port,
if (bind(c->fd, (struct sockaddr *)&c->sin, sizeof(c->sin)) == -1) {
LOG_ERROR("couldn't bind %s to socket on port %d: %s", c->name, c->portnumber, strerror(errno));
close_socket(c->fd);
- free_service(c);
- return ERROR_FAIL;
+ goto error;
}
#ifndef _WIN32
@@ -294,8 +301,7 @@ int add_service(const struct service_driver *driver, const char *port,
if (listen(c->fd, 1) == -1) {
LOG_ERROR("couldn't listen on socket: %s", strerror(errno));
close_socket(c->fd);
- free_service(c);
- return ERROR_FAIL;
+ goto error;
}
struct sockaddr_in addr_in;
@@ -323,15 +329,13 @@ int add_service(const struct service_driver *driver, const char *port,
/* we currently do not support named pipes under win32
* so exit openocd for now */
LOG_ERROR("Named pipes currently not supported under this os");
- free_service(c);
- return ERROR_FAIL;
+ goto error;
#else
/* Pipe we're reading from */
c->fd = open(c->port, O_RDONLY | O_NONBLOCK);
if (c->fd == -1) {
LOG_ERROR("could not open %s", c->port);
- free_service(c);
- return ERROR_FAIL;
+ goto error;
}
#endif
}
@@ -342,6 +346,14 @@ int add_service(const struct service_driver *driver, const char *port,
*p = c;
return ERROR_OK;
+
+error:
+ // Only free() what has been locally allocated
+ free(c->port);
+ free(c->name);
+ free(c);
+
+ return ERROR_FAIL;
}
static void remove_connections(struct service *service)
-----------------------------------------------------------------------
Summary of changes:
src/server/server.c | 38 +++++++++++++++++++++++++-------------
1 file changed, 25 insertions(+), 13 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-25 09:29:36
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via b9e40161613fd880fc85fdb357365b70e646ff23 (commit)
from b36de4f539cb620eb74512443be196ca43eda862 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b9e40161613fd880fc85fdb357365b70e646ff23
Author: HAOUES Ahmed <ahm...@st...>
Date: Wed Dec 31 11:22:02 2025 +0100
flash/stm32l4x: Fix flash size address for STM32WBA5
Update fsize_addr parameter to reference non-secure memory address
Change-Id: I5098f478169bfaac726b96b071b99ca63d25d531
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9357
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c
index 7d5558a86..70b526111 100644
--- a/src/flash/nor/stm32l4x.c
+++ b/src/flash/nor/stm32l4x.c
@@ -758,7 +758,7 @@ static const struct stm32l4_part_info stm32l4_parts[] = {
.flags = F_QUAD_WORD_PROG | F_HAS_TZ | F_HAS_L5_FLASH_REGS
| F_WRP_HAS_LOCK,
.flash_regs_base = 0x40022000,
- .fsize_addr = 0x0FF907A0,
+ .fsize_addr = 0x0BF907A0,
.otp_base = 0x0BF90000,
.otp_size = 512,
},
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/stm32l4x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-25 09:29:10
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via b36de4f539cb620eb74512443be196ca43eda862 (commit)
from eea1bb4d309d2017570b29e94a4356e28a50d7e8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b36de4f539cb620eb74512443be196ca43eda862
Author: Antonio Borneo <bor...@gm...>
Date: Sun Jan 18 23:38:28 2026 +0100
doc: add STM32WBA as supported by flash driver 'stm32l4x'
The flash driver 'stm32l4x' supports the device STM32WBA too.
Add it in the list of supported devices.
Change-Id: I5e2ba0c9ea198eb22d1bd329dd932bc0b1b3e886
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9392
Reviewed-by: Marc Schink <de...@za...>
Tested-by: jenkins
Reviewed-by: Ahmed Haoues <ahm...@st...>
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 55367b84b..df0c87382 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -8509,7 +8509,7 @@ The @var{num} parameter is a value shown by @command{flash banks}.
@end deffn
@deffn {Flash Driver} {stm32l4x}
-All members of the STM32 C0, G0, G4, L4, L4+, L5, U0, U5, WB and WL
+All members of the STM32 C0, G0, G4, L4, L4+, L5, U0, U5, WB, WBA and WL
microcontroller families from STMicroelectronics include internal flash
and use ARM Cortex-M0+, M4 and M33 cores.
The driver automatically recognizes a number of these chips using
-----------------------------------------------------------------------
Summary of changes:
doc/openocd.texi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-25 09:28:50
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via eea1bb4d309d2017570b29e94a4356e28a50d7e8 (commit)
from c60bb56bb600c9ff17dd64b8164a65259e4fdf5e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit eea1bb4d309d2017570b29e94a4356e28a50d7e8
Author: HAOUES Ahmed <ahm...@st...>
Date: Fri Jan 16 15:08:59 2026 +0100
flash: nor: keep Windows backslashes in flash list output
Wrap the name field in braces when formatting the flash list Tcl structure
so that Tcl does not interpret backslash escape sequences.
This ensures Windows paths are preserved verbatim in the output and
can be reliably matched in Tcl scripts.
Fixes: 80fc9fabc66a ("flash: nor: rewrite command 'flash list' as COMMAND_HANDLER")
Change-Id: Ibd0a4b292828f084122e4a02732dc69ac0885f3c
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9360
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/flash/nor/tcl.c b/src/flash/nor/tcl.c
index 2e7e6a38f..add7df437 100644
--- a/src/flash/nor/tcl.c
+++ b/src/flash/nor/tcl.c
@@ -1460,7 +1460,7 @@ COMMAND_HANDLER(handle_flash_list)
for (struct flash_bank *p = flash_bank_list(); p; p = p->next) {
command_print(CMD,
"{\n"
- " name %s\n"
+ " name {%s}\n"
" driver %s\n"
" base " TARGET_ADDR_FMT "\n"
" size 0x%" PRIx32 "\n"
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/tcl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-25 09:27:58
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via c60bb56bb600c9ff17dd64b8164a65259e4fdf5e (commit)
from f36ab02a80d077247870a02c9558e32b18e45037 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c60bb56bb600c9ff17dd64b8164a65259e4fdf5e
Author: R. Diez <rdi...@rd...>
Date: Mon Dec 15 19:07:41 2025 +0100
log: avoid incrementing 'count' for discarded log lines
This matches the behaviour of code which calls LOG_DEBUG_IO etc. instead.
Change-Id: I7679f0fc67222f947a4d0f1d53aa627a186ebcd3
Signed-off-by: R. Diez <rdi...@rd...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9318
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/helper/log.c b/src/helper/log.c
index 0fff674f7..a157b78b1 100644
--- a/src/helper/log.c
+++ b/src/helper/log.c
@@ -153,10 +153,11 @@ void log_printf(enum log_levels level,
char *string;
va_list ap;
- count++;
if (level > debug_level)
return;
+ count++;
+
va_start(ap, format);
string = alloc_vprintf(format, ap);
@@ -173,11 +174,11 @@ void log_vprintf_lf(enum log_levels level, const char *file, unsigned int line,
{
char *tmp;
- count++;
-
if (level > debug_level)
return;
+ count++;
+
tmp = alloc_vprintf(format, args);
if (!tmp)
-----------------------------------------------------------------------
Summary of changes:
src/helper/log.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-25 09:27:07
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via f36ab02a80d077247870a02c9558e32b18e45037 (commit)
from 22a7bda336874dc389636984563b8e5571ec752a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f36ab02a80d077247870a02c9558e32b18e45037
Author: Marc Schink <de...@za...>
Date: Fri Nov 28 13:29:58 2025 +0100
tcl/target: Move GigaDevice configs into vendor directory
Move the configuration files into a dedicated vendor folder as required
by the developer guidelines.
Change-Id: I9ed39e32b6281a9cb8510914690f3f7751b795c8
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9271
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl
index be01d71b3..d5926491c 100644
--- a/src/helper/startup.tcl
+++ b/src/helper/startup.tcl
@@ -47,7 +47,7 @@ proc find {filename} {
return $t
}
- foreach vendor {nordic ti sifive st} {
+ foreach vendor {gigadevice nordic sifive st ti} {
# - path/to/a/certain/config_file
# replaced either with
# - path/to/a/certain/${vendor}/config_file
diff --git a/tcl/target/gd32e23x.cfg b/tcl/target/gigadevice/gd32e23x.cfg
similarity index 100%
rename from tcl/target/gd32e23x.cfg
rename to tcl/target/gigadevice/gd32e23x.cfg
diff --git a/tcl/target/gd32vf103.cfg b/tcl/target/gigadevice/gd32vf103.cfg
similarity index 100%
rename from tcl/target/gd32vf103.cfg
rename to tcl/target/gigadevice/gd32vf103.cfg
-----------------------------------------------------------------------
Summary of changes:
src/helper/startup.tcl | 2 +-
tcl/target/{ => gigadevice}/gd32e23x.cfg | 0
tcl/target/{ => gigadevice}/gd32vf103.cfg | 0
3 files changed, 1 insertion(+), 1 deletion(-)
rename tcl/target/{ => gigadevice}/gd32e23x.cfg (100%)
rename tcl/target/{ => gigadevice}/gd32vf103.cfg (100%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-23 11:20:00
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 22a7bda336874dc389636984563b8e5571ec752a (commit)
from f9ec0ed51f1413deec425916dec02c2e0f5a0ee4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 22a7bda336874dc389636984563b8e5571ec752a
Author: Mark O'Donovan <sh...@po...>
Date: Sun Dec 21 11:50:33 2025 +0000
tcl/target: Fix include paths and standardise max32 configs
Corrected the include path for max32xxx_common.cfg in some files.
Cleaned up and standarised some comments in the max32... files.
Change-Id: I94dcc7ba6868bdd9730f03d3aa76fcdbbae33c3e
Signed-off-by: Mark O'Donovan <sh...@po...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9323
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/tcl/target/max32620.cfg b/tcl/target/max32620.cfg
index 807f8145e..0ea8d15c2 100644
--- a/tcl/target/max32620.cfg
+++ b/tcl/target/max32620.cfg
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-
-# Maxim Integrated MAX32620 OpenOCD target configuration file
+# Maxim Integrated MAX32620 - Arm Cortex-M4F @ 96MHz
# Set the reset pin configuration
reset_config srst_only
diff --git a/tcl/target/max32625.cfg b/tcl/target/max32625.cfg
index 8d9479c39..4529e542a 100644
--- a/tcl/target/max32625.cfg
+++ b/tcl/target/max32625.cfg
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-
-# Maxim Integrated MAX32625 OpenOCD target configuration file
+# Maxim Integrated MAX32625 - Arm Cortex-M4F @ 96MHz
# Set the reset pin configuration
reset_config srst_only
diff --git a/tcl/target/max3263x.cfg b/tcl/target/max3263x.cfg
index 413c49188..c8d99466c 100644
--- a/tcl/target/max3263x.cfg
+++ b/tcl/target/max3263x.cfg
@@ -1,6 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-
-# Maxim Integrated MAX3263X OpenOCD target configuration file
+# Maxim Integrated MAX3263x - Arm Cortex-M4F @ 96MHz
# Set the reset pin configuration
reset_config none
diff --git a/tcl/target/max32670.cfg b/tcl/target/max32670.cfg
index b8c76af5e..92dc6e12f 100644
--- a/tcl/target/max32670.cfg
+++ b/tcl/target/max32670.cfg
@@ -1,10 +1,8 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-# maxim Integrated OpenOCD target configuration file
+# Maxim Integrated MAX32670 - Arm Cortex-M4F @ 100MHz
-# reset pin configuration
+# Set the reset pin configuration
reset_config none
-adapter_nsrst_delay 200
-adapter_nsrst_assert_width 200
# Set flash parameters
set FLASH_BASE 0x10000000
@@ -17,7 +15,7 @@ set FLASH_OPTIONS 0x01
# Use Serial Wire Debug
transport select swd
-source [find target/max32xxx.cfg]
+source [find target/max32xxx_common.cfg]
# Early revisions of the MAX32670 will disable SWD upon reset. There are reserved address locations
# in the ROM code that can be used to insert breakpoints.
diff --git a/tcl/target/max32672.cfg b/tcl/target/max32672.cfg
index 26c7c82db..9709b699f 100644
--- a/tcl/target/max32672.cfg
+++ b/tcl/target/max32672.cfg
@@ -1,10 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-# maxim Integrated OpenOCD target configuration file
+# Maxim Integrated MAX32672 - Arm Cortex-M4F @ 100MHz
-# reset pin configuration
+# Set the reset pin configuration
reset_config none
-adapter_nsrst_delay 200
-adapter_nsrst_assert_width 200
+adapter srst pulse_width 200
# Set flash parameters
set FLASH_BASE 0x10000000
@@ -17,7 +16,7 @@ set FLASH_OPTIONS 0x01
# Use Serial Wire Debug
transport select swd
-source [find target/max32xxx.cfg]
+source [find target/max32xxx_common.cfg]
# Add additional flash bank
set FLASH_BASE 0x10080000
diff --git a/tcl/target/max32675.cfg b/tcl/target/max32675.cfg
index cbc718c9c..ade025db0 100644
--- a/tcl/target/max32675.cfg
+++ b/tcl/target/max32675.cfg
@@ -1,10 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-# maxim Integrated OpenOCD target configuration file
+# Maxim Integrated MAX32675 - Arm Cortex-M4F @ 100MHz
-# reset pin configuration
+# Set the reset pin configuration
reset_config none
-adapter_nsrst_delay 200
-adapter_nsrst_assert_width 200
+adapter srst pulse_width 200
# Set flash parameters
set FLASH_BASE 0x10000000
@@ -17,9 +16,9 @@ set FLASH_OPTIONS 0x01
# Use Serial Wire Debug
transport select swd
-source [find target/max32xxx.cfg]
+source [find target/max32xxx_common.cfg]
-# Early revisions of the MAX3275 will disable SWD upon reset. There are reserved address locations
+# Early revisions of the MAX32675 will disable SWD upon reset. There are reserved address locations
# in the ROM code that can be used to insert breakpoints.
# This workaround will enable SWD for affected revisions.
$_CHIPNAME.cpu configure -event reset-assert-pre {
diff --git a/tcl/target/max32690.cfg b/tcl/target/max32690.cfg
index 63f987458..de9d233be 100644
--- a/tcl/target/max32690.cfg
+++ b/tcl/target/max32690.cfg
@@ -1,9 +1,8 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-# Maxim Integrated MAX32690 OpenOCD target configuration file
+# Maxim Integrated MAX32690 - Arm Cortex-M4F @ 120MHz
# Set the reset pin configuration
reset_config srst_only
-adapter srst delay 2
adapter srst pulse_width 2
# Set flash parameters
@@ -17,7 +16,7 @@ set FLASH_OPTIONS 0x01
# Use Serial Wire Debug
transport select swd
-source [find target/max32xxx.cfg]
+source [find target/max32xxx_common.cfg]
# Add additional flash bank
set FLASH_BASE 0x10300000
-----------------------------------------------------------------------
Summary of changes:
tcl/target/max32620.cfg | 3 +--
tcl/target/max32625.cfg | 3 +--
tcl/target/max3263x.cfg | 3 +--
tcl/target/max32670.cfg | 8 +++-----
tcl/target/max32672.cfg | 9 ++++-----
tcl/target/max32675.cfg | 11 +++++------
tcl/target/max32690.cfg | 5 ++---
7 files changed, 17 insertions(+), 25 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-23 11:19:30
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via f9ec0ed51f1413deec425916dec02c2e0f5a0ee4 (commit)
from ab718d66ce2e6b6f701dba18646933134b07eece (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f9ec0ed51f1413deec425916dec02c2e0f5a0ee4
Author: Mark O'Donovan <sh...@po...>
Date: Sun Dec 21 11:13:40 2025 +0000
tcl/target: Add max32662.cfg
Config file added and tested on max32662evkit
Change-Id: I20cff70aaf8bb4577ba1e6f658afdd3b96e13145
Signed-off-by: Mark O'Donovan <sh...@po...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9325
Reviewed-by: Tomas Vanek <va...@fb...>
Tested-by: jenkins
diff --git a/tcl/target/max32662.cfg b/tcl/target/max32662.cfg
new file mode 100644
index 000000000..70f486318
--- /dev/null
+++ b/tcl/target/max32662.cfg
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Maxim Integrated MAX32662 - Arm Cortex-M4F @ 100MHz
+
+# Set the reset pin configuration
+reset_config srst_only
+
+# Set flash parameters
+set FLASH_BASE 0x10000000
+set FLASH_SIZE 0x40000
+set FLC_BASE 0x40029000
+set FLASH_SECTOR 0x2000
+set FLASH_CLK 96
+set FLASH_OPTIONS 0x01
+
+# Use Serial Wire Debug
+transport select swd
+
+source [find target/max32xxx_common.cfg]
-----------------------------------------------------------------------
Summary of changes:
tcl/target/{max32660.cfg => max32662.cfg} | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
copy tcl/target/{max32660.cfg => max32662.cfg} (74%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-23 11:18:59
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via ab718d66ce2e6b6f701dba18646933134b07eece (commit)
via 46f7b185a1f2e5355e3a67d988f5fddece604665 (commit)
from 8f22bf77126733c3d83586e1949d625a37f604db (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ab718d66ce2e6b6f701dba18646933134b07eece
Author: Mark O'Donovan <sh...@po...>
Date: Sun Dec 21 13:22:04 2025 +0000
tcl/target: Add max32660.cfg
Config file added and tested on max32660evsys
Change-Id: Ia9b77408be881f8b393e833c66762e0deb31221c
Signed-off-by: Mark O'Donovan <sh...@po...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9324
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/tcl/target/max32660.cfg b/tcl/target/max32660.cfg
new file mode 100644
index 000000000..89f5741de
--- /dev/null
+++ b/tcl/target/max32660.cfg
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Maxim Integrated MAX32660 - Arm Cortex-M4F @ 96MHz
+
+# Set the reset pin configuration
+reset_config srst_only
+
+# Set flash parameters
+set FLASH_BASE 0x0
+set FLASH_SIZE 0x40000
+set FLC_BASE 0x40029000
+set FLASH_SECTOR 0x2000
+set FLASH_CLK 96
+set FLASH_OPTIONS 0x00
+
+# Use Serial Wire Debug
+transport select swd
+
+source [find target/max32xxx_common.cfg]
commit 46f7b185a1f2e5355e3a67d988f5fddece604665
Author: Mark O'Donovan <sh...@po...>
Date: Sun Dec 21 11:45:32 2025 +0000
tcl/target: Stop setting adapter speed in max32680.cfg
The assignment of adapter speed 500 was getting overwritten when
max32xxx_common.cfg is sourced at the end.
Also removed incorrect comment.
Change-Id: I49d69073d93dedf28ed69d63ece35758f4707137
Signed-off-by: Mark O'Donovan <sh...@po...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9322
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/tcl/target/max32680.cfg b/tcl/target/max32680.cfg
index 9c3ad24bd..ebb2e341d 100644
--- a/tcl/target/max32680.cfg
+++ b/tcl/target/max32680.cfg
@@ -1,11 +1,8 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-# Maxim Integrated MAX32655 OpenOCD target configuration file
-
-adapter speed 500
+# Maxim Integrated MAX32680 - Arm Cortex-M4F @ 100MHz
# Set the reset pin configuration
reset_config srst_only
-adapter srst delay 2
adapter srst pulse_width 2
# Set flash parameters
-----------------------------------------------------------------------
Summary of changes:
tcl/target/{max32625.cfg => max32660.cfg} | 12 +++++-------
tcl/target/max32680.cfg | 5 +----
2 files changed, 6 insertions(+), 11 deletions(-)
copy tcl/target/{max32625.cfg => max32660.cfg} (59%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-23 11:18:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 8f22bf77126733c3d83586e1949d625a37f604db (commit)
from 60d11a881fb2d1f34584ba975749feb6fc1c9d03 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8f22bf77126733c3d83586e1949d625a37f604db
Author: Mark O'Donovan <sh...@po...>
Date: Thu Jan 8 11:57:11 2026 +0000
tcl/target: Stop setting adapter speed in max32xxx_common.cfg
Using the default speed is common and is preferred by OpenOCD.
Change-Id: I10f4ab7981aa6f9ae8e0882494287cc4b26b0398
Signed-off-by: Mark O'Donovan <sh...@po...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9382
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/tcl/target/max32xxx_common.cfg b/tcl/target/max32xxx_common.cfg
index 50a7d85e9..e8e2dd428 100644
--- a/tcl/target/max32xxx_common.cfg
+++ b/tcl/target/max32xxx_common.cfg
@@ -5,14 +5,6 @@
source [find mem_helper.tcl]
source [find target/swj-dp.tcl]
-# Set the adapter speed
-if { [info exists ADAPTER_KHZ] } {
- set _ADAPTER_KHZ $ADAPTER_KHZ
-} else {
- set _ADAPTER_KHZ 2000
-}
-adapter speed $_ADAPTER_KHZ
-
# Target configuration
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
-----------------------------------------------------------------------
Summary of changes:
tcl/target/max32xxx_common.cfg | 8 --------
1 file changed, 8 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-18 22:46:41
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 60d11a881fb2d1f34584ba975749feb6fc1c9d03 (commit)
via ea9afa9e3e100f5b8b0b7b4afdc3bfefcd520469 (commit)
from 50fdce21a0b5b6420b229624c061a0b46db560da (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 60d11a881fb2d1f34584ba975749feb6fc1c9d03
Author: Marc Schink <de...@za...>
Date: Thu Jan 15 08:35:42 2026 +0000
adapter/jlink: Use new log level for adapter I/O
Use the new adapter I/O log level to more easily distinguish
adapter I/O messages from other debug messages.
Change-Id: Ib3aa2bf84871c038aef937452cfeb28de232d821
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9387
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c
index 46afa862d..1901e8df1 100644
--- a/src/jtag/drivers/jlink.c
+++ b/src/jtag/drivers/jlink.c
@@ -504,7 +504,7 @@ static int jaylink_log_handler(const struct jaylink_context *ctx,
tmp = LOG_LVL_DEBUG;
break;
case JAYLINK_LOG_LEVEL_DEBUG_IO:
- tmp = LOG_LVL_DEBUG_IO;
+ tmp = LOG_LVL_DEBUG_USB;
break;
default:
tmp = LOG_LVL_WARNING;
commit ea9afa9e3e100f5b8b0b7b4afdc3bfefcd520469
Author: R. Diez <rdi...@rd...>
Date: Mon Dec 1 19:09:42 2025 +0100
configure.ac: Replace --enable-verbose-usb-comms with a new runtime log level.
--enable-verbose actually did the same as --enable-verbose-usb-comms,
so the new code replaces it too.
Change-Id: I1d1ddd5d681009663e0c52a75ad76fe71dbc172a
Signed-off-by: R. Diez <rdi...@rd...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9281
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
Reviewed-by: Marc Schink <de...@za...>
diff --git a/configure.ac b/configure.ac
index d563f2b66..d0ab15b62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -268,27 +268,6 @@ AS_IF([test "x$enable_gcov" = "xyes"], [
AC_DEFINE([USE_GCOV], [0], [0 to leave coverage collection disabled.])
])
-# set default for debug_usb_comms, overridden by following options
-debug_usb_comms=no
-
-AC_ARG_ENABLE([verbose],
- AS_HELP_STRING([--enable-verbose],
- [Enable verbose JTAG I/O messages (for debugging).]),
- [
- debug_usb_comms=$enableval
- ], [])
-
-AC_ARG_ENABLE([verbose_usb_comms],
- AS_HELP_STRING([--enable-verbose-usb-comms],
- [Enable verbose USB communication messages (for debugging)]),
- [debug_usb_comms=$enableval], [])
-
-AC_MSG_CHECKING([whether to enable verbose USB communication messages]);
-AC_MSG_RESULT([$debug_usb_comms])
-AS_IF([test "x$debug_usb_comms" = "xyes"], [
- AC_DEFINE([_DEBUG_USB_COMMS_],[1], [Print verbose USB communication messages])
-])
-
debug_malloc=no
AC_ARG_ENABLE([malloc_logging],
AS_HELP_STRING([--enable-malloc-logging],
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 2199760e2..55367b84b 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -9566,7 +9566,8 @@ Level 0 is error messages only;
level 1 adds warnings;
level 2 adds informational messages;
level 3 adds debugging messages;
-and level 4 adds verbose low-level debug messages.
+level 4 adds verbose low-level debug messages;
+and level 5 adds USB communication messages.
The default is level 2, but that can be overridden on
the command line along with the location of that log
file (which is normally the server's standard output).
diff --git a/src/helper/log.c b/src/helper/log.c
index eec0c04dd..0fff674f7 100644
--- a/src/helper/log.c
+++ b/src/helper/log.c
@@ -53,13 +53,14 @@ static int64_t last_time;
static int64_t start;
-static const char * const log_strings[6] = {
+static const char * const log_strings[7] = {
"User : ",
"Error: ",
"Warn : ", /* want a space after each colon, all same width, colons aligned */
"Info : ",
"Debug: ",
- "Debug: "
+ "Debug: ",
+ "Debug: ", /* corresponds to LOG_LVL_DEBUG_USB */
};
static int count;
@@ -212,7 +213,7 @@ COMMAND_HANDLER(handle_debug_level_command)
} else if (CMD_ARGC == 1) {
int new_level;
COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], new_level);
- if ((new_level > LOG_LVL_DEBUG_IO) || (new_level < LOG_LVL_SILENT)) {
+ if (new_level > LOG_LVL_DEBUG_USB || new_level < LOG_LVL_SILENT) {
command_print(CMD, "level must be between %d and %d", LOG_LVL_SILENT, LOG_LVL_DEBUG_IO);
return ERROR_COMMAND_ARGUMENT_INVALID;
}
diff --git a/src/helper/log.h b/src/helper/log.h
index b8e3e339a..07c195d28 100644
--- a/src/helper/log.h
+++ b/src/helper/log.h
@@ -37,6 +37,9 @@
* LOG_LVL_INFO - state information, etc.
* LOG_LVL_DEBUG - debug statements, execution trace
* LOG_LVL_DEBUG_IO - verbose debug, low-level I/O trace
+ * LOG_LVL_DEBUG_USB - verbose USB trace
+ * In the past this corresponded to build configuration options
+ --enable-verbose and --enable-verbose-usb-comms.
*/
enum log_levels {
LOG_LVL_SILENT = -3,
@@ -47,6 +50,7 @@ enum log_levels {
LOG_LVL_INFO = 2,
LOG_LVL_DEBUG = 3,
LOG_LVL_DEBUG_IO = 4,
+ LOG_LVL_DEBUG_USB = 5,
};
void log_printf(enum log_levels level, const char *file, unsigned int line,
@@ -100,6 +104,8 @@ extern int debug_level;
#define LOG_LEVEL_IS(FOO) ((debug_level) >= (FOO))
+#define LOG_DEBUG_USB(expr, ...) LOG_CUSTOM_LEVEL(LOG_LVL_DEBUG_USB, expr, ##__VA_ARGS__)
+
#define LOG_DEBUG_IO(expr ...) \
do { \
if (LOG_LEVEL_IS(LOG_LVL_DEBUG_IO)) \
diff --git a/src/jtag/drivers/arm-jtag-ew.c b/src/jtag/drivers/arm-jtag-ew.c
index 5c0e2ea94..38c73efc2 100644
--- a/src/jtag/drivers/arm-jtag-ew.c
+++ b/src/jtag/drivers/arm-jtag-ew.c
@@ -76,9 +76,7 @@ static int armjtagew_usb_read(struct armjtagew *armjtagew, int exp_in_length);
/* helper functions */
static int armjtagew_get_version_info(void);
-#ifdef _DEBUG_USB_COMMS_
static void armjtagew_debug_buffer(uint8_t *buffer, int length);
-#endif
static struct armjtagew *armjtagew_handle;
@@ -127,9 +125,8 @@ static int armjtagew_execute_queue(struct jtag_command *cmd_queue)
scan_size = jtag_build_buffer(cmd->cmd.scan, &buffer);
LOG_DEBUG_IO("scan input, length = %d", scan_size);
-#ifdef _DEBUG_USB_COMMS_
armjtagew_debug_buffer(buffer, (scan_size + 7) / 8);
-#endif
+
type = jtag_scan_type(cmd->cmd.scan);
armjtagew_scan(cmd->cmd.scan->ir_scan,
type, buffer,
@@ -641,9 +638,7 @@ static int armjtagew_tap_execute(void)
LOG_DEBUG_IO("pending scan result, length = %d", length);
-#ifdef _DEBUG_USB_COMMS_
armjtagew_debug_buffer(buffer, byte_length);
-#endif
if (jtag_read_buffer(buffer, command) != ERROR_OK) {
armjtagew_tap_init();
@@ -743,9 +738,8 @@ static int armjtagew_usb_write(struct armjtagew *armjtagew, int out_length)
LOG_DEBUG_IO("armjtagew_usb_write, out_length = %d, result = %d", out_length, result);
-#ifdef _DEBUG_USB_COMMS_
armjtagew_debug_buffer(usb_out_buffer, out_length);
-#endif
+
if (result != ERROR_OK)
return -1;
return transferred;
@@ -760,29 +754,29 @@ static int armjtagew_usb_read(struct armjtagew *armjtagew, int exp_in_length)
LOG_DEBUG_IO("armjtagew_usb_read, result = %d", result);
-#ifdef _DEBUG_USB_COMMS_
armjtagew_debug_buffer(usb_in_buffer, result);
-#endif
+
if (result != ERROR_OK)
return -1;
return transferred;
}
-#ifdef _DEBUG_USB_COMMS_
#define BYTES_PER_LINE 16
static void armjtagew_debug_buffer(uint8_t *buffer, int length)
{
+ if (!LOG_LEVEL_IS(LOG_LVL_DEBUG_USB))
+ return;
+
char line[8 + 3 * BYTES_PER_LINE + 1];
for (int i = 0; i < length; i += BYTES_PER_LINE) {
int n = snprintf(line, 9, "%04x", i);
for (int j = i; j < i + BYTES_PER_LINE && j < length; j++)
n += snprintf(line + n, 4, " %02x", buffer[j]);
- LOG_DEBUG("%s", line);
+ LOG_DEBUG_USB("%s", line);
/* Prevent GDB timeout (writing to log might take some time) */
keep_alive();
}
}
-#endif
diff --git a/src/jtag/drivers/opendous.c b/src/jtag/drivers/opendous.c
index 4b5981ab5..17db20903 100644
--- a/src/jtag/drivers/opendous.c
+++ b/src/jtag/drivers/opendous.c
@@ -134,10 +134,7 @@ static int opendous_usb_read(struct opendous_jtag *opendous_jtag);
/* helper functions */
static int opendous_get_version_info(void);
-
-#ifdef _DEBUG_USB_COMMS_
static void opendous_debug_buffer(uint8_t *buffer, int length);
-#endif
static struct opendous_jtag *opendous_jtag_handle;
@@ -282,9 +279,8 @@ static int opendous_execute_queue(struct jtag_command *cmd_queue)
scan_size = jtag_build_buffer(cmd->cmd.scan, &buffer);
LOG_DEBUG_IO("scan input, length = %d", scan_size);
-#ifdef _DEBUG_USB_COMMS_
opendous_debug_buffer(buffer, (scan_size + 7) / 8);
-#endif
+
type = jtag_scan_type(cmd->cmd.scan);
opendous_scan(cmd->cmd.scan->ir_scan, type, buffer, scan_size, cmd->cmd.scan);
break;
@@ -604,10 +600,7 @@ int opendous_tap_execute(void)
int byte_length;
int i, j;
int result;
-
-#ifdef _DEBUG_USB_COMMS_
int byte_length_out;
-#endif
if (tap_length > 0) {
@@ -615,10 +608,8 @@ int opendous_tap_execute(void)
/* LOG_INFO("OPENDOUS tap execute %d",tap_length); */
byte_length = (tap_length + 3) / 4;
-#ifdef _DEBUG_USB_COMMS_
byte_length_out = (tap_length + 7) / 8;
- LOG_DEBUG("opendous is sending %d bytes", byte_length);
-#endif
+ LOG_DEBUG_USB("opendous is sending %d bytes", byte_length);
for (j = 0, i = 0; j < byte_length;) {
@@ -647,10 +638,8 @@ int opendous_tap_execute(void)
j += transmit;
}
-#ifdef _DEBUG_USB_COMMS_
- LOG_DEBUG("opendous tap result %d", byte_length_out);
+ LOG_DEBUG_USB("opendous tap result %d", byte_length_out);
opendous_debug_buffer(tdo_buffer, byte_length_out);
-#endif
/* LOG_INFO("eStick tap execute %d",tap_length); */
for (i = 0; i < pending_scan_results_length; i++) {
@@ -666,9 +655,7 @@ int opendous_tap_execute(void)
LOG_DEBUG_IO("pending scan result, length = %d", length);
-#ifdef _DEBUG_USB_COMMS_
opendous_debug_buffer(buffer, byte_length_out);
-#endif
if (jtag_read_buffer(buffer, command) != ERROR_OK) {
opendous_tap_init();
@@ -739,9 +726,8 @@ int opendous_usb_write(struct opendous_jtag *opendous_jtag, int out_length)
return -1;
}
-#ifdef _DEBUG_USB_COMMS_
- LOG_DEBUG("USB write begin");
-#endif
+ LOG_DEBUG_USB("USB write begin");
+
if (opendous_probe->CONTROL_TRANSFER) {
result = jtag_libusb_control_transfer(opendous_jtag->usb_handle,
LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_OUT,
@@ -754,15 +740,13 @@ int opendous_usb_write(struct opendous_jtag *opendous_jtag, int out_length)
jtag_libusb_bulk_write(opendous_jtag->usb_handle, OPENDOUS_WRITE_ENDPOINT,
(char *)usb_out_buffer, out_length, OPENDOUS_USB_TIMEOUT, &result);
}
-#ifdef _DEBUG_USB_COMMS_
- LOG_DEBUG("USB write end: %d bytes", result);
-#endif
+
+ LOG_DEBUG_USB("USB write end: %d bytes", result);
LOG_DEBUG_IO("opendous_usb_write, out_length = %d, result = %d", out_length, result);
-#ifdef _DEBUG_USB_COMMS_
opendous_debug_buffer(usb_out_buffer, out_length);
-#endif
+
return result;
}
@@ -771,9 +755,8 @@ int opendous_usb_read(struct opendous_jtag *opendous_jtag)
{
int transferred;
-#ifdef _DEBUG_USB_COMMS_
- LOG_DEBUG("USB read begin");
-#endif
+ LOG_DEBUG_USB("USB read begin");
+
int result;
if (opendous_probe->CONTROL_TRANSFER) {
result = jtag_libusb_control_transfer(opendous_jtag->usb_handle,
@@ -787,29 +770,29 @@ int opendous_usb_read(struct opendous_jtag *opendous_jtag)
jtag_libusb_bulk_read(opendous_jtag->usb_handle, OPENDOUS_READ_ENDPOINT,
(char *)usb_in_buffer, OPENDOUS_IN_BUFFER_SIZE, OPENDOUS_USB_TIMEOUT, &result);
}
-#ifdef _DEBUG_USB_COMMS_
- LOG_DEBUG("USB read end: %d bytes", result);
-#endif
+
+ LOG_DEBUG_USB("USB read end: %d bytes", result);
+
LOG_DEBUG_IO("opendous_usb_read, result = %d", result);
-#ifdef _DEBUG_USB_COMMS_
opendous_debug_buffer(usb_in_buffer, result);
-#endif
+
return result;
}
-#ifdef _DEBUG_USB_COMMS_
#define BYTES_PER_LINE 16
void opendous_debug_buffer(uint8_t *buffer, int length)
{
+ if (!LOG_LEVEL_IS(LOG_LVL_DEBUG_USB))
+ return;
+
char line[8 + 3 * BYTES_PER_LINE + 1];
for (int i = 0; i < length; i += BYTES_PER_LINE) {
int n = snprintf(line, 9, "%04x", i);
for (int j = i; j < i + BYTES_PER_LINE && j < length; j++)
n += snprintf(line + n, 4, " %02x", buffer[j]);
- LOG_DEBUG("%s", line);
+ LOG_DEBUG_USB("%s", line);
}
}
-#endif
diff --git a/src/jtag/drivers/openjtag.c b/src/jtag/drivers/openjtag.c
index d45a1c6a9..fc9507af3 100644
--- a/src/jtag/drivers/openjtag.c
+++ b/src/jtag/drivers/openjtag.c
@@ -119,8 +119,6 @@ static const uint16_t cy7c65215_pids[] = {0x0007, 0};
static unsigned int ep_in, ep_out;
-#ifdef _DEBUG_USB_COMMS_
-
#define DEBUG_TYPE_READ 0
#define DEBUG_TYPE_WRITE 1
#define DEBUG_TYPE_OCD_READ 2
@@ -129,6 +127,9 @@ static unsigned int ep_in, ep_out;
#define LINE_LEN 16
static void openjtag_debug_buffer(uint8_t *buffer, int length, uint8_t type)
{
+ if (!LOG_LEVEL_IS(LOG_LVL_DEBUG_USB))
+ return;
+
char line[128];
char s[4];
int i;
@@ -149,7 +150,7 @@ static void openjtag_debug_buffer(uint8_t *buffer, int length, uint8_t type)
break;
}
- LOG_DEBUG("%s", line);
+ LOG_DEBUG_USB("%s", line);
for (i = 0; i < length; i += LINE_LEN) {
switch (type) {
@@ -171,13 +172,11 @@ static void openjtag_debug_buffer(uint8_t *buffer, int length, uint8_t type)
sprintf(s, " %02x", buffer[j]);
strcat(line, s);
}
- LOG_DEBUG("%s", line);
+ LOG_DEBUG_USB("%s", line);
}
}
-#endif
-
static int8_t openjtag_get_tap_state(int8_t state)
{
@@ -207,9 +206,8 @@ static int openjtag_buf_write_standard(
uint8_t *buf, int size, uint32_t *bytes_written)
{
int retval;
-#ifdef _DEBUG_USB_COMMS_
+
openjtag_debug_buffer(buf, size, DEBUG_TYPE_WRITE);
-#endif
retval = ftdi_write_data(&ftdic, buf, size);
if (retval < 0) {
@@ -228,9 +226,7 @@ static int openjtag_buf_write_cy7c65215(
{
int ret;
-#ifdef _DEBUG_USB_COMMS_
openjtag_debug_buffer(buf, size, DEBUG_TYPE_WRITE);
-#endif
if (size == 0) {
*bytes_written = 0;
@@ -287,9 +283,7 @@ static int openjtag_buf_read_standard(
*bytes_read += retval;
}
-#ifdef _DEBUG_USB_COMMS_
openjtag_debug_buffer(buf, *bytes_read, DEBUG_TYPE_READ);
-#endif
return ERROR_OK;
}
@@ -320,9 +314,7 @@ static int openjtag_buf_read_cy7c65215(
*bytes_read = ret;
out:
-#ifdef _DEBUG_USB_COMMS_
openjtag_debug_buffer(buf, *bytes_read, DEBUG_TYPE_READ);
-#endif
return ERROR_OK;
}
@@ -585,10 +577,9 @@ static int openjtag_execute_tap_queue(void)
count++;
}
-#ifdef _DEBUG_USB_COMMS_
openjtag_debug_buffer(buffer,
DIV_ROUND_UP(openjtag_scan_result_buffer[res_count].bits, 8), DEBUG_TYPE_OCD_READ);
-#endif
+
jtag_read_buffer(buffer, openjtag_scan_result_buffer[res_count].command);
free(openjtag_scan_result_buffer[res_count].buffer);
@@ -725,9 +716,8 @@ static void openjtag_execute_scan(struct jtag_command *cmd)
tap_set_end_state(cmd->cmd.scan->end_state);
scan_size = jtag_build_buffer(cmd->cmd.scan, &buffer);
-#ifdef _DEBUG_USB_COMMS_
openjtag_debug_buffer(buffer, (scan_size + 7) / 8, DEBUG_TYPE_BUFFER);
-#endif
+
/* set state */
old_state = tap_get_end_state();
openjtag_set_state(cmd->cmd.scan->ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT);
diff --git a/src/jtag/drivers/ti_icdi_usb.c b/src/jtag/drivers/ti_icdi_usb.c
index 9f0791f3d..5bac659c4 100644
--- a/src/jtag/drivers/ti_icdi_usb.c
+++ b/src/jtag/drivers/ti_icdi_usb.c
@@ -126,17 +126,17 @@ static int icdi_send_packet(void *handle, int len)
len += sprintf(&h->write_buffer[len], PACKET_END "%02x", cksum);
-#ifdef _DEBUG_USB_COMMS_
- char buffer[50];
- char ch = h->write_buffer[1];
- if (ch == 'x' || ch == 'X')
- LOG_DEBUG("writing packet: <binary>");
- else {
- memcpy(buffer, h->write_buffer, len >= 50 ? 50-1 : len);
- buffer[len] = 0;
- LOG_DEBUG("writing packet: %s", buffer);
+ if (LOG_LEVEL_IS(LOG_LVL_DEBUG_USB)) {
+ char buffer[50];
+ char ch = h->write_buffer[1];
+ if (ch == 'x' || ch == 'X') {
+ LOG_DEBUG_USB("writing packet: <binary>");
+ } else {
+ memcpy(buffer, h->write_buffer, len >= 50 ? 50 - 1 : len);
+ buffer[len] = 0;
+ LOG_DEBUG_USB("writing packet: %s", buffer);
+ }
}
-#endif
while (1) {
@@ -155,9 +155,7 @@ static int icdi_send_packet(void *handle, int len)
return ERROR_FAIL;
}
-#ifdef _DEBUG_USB_COMMS_
- LOG_DEBUG("received reply: '%c' : count %d", h->read_buffer[0], transferred);
-#endif
+ LOG_DEBUG_USB("received reply: '%c' : count %d", h->read_buffer[0], transferred);
if (h->read_buffer[0] == '-') {
LOG_DEBUG("Resending packet %d", ++retry);
@@ -182,9 +180,7 @@ static int icdi_send_packet(void *handle, int len)
result = libusb_bulk_transfer(h->usb_dev, ICDI_READ_ENDPOINT, (unsigned char *)h->read_buffer + h->read_count,
h->max_packet - h->read_count, &transferred, ICDI_READ_TIMEOUT);
-#ifdef _DEBUG_USB_COMMS_
- LOG_DEBUG("received data: count %d", transferred);
-#endif
+ LOG_DEBUG_USB("received data: count %d", transferred);
/* check for errors but retry for timeout */
if (result != 0) {
diff --git a/src/jtag/drivers/ulink.c b/src/jtag/drivers/ulink.c
index 1f14b1a04..ce2d21e0e 100644
--- a/src/jtag/drivers/ulink.c
+++ b/src/jtag/drivers/ulink.c
@@ -2175,12 +2175,10 @@ static int ulink_init(void)
ulink_handle = NULL;
return ERROR_FAIL;
}
-#ifdef _DEBUG_USB_COMMS_
else {
/* Successfully received Bulk IN packet -> continue */
- LOG_INFO("Recovered from lost Bulk IN packet");
+ LOG_DEBUG_USB("Recovered from lost Bulk IN packet");
}
-#endif
}
ulink_clear_queue(ulink_handle);
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 21 -----------------
doc/openocd.texi | 3 ++-
src/helper/log.c | 7 +++---
src/helper/log.h | 6 +++++
src/jtag/drivers/arm-jtag-ew.c | 20 ++++++----------
src/jtag/drivers/jlink.c | 2 +-
src/jtag/drivers/opendous.c | 53 ++++++++++++++----------------------------
src/jtag/drivers/openjtag.c | 26 +++++++--------------
src/jtag/drivers/ti_icdi_usb.c | 28 ++++++++++------------
src/jtag/drivers/ulink.c | 4 +---
10 files changed, 59 insertions(+), 111 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-18 22:46:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 50fdce21a0b5b6420b229624c061a0b46db560da (commit)
from 7d688bc500e011d1c39c17e2a8e402c8f1bcd58e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 50fdce21a0b5b6420b229624c061a0b46db560da
Author: Antonio Borneo <bor...@gm...>
Date: Fri Jan 9 09:58:11 2026 +0100
jep106: update to revision JEP106BN Jan 2026
Update to latest available document.
Change-Id: Iff4a3bc21394d72a5bb4754c62a0f5fdc4e5e78c
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9383
Tested-by: jenkins
diff --git a/src/helper/jep106.inc b/src/helper/jep106.inc
index 5e50e1955..f3407aa96 100644
--- a/src/helper/jep106.inc
+++ b/src/helper/jep106.inc
@@ -2,13 +2,13 @@
/*
* The manufacturer's standard identification code list appears in JEP106.
- * Copyright (c) 2025 JEDEC. All rights reserved.
+ * Copyright (c) 2026 JEDEC. All rights reserved.
*
* JEP106 is regularly updated. For the current manufacturer's standard
* identification code list, please visit the JEDEC website at www.jedec.org .
*/
-/* This file is aligned to revision JEP106BM June 2025. */
+/* This file is aligned to revision JEP106BN January 2026. */
[0][0x01 - 1] = "AMD",
[0][0x02 - 1] = "AMI",
@@ -205,7 +205,7 @@
[1][0x43 - 1] = "Suwa Electronics",
[1][0x44 - 1] = "Transmeta",
[1][0x45 - 1] = "Micron CMS",
-[1][0x46 - 1] = "American Computer & Digital Components Inc",
+[1][0x46 - 1] = "American Computer Digital Components",
[1][0x47 - 1] = "Enhance 3000 Inc",
[1][0x48 - 1] = "Tower Semiconductor",
[1][0x49 - 1] = "CPU Design",
@@ -1450,7 +1450,7 @@
[11][0x34 - 1] = "Acacia Communications",
[11][0x35 - 1] = "Beijinjinshengyihe Technology Co Ltd",
[11][0x36 - 1] = "Zyzyx",
-[11][0x37 - 1] = "C-SKY Microsystems Co Ltd",
+[11][0x37 - 1] = "C-SKY Microsystems Co Ltd (XuanTie)",
[11][0x38 - 1] = "Shenzhen Hystou Technology Co Ltd",
[11][0x39 - 1] = "Syzexion",
[11][0x3a - 1] = "Kembona",
@@ -1900,7 +1900,7 @@
[14][0x7c - 1] = "ForwardEdge ASIC",
[14][0x7d - 1] = "Beijing Future Signet Technology Co Ltd",
[14][0x7e - 1] = "Fine Made Microelectronics Group Co Ltd",
-[15][0x01 - 1] = "Changxin Memory Technology (Shanghai)",
+[15][0x01 - 1] = "CXSH",
[15][0x02 - 1] = "Synconv",
[15][0x03 - 1] = "MULTIUNIT",
[15][0x04 - 1] = "Zero ASIC Corporation",
@@ -2084,4 +2084,68 @@
[16][0x38 - 1] = "Shanghai Yunsilicon Technology Co Ltd",
[16][0x39 - 1] = "Shenzhen Wolongtai Technology Co Ltd.",
[16][0x3a - 1] = "Vervesemi Microelectronics",
+[16][0x3b - 1] = "HRDWYR Ventures Private Limited",
+[16][0x3c - 1] = "ENE Technology Inc",
+[16][0x3d - 1] = "GOFATOO",
+[16][0x3e - 1] = "Shenzhen Jingchu Technology Co Ltd",
+[16][0x3f - 1] = "NEVETA",
+[16][0x40 - 1] = "RZX",
+[16][0x41 - 1] = "Shenzhen Zhongcheng Qingcong Technology Co",
+[16][0x42 - 1] = "Shenzhen Heyloo Electronic Technology Co",
+[16][0x43 - 1] = "Shenzhen Shanghaowang Electronic Technology",
+[16][0x44 - 1] = "Shanghai Qimingxin Semiconductor Technology",
+[16][0x45 - 1] = "Henan Great Wall Computer System Co Ltd",
+[16][0x46 - 1] = "Beijing Memsilicon Technology Co Ltd",
+[16][0x47 - 1] = "Openchip & Software Technologies S L",
+[16][0x48 - 1] = "FlashLeap Tech (Shenzhen) Co Ltd",
+[16][0x49 - 1] = "Shenzhen JinShanDe Technology Co Ltd",
+[16][0x4a - 1] = "RUIBOHU",
+[16][0x4b - 1] = "ETA Semiconductor Ltd",
+[16][0x4c - 1] = "L&T Semiconductor Technologies Limited",
+[16][0x4d - 1] = "RAYSMEM",
+[16][0x4e - 1] = "Sichuan Zhongzhao Yongye Semiconductor",
+[16][0x4f - 1] = "Shenzhen Ruiyuanchuangxin Technology",
+[16][0x50 - 1] = "CSSI South Africa (Pty) Ltd",
+[16][0x51 - 1] = "Jeju Semiconductor Corp",
+[16][0x52 - 1] = "Origin Code LLC",
+[16][0x53 - 1] = "Chengdu Masscore Microelectronics Tech",
+[16][0x54 - 1] = "Shenzhen Whalekom Technology Co Ltd",
+[16][0x55 - 1] = "femtoAI",
+[16][0x56 - 1] = "Shanghai Chip4Tao Technology Co Ltd",
+[16][0x57 - 1] = "Shenzhenshijimokkejiyouxiangongsi",
+[16][0x58 - 1] = "DEGUA",
+[16][0x59 - 1] = "TENGYIN CELESTIALSTORAGE",
+[16][0x5a - 1] = "Shenzhen Minder Semiconductor Co Ltd",
+[16][0x5b - 1] = "GUANGSUJIE",
+[16][0x5c - 1] = "HVLANYN Technology",
+[16][0x5d - 1] = "Theo End (Shenzhen) Computing Tech Co",
+[16][0x5e - 1] = "Shenzhen Heroje Electronics Co Ltd",
+[16][0x5f - 1] = "Guangdong Yuecun Microelectronics Co",
+[16][0x60 - 1] = "Foxin Technology",
+[16][0x61 - 1] = "JinTech Semiconductor Co Limited",
+[16][0x62 - 1] = "Shenzhen Hongred Information Technology Co",
+[16][0x63 - 1] = "ZST Inc",
+[16][0x64 - 1] = "Veris Danismanlik Limited Sirketi",
+[16][0x65 - 1] = "Starblaze",
+[16][0x66 - 1] = "Siptechx",
+[16][0x67 - 1] = "Djelec",
+[16][0x68 - 1] = "Ambarella Corporation",
+[16][0x69 - 1] = "SiliconX",
+[16][0x6a - 1] = "Shenzhen Tencent Computer System Co",
+[16][0x6b - 1] = "Shenzhen Econo Electronic Co Ltd (China)",
+[16][0x6c - 1] = "Pu Sl Technology (Shenzhen) Co Limited",
+[16][0x6d - 1] = "Shenzhen Kimviking Technology Co Ltd",
+[16][0x6e - 1] = "Shenzhen Touch Think Intelligence Co Ltd",
+[16][0x6f - 1] = "Beijing Institute of Open Source Chip",
+[16][0x70 - 1] = "BYTE International Co Ltd",
+[16][0x71 - 1] = "Shenzhen ITZR Technology Co Ltd",
+[16][0x72 - 1] = "Centre Development Advanced Computing",
+[16][0x73 - 1] = "Overlord Labs",
+[16][0x74 - 1] = "Shenzhen Chaocun Technology Co Ltd",
+[16][0x75 - 1] = "Shenzhen Yuqi Electronics Co Ltd",
+[16][0x76 - 1] = "Transsemi Miceoelectronics Co Ltd",
+[16][0x77 - 1] = "Pu Sl Technology (Shenzhen) Co Limited",
+[16][0x78 - 1] = "Shenzhen Xingjiachen Electronics Co Ltd",
+[16][0x79 - 1] = "Shenzhen Xingjiachen Electronics Co Ltd",
+[16][0x7a - 1] = "Shenyang Lianxin Chuangxiang Technology",
/* EOF */
-----------------------------------------------------------------------
Summary of changes:
src/helper/jep106.inc | 74 +++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 69 insertions(+), 5 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-18 22:43:20
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 7d688bc500e011d1c39c17e2a8e402c8f1bcd58e (commit)
from df14f586629a70878636d138ec3bffd9148aaf1b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7d688bc500e011d1c39c17e2a8e402c8f1bcd58e
Author: HAOUES Ahmed <ahm...@st...>
Date: Thu Dec 25 15:44:20 2025 +0100
tcl/target: Add STM32N6x support
Add configuration file for STM32N6
Change-Id: Ia59786858724b6be141ec5f40a8d30459fb26dfb
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9355
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/tcl/target/stm32n6x.cfg b/tcl/target/stm32n6x.cfg
new file mode 100644
index 000000000..6b13cf75a
--- /dev/null
+++ b/tcl/target/stm32n6x.cfg
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# script for stm32n6x family
+# stm32n6 devices support both JTAG and SWD transports.
+
+source [find target/swj-dp.tcl]
+source [find mem_helper.tcl]
+
+if { [info exists CHIPNAME] } {
+ set _CHIPNAME $CHIPNAME
+} else {
+ set _CHIPNAME stm32n6x
+}
+
+# Work-area is a space in RAM used for flash programming
+# By default use 64kB
+if { [info exists WORKAREASIZE] } {
+ set _WORKAREASIZE $WORKAREASIZE
+} else {
+ set _WORKAREASIZE 0x10000
+}
+
+# jtag scan chain
+if { [info exists CPUTAPID] } {
+ set _CPUTAPID $CPUTAPID
+} else {
+ if { [using_jtag] } {
+ set _CPUTAPID 0x6ba00477
+ } {
+ set _CPUTAPID 0x6ba02477
+ }
+}
+
+swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+set _TARGETNAME $_CHIPNAME.cpu
+
+dap create $_CHIPNAME.dap -chain-position $_TARGETNAME
+
+target create $_CHIPNAME.ap0 mem_ap -endian little -dap $_CHIPNAME.dap -ap-num 0
+
+target create $_TARGETNAME cortex_m -endian little -dap $_CHIPNAME.dap -ap-num 1
+
+# use secure RAM by default
+$_TARGETNAME configure -work-area-phys 0x34000000 -work-area-size $_WORKAREASIZE -work-area-backup 1
+
+if { ![using_hla] } {
+ swo create $_CHIPNAME.swo -dap $_CHIPNAME.dap -ap-num 1 -baseaddr 0xE008A000
+ tpiu create $_CHIPNAME.tpiu -dap $_CHIPNAME.dap -ap-num 1 -baseaddr 0xE0084000
+}
+
+adapter speed 8000
+
+adapter srst delay 100
+if {[using_jtag]} {
+ jtag_ntrst_delay 100
+}
+
+if { [using_hla] } {
+ echo "Warn : The selected adapter does not support debugging this device in secure mode"
+} else {
+ # Use SYSRESETREQ to perform a soft reset if SRST is not fitted.
+ cortex_m reset_config sysresetreq
+}
+
+proc stm32n6x_is_secure {} {
+ # read Debug Security Control and Status Register (DSCSR) and check CDS (bit 16)
+ set DSCSR [mrw 0xE000EE08]
+ return [expr {($DSCSR & (1 << 16)) != 0}]
+}
+
+proc stm32n6x_ahb_ap_non_secure_access {} {
+ [[target current] cget -dap] apsel 1
+ # SPROT=1=Non Secure access, Priv=1
+ [[target current] cget -dap] apcsw 0x4B000000 0x4F000000
+}
+
+proc stm32n6x_ahb_ap_secure_access {} {
+ [[target current] cget -dap] apsel 1
+ # SPROT=0=Secure access, Priv=1
+ [[target current] cget -dap] apcsw 0x0B000000 0x4F000000
+}
+
+# get _CHIPNAME from current target
+proc stm32n6x_get_chipname {} {
+ return [regsub {\.[^.]*$} [target current] {}]
+}
+
+# like mrw, but with target selection
+proc stm32n6x_mrw {used_target reg} {
+ return [$used_target read_memory $reg 32 1]
+}
+
+# like mmw, but with target selection
+proc stm32n6x_mmw {used_target reg setbits clearbits} {
+ set old [stm32n6x_mrw $used_target $reg]
+ set new [expr {($old & ~$clearbits) | $setbits}]
+ $used_target mww $reg $new
+}
+
+proc stm32n6x_enter_debug {} {
+ set _CHIPNAME [stm32n6x_get_chipname]
+
+ # check security status
+ set secure [stm32n6x_is_secure]
+
+ if {$secure} {
+ stm32n6x_ahb_ap_secure_access
+ } else {
+ stm32n6x_ahb_ap_non_secure_access
+ }
+
+ # print the secure state only when it changes
+ global $_CHIPNAME.secure
+
+ if {![info exists $_CHIPNAME.secure] || $secure != [set $_CHIPNAME.secure]} {
+ # update saved security state
+ set $_CHIPNAME.secure $secure
+ set secure_str [expr {$secure ? "Secure" : "Non-Secure"}]
+ echo "$_CHIPNAME.cpu in $secure_str state"
+ }
+
+ # use secure workarea only when TrustZone is enabled
+ set use_secure_workarea 1
+ set workarea_addr [$_CHIPNAME.cpu cget -work-area-phys]
+
+ if {$use_secure_workarea} {
+ set workarea_addr [expr {$workarea_addr | 0x10000000}]
+ } else {
+ set workarea_addr [expr {$workarea_addr & ~0x10000000}]
+ }
+
+ $_CHIPNAME.cpu configure -work-area-phys $workarea_addr
+
+ global $_CHIPNAME.workarea_size
+ if {![info exists $_CHIPNAME.workarea_size]} {
+ set $_CHIPNAME.workarea_size [$_CHIPNAME.cpu cget -work-area-size]
+ }
+
+ set workarea_size [set $_CHIPNAME.workarea_size]
+ $_CHIPNAME.cpu configure -work-area-size $workarea_size
+}
+
+$_CHIPNAME.ap0 configure -event examine-end {
+ set _CHIPNAME [stm32n6x_get_chipname]
+ # Enable Trace Port and DBG Clock (uses more power)
+ # DBGMCU_CR |= DBGCLK_EN | TRACECLK_EN
+ stm32n6x_mmw $_CHIPNAME.ap0 0x44001004 0x00300000 0
+}
+
+$_TARGETNAME configure -event examine-end {
+ stm32n6x_enter_debug
+ set _CHIPNAME [stm32n6x_get_chipname]
+
+ # Enable debug during low power modes (uses more power)
+ # DBGMCU_CR |= DBG_STANDBY | DBG_STOP | DBG_SLEEP
+ stm32n6x_mmw $_CHIPNAME.ap0 0x44001004 0x00000007 0
+
+ # Stop watchdog counters during halt
+ # DBGMCU_APB1LFZ |= DBG_WWDG_STOP
+ stm32n6x_mmw $_CHIPNAME.ap0 0x44001010 0x00000800 0
+ # DBGMCU_APB4FZ |= DBG_IWDG_STOP
+ stm32n6x_mmw $_CHIPNAME.ap0 0x4400101C 0x00040000 0
+}
+
+$_TARGETNAME configure -event halted {
+ stm32n6x_enter_debug
+}
-----------------------------------------------------------------------
Summary of changes:
tcl/target/stm32n6x.cfg | 167 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 167 insertions(+)
create mode 100644 tcl/target/stm32n6x.cfg
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-18 22:36:44
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via df14f586629a70878636d138ec3bffd9148aaf1b (commit)
via b074fea0793ebc0914bfdbfc25422ce65bb195ef (commit)
from dab933b3aeff6ac45df7b468723470acc9ebc256 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit df14f586629a70878636d138ec3bffd9148aaf1b
Author: Guillaume Faussard <gui...@wi...>
Date: Fri Dec 26 11:56:26 2025 +0100
flash/stm32l4x: support STM32WBA6xx devices
STM32WBA6xx support, based on ST Reference Manual RM0515 Rev 4.
Change-Id: I0ddeadd5008a9f81ec638c9ad230b2f6f0349b5a
Signed-off-by: Guillaume Faussard <gui...@wi...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9329
Reviewed-by: Ahmed Haoues <ahm...@st...>
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c
index 6823fc60f..7d5558a86 100644
--- a/src/flash/nor/stm32l4x.c
+++ b/src/flash/nor/stm32l4x.c
@@ -287,7 +287,7 @@ struct stm32l4_wrp {
};
/* human readable list of families this drivers supports (sorted alphabetically) */
-static const char *device_families = "STM32C0/G0/G4/L4/L4+/L5/U0/U3/U5/WB/WL";
+static const char *device_families = "STM32C0/G0/G4/L4/L4+/L5/U0/U3/U5/WB/WBA/WL";
static const struct stm32l4_rev stm32l47_l48xx_revs[] = {
{ 0x1000, "1" }, { 0x1001, "2" }, { 0x1003, "3" }, { 0x1007, "4" }
@@ -400,6 +400,10 @@ static const struct stm32l4_rev stm32wba5x_revs[] = {
{ 0x1000, "A" },
};
+static const struct stm32l4_rev stm32wba6x_revs[] = {
+ { 0x1000, "A" }, { 0x1001, "Z" },
+};
+
static const struct stm32l4_rev stm32wb1xx_revs[] = {
{ 0x1000, "A" }, { 0x2000, "B" },
};
@@ -758,6 +762,19 @@ static const struct stm32l4_part_info stm32l4_parts[] = {
.otp_base = 0x0BF90000,
.otp_size = 512,
},
+ {
+ .id = DEVID_STM32WBA6X,
+ .revs = stm32wba6x_revs,
+ .num_revs = ARRAY_SIZE(stm32wba6x_revs),
+ .device_str = "STM32WBA6x",
+ .max_flash_size_kb = 2048,
+ .flags = F_HAS_DUAL_BANK | F_QUAD_WORD_PROG | F_HAS_TZ
+ | F_HAS_L5_FLASH_REGS | F_WRP_HAS_LOCK,
+ .flash_regs_base = 0x40022000,
+ .fsize_addr = 0x0BFA07A0,
+ .otp_base = 0x0BFA0000,
+ .otp_size = 512,
+ },
{
.id = DEVID_STM32WB1XX,
.revs = stm32wb1xx_revs,
@@ -2210,10 +2227,21 @@ static int stm32l4_probe(struct flash_bank *bank)
}
break;
case DEVID_STM32WBA5X:
- /* single bank flash */
+ case DEVID_STM32WBA6X:
+ /* according to RM0493 Rev 7, Chapter 7.3.1
+ * WBA5xx have 8K page size and are always
+ * single bank.
+ * According to RM0515 Rev 4, Chapter 7.3.1
+ * WBA6xx have 8K page size and are always
+ * DUAL BANK
+ */
page_size_kb = 8;
num_pages = flash_size_kb / page_size_kb;
stm32l4_info->bank1_sectors = num_pages;
+ if (stm32l4_info->optr & FLASH_U5_DUALBANK) {
+ stm32l4_info->dual_bank_mode = true;
+ stm32l4_info->bank1_sectors = num_pages / 2;
+ }
break;
case DEVID_STM32WB5XX:
case DEVID_STM32WB3XX:
diff --git a/src/flash/nor/stm32l4x.h b/src/flash/nor/stm32l4x.h
index 8e6cb4309..10819367d 100644
--- a/src/flash/nor/stm32l4x.h
+++ b/src/flash/nor/stm32l4x.h
@@ -120,6 +120,7 @@
#define DEVID_STM32WB5XX 0x495
#define DEVID_STM32WB3XX 0x496
#define DEVID_STM32WLE_WL5XX 0x497
+#define DEVID_STM32WBA6X 0x4B0
/* known Flash base addresses */
#define STM32_FLASH_BANK_BASE 0x08000000
diff --git a/tcl/target/stm32wba6x.cfg b/tcl/target/stm32wba6x.cfg
new file mode 100644
index 000000000..470af0f27
--- /dev/null
+++ b/tcl/target/stm32wba6x.cfg
@@ -0,0 +1,106 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# script for stm32wba6x family
+
+#
+# stm32wba6x devices support both JTAG and SWD transports.
+#
+source [find target/swj-dp.tcl]
+source [find mem_helper.tcl]
+
+if { [info exists CHIPNAME] } {
+ set _CHIPNAME $CHIPNAME
+} else {
+ set _CHIPNAME stm32wba6x
+}
+
+# Work-area is a space in RAM used for flash programming
+# By default use 64kB
+if { [info exists WORKAREASIZE] } {
+ set _WORKAREASIZE $WORKAREASIZE
+} else {
+ set _WORKAREASIZE 0x10000
+}
+
+# jtag scan chain
+if { [info exists CPUTAPID] } {
+ set _CPUTAPID $CPUTAPID
+} else {
+ if { [using_jtag] } {
+ set _CPUTAPID 0x6ba00477
+ } else {
+ # SWD IDCODE (single drop, arm)
+ set _CPUTAPID 0x6ba02477
+ }
+}
+
+swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu
+
+if {[using_jtag]} {
+ jtag newtap $_CHIPNAME bs -irlen 5
+}
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME cortex_m -endian little -dap $_CHIPNAME.dap -ap-num 1
+
+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
+
+flash bank $_CHIPNAME.flash stm32l4x 0x08000000 0 0 0 $_TARGETNAME
+flash bank $_CHIPNAME.otp stm32l4x 0x0bfa0000 0 0 0 $_TARGETNAME
+
+# Common knowledges tells JTAG speed should be <= F_CPU/6.
+# F_CPU after reset is MSI 4MHz, so use F_JTAG = 500 kHz to stay on
+# the safe side.
+#
+# Note that there is a pretty wide band where things are
+# more or less stable, see http://openocd.zylin.com/#/c/3366/
+adapter speed 500
+
+adapter srst delay 100
+if {[using_jtag]} {
+ jtag_ntrst_delay 100
+}
+
+reset_config srst_nogate
+
+if {![using_hla]} {
+ # if srst is not fitted use SYSRESETREQ to
+ # perform a soft reset
+ cortex_m reset_config sysresetreq
+}
+
+$_TARGETNAME configure -event reset-init {
+ # CPU comes out of reset with HSION | HSIRDY.
+ # Use HSI 16 MHz clock, compliant even with VOS == 2.
+ # 1 WS compliant with VOS == 2 and 16 MHz.
+ mmw 0x40022000 0x00000001 0x0000000E ;# FLASH_ACR: Latency = 1
+ mmw 0x56020C00 0x00000100 0x00000000 ;# RCC_CR |= HSION
+ mmw 0x56020C1C 0x00000000 0x00000002 ;# RCC_CFGR1: SW=HSI16
+ # Boost JTAG frequency
+ adapter speed 4000
+}
+
+$_TARGETNAME configure -event reset-start {
+ # Reset clock is HSI (16 MHz)
+ adapter speed 2000
+}
+
+$_TARGETNAME configure -event examine-end {
+ # Enable debug during low power modes (uses more power)
+ # DBGMCU_SCR |= DBG_STANDBY | DBG_STOP
+ mmw 0xE0044004 0x00000006 0
+
+ # Stop watchdog counters during halt
+ # DBGMCU_APB1LFZR |= DBG_IWDG_STOP | DBG_WWDG_STOP
+ mmw 0xE0044008 0x00001800 0
+}
+
+tpiu create $_CHIPNAME.tpiu -dap $_CHIPNAME.dap -ap-num 0 -baseaddr 0xE0040000
+
+lappend _telnet_autocomplete_skip _proc_pre_enable_$_CHIPNAME.tpiu
+proc _proc_pre_enable_$_CHIPNAME.tpiu {_targetname} {
+ targets $_targetname
+}
+
+$_CHIPNAME.tpiu configure -event pre-enable "_proc_pre_enable_$_CHIPNAME.tpiu $_TARGETNAME"
commit b074fea0793ebc0914bfdbfc25422ce65bb195ef
Author: Guillaume Faussard <gui...@wi...>
Date: Fri Dec 26 12:09:59 2025 +0100
tcl/target/stm32wba5x: Fix wrong addresses
According to ST Reference Manual RM093 Rev 7:
- OTP is 0x0BF90000
2.3.2 Memory map and register boundary addresses, page 84
- DBGMCU registers starts at 0xE0044000
43.5.1 System debug ROM table, page 1736
Change-Id: I735c6184d9f3fd767d9d776b238e88fcfbe8cc8d
Signed-off-by: Guillaume Faussard <gui...@wi...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9328
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
Reviewed-by: Ahmed Haoues <ahm...@st...>
diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c
index cfb40433b..6823fc60f 100644
--- a/src/flash/nor/stm32l4x.c
+++ b/src/flash/nor/stm32l4x.c
@@ -755,7 +755,7 @@ static const struct stm32l4_part_info stm32l4_parts[] = {
| F_WRP_HAS_LOCK,
.flash_regs_base = 0x40022000,
.fsize_addr = 0x0FF907A0,
- .otp_base = 0x0FF90000,
+ .otp_base = 0x0BF90000,
.otp_size = 512,
},
{
diff --git a/tcl/target/stm32wba5x.cfg b/tcl/target/stm32wba5x.cfg
index ea6544bf5..704174db4 100644
--- a/tcl/target/stm32wba5x.cfg
+++ b/tcl/target/stm32wba5x.cfg
@@ -47,7 +47,7 @@ target create $_TARGETNAME cortex_m -endian little -dap $_CHIPNAME.dap -ap-num 1
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
flash bank $_CHIPNAME.flash stm32l4x 0x08000000 0 0 0 $_TARGETNAME
-flash bank $_CHIPNAME.otp stm32l4x 0x0FF90000 0 0 0 $_TARGETNAME
+flash bank $_CHIPNAME.otp stm32l4x 0x0bf90000 0 0 0 $_TARGETNAME
# Common knowledges tells JTAG speed should be <= F_CPU/6.
# F_CPU after reset is MSI 4MHz, so use F_JTAG = 500 kHz to stay on
@@ -88,12 +88,12 @@ $_TARGETNAME configure -event reset-start {
$_TARGETNAME configure -event examine-end {
# Enable debug during low power modes (uses more power)
- # DBGMCU_CR |= DBG_STANDBY | DBG_STOP
- mmw 0xE0042004 0x00000006 0
+ # DBGMCU_SCR |= DBG_STANDBY | DBG_STOP
+ mmw 0xE0044004 0x00000006 0
# Stop watchdog counters during halt
# DBGMCU_APB1LFZR |= DBG_IWDG_STOP | DBG_WWDG_STOP
- mmw 0xE0042008 0x00001800 0
+ mmw 0xE0044008 0x00001800 0
}
tpiu create $_CHIPNAME.tpiu -dap $_CHIPNAME.dap -ap-num 0 -baseaddr 0xE0040000
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/stm32l4x.c | 34 ++++++++++++++++++++++++---
src/flash/nor/stm32l4x.h | 1 +
tcl/target/stm32wba5x.cfg | 8 +++----
tcl/target/{stm32wba5x.cfg => stm32wba6x.cfg} | 14 +++++------
4 files changed, 43 insertions(+), 14 deletions(-)
copy tcl/target/{stm32wba5x.cfg => stm32wba6x.cfg} (90%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-18 22:36:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via dab933b3aeff6ac45df7b468723470acc9ebc256 (commit)
via c36f59d9b49fc2152e98253db73dac61add08a2f (commit)
from 89ded3d2f0d01d0ff325bbe50d0dc1910b6ee101 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit dab933b3aeff6ac45df7b468723470acc9ebc256
Author: Guillaume Faussard <gui...@wi...>
Date: Fri Dec 26 11:53:38 2025 +0100
tcl/target/stm32wba5x: Update post rename
This configuration file is not for all stm32wbax anymore.
Change-Id: I4399ba7cfdaeaff65a705b6d67e014614aef1b72
Signed-off-by: Guillaume Faussard <gui...@wi...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9327
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
Reviewed-by: Ahmed Haoues <ahm...@st...>
diff --git a/tcl/target/stm32wba5x.cfg b/tcl/target/stm32wba5x.cfg
index 129940720..ea6544bf5 100644
--- a/tcl/target/stm32wba5x.cfg
+++ b/tcl/target/stm32wba5x.cfg
@@ -1,9 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-# script for stm32wbax family
+# script for stm32wba5x family
#
-# stm32wba devices support both JTAG and SWD transports.
+# stm32wba5x devices support both JTAG and SWD transports.
#
source [find target/swj-dp.tcl]
source [find mem_helper.tcl]
@@ -11,7 +11,7 @@ source [find mem_helper.tcl]
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
- set _CHIPNAME stm32wbax
+ set _CHIPNAME stm32wba5x
}
# Work-area is a space in RAM used for flash programming
@@ -22,7 +22,7 @@ if { [info exists WORKAREASIZE] } {
set _WORKAREASIZE 0x10000
}
-#jtag scan chain
+# jtag scan chain
if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
commit c36f59d9b49fc2152e98253db73dac61add08a2f
Author: Guillaume Faussard <gui...@wi...>
Date: Fri Dec 26 11:51:33 2025 +0100
tcl/target/stm32wba5x: Rename configuration file
Prepare to add stm32wba6x support.
The OTP address is different between the stm32wb5xxx and stm32wb6xxx
microcontrollers, so the configuration file can't be the same for both.
Change-Id: Ib7485e0211779d98cca56e73397197b712460c69
Signed-off-by: Guillaume Faussard <gui...@wi...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9326
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
Reviewed-by: Ahmed Haoues <ahm...@st...>
diff --git a/tcl/target/stm32wbax.cfg b/tcl/target/stm32wba5x.cfg
similarity index 100%
rename from tcl/target/stm32wbax.cfg
rename to tcl/target/stm32wba5x.cfg
-----------------------------------------------------------------------
Summary of changes:
tcl/target/{stm32wbax.cfg => stm32wba5x.cfg} | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
rename tcl/target/{stm32wbax.cfg => stm32wba5x.cfg} (95%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-18 22:30:15
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 89ded3d2f0d01d0ff325bbe50d0dc1910b6ee101 (commit)
via 2389c28ea8f65a4d18b0d608e6e82966b33b13a5 (commit)
from 28eb4c37b9bbb06a3b6e96e1187e789f6132caf4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 89ded3d2f0d01d0ff325bbe50d0dc1910b6ee101
Author: HAOUES Ahmed <ahm...@st...>
Date: Thu Dec 25 10:37:55 2025 +0100
flash/bluenrg-x: Support STM32WL33 AKA Spirit3
This device has a flash size up to 256 Kb with page size equal to 2 Kb
Change-Id: I2e284e9cd1d5be7df491a2fe2c9d11ce99c81d73
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9354
Reviewed-by: Tomas Vanek <va...@fb...>
Tested-by: jenkins
Reviewed-by: Tarek BOCHKATI <tar...@gm...>
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/flash/nor/bluenrg-x.c b/src/flash/nor/bluenrg-x.c
index 967a4d985..caf659eff 100644
--- a/src/flash/nor/bluenrg-x.c
+++ b/src/flash/nor/bluenrg-x.c
@@ -87,6 +87,16 @@ static const struct flash_ctrl_priv_data flash_priv_data_lpf = {
.part_name = "STM32WB09 (BLUENRG-LPF)",
};
+static const struct flash_ctrl_priv_data flash_priv_data_spirit3 = {
+ .die_id_reg = 0x40000000,
+ .jtag_idcode_reg = 0x40000004,
+ .flash_base = 0x10040000,
+ .flash_regs_base = 0x40001000,
+ .flash_page_size = 2048,
+ .jtag_idcode = 0x02027041,
+ .part_name = "STM32WL33 (SPIRIT3)",
+};
+
struct bluenrgx_flash_bank {
bool probed;
uint32_t die_id;
@@ -98,7 +108,8 @@ static const struct flash_ctrl_priv_data *flash_ctrl[] = {
&flash_priv_data_2,
&flash_priv_data_lp,
&flash_priv_data_lps,
- &flash_priv_data_lpf
+ &flash_priv_data_lpf,
+ &flash_priv_data_spirit3
};
/* flash_bank bluenrg-x 0 0 0 0 <target#> */
@@ -476,7 +487,8 @@ static int bluenrgx_probe(struct flash_bank *bank)
return retval;
if (idcode != flash_priv_data_lp.jtag_idcode && idcode != flash_priv_data_lps.jtag_idcode
- && idcode != flash_priv_data_lpf.jtag_idcode) {
+ && idcode != flash_priv_data_lpf.jtag_idcode
+ && idcode != flash_priv_data_spirit3.jtag_idcode) {
retval = target_read_u32(bank->target, BLUENRG2_JTAG_REG, &idcode);
if (retval != ERROR_OK)
return retval;
commit 2389c28ea8f65a4d18b0d608e6e82966b33b13a5
Author: HAOUES Ahmed <ahm...@st...>
Date: Thu Dec 25 10:30:07 2025 +0100
flash/bluenrg-x: implement flash bank deallocation with simple alloc
All drivers which simply allocate one driver_priv memory block
per each bank now use default_flash_free_driver_priv()
Change-Id: Id998013332fe29d6882004a0ff897464dd4dccbc
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9353
Reviewed-by: Tarek BOCHKATI <tar...@gm...>
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/flash/nor/bluenrg-x.c b/src/flash/nor/bluenrg-x.c
index ccbbcc66e..967a4d985 100644
--- a/src/flash/nor/bluenrg-x.c
+++ b/src/flash/nor/bluenrg-x.c
@@ -563,4 +563,5 @@ const struct flash_driver bluenrgx_flash = {
.protect_check = NULL,
.auto_probe = bluenrgx_auto_probe,
.info = bluenrgx_get_info,
+ .free_driver_priv = default_flash_free_driver_priv,
};
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/bluenrg-x.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-18 22:29:40
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 28eb4c37b9bbb06a3b6e96e1187e789f6132caf4 (commit)
from 587c7831033cda2c5aa683d18a183df52b631004 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 28eb4c37b9bbb06a3b6e96e1187e789f6132caf4
Author: Samuel Obuch <sam...@es...>
Date: Mon Sep 8 13:25:04 2025 +0200
target/xtensa: fix memory leaks in reg_cache
There are two allocated fields that are never freed,
contiguous_regs_desc and contiguous_regs_list.
Additionally, prevent memory leaks and invalid accesses
when xtregs command is called repeatedly.
Change-Id: Id6ab4a2565ddb19e1e9d3f1c3b822182b3a6fb9d
Signed-off-by: Samuel Obuch <sam...@es...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9113
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
Reviewed-by: Ian Thompson <ian...@ca...>
diff --git a/src/target/xtensa/xtensa.c b/src/target/xtensa/xtensa.c
index f8c36b01d..faf57fc2e 100644
--- a/src/target/xtensa/xtensa.c
+++ b/src/target/xtensa/xtensa.c
@@ -3493,6 +3493,10 @@ static void xtensa_free_reg_cache(struct target *target)
free(xtensa->optregs);
}
xtensa->optregs = NULL;
+ free(xtensa->contiguous_regs_desc);
+ xtensa->contiguous_regs_desc = NULL;
+ free(xtensa->contiguous_regs_list);
+ xtensa->contiguous_regs_list = NULL;
}
void xtensa_target_deinit(struct target *target)
@@ -3896,6 +3900,10 @@ COMMAND_HELPER(xtensa_cmd_xtreg_do, struct xtensa *xtensa)
xtensa->total_regs_num = numregs;
xtensa->core_regs_num = 0;
xtensa->num_optregs = 0;
+ /* Prevent memory leak in case xtregs is called twice */
+ free(xtensa->optregs);
+ free(xtensa->contiguous_regs_desc);
+ xtensa->contiguous_regs_desc = NULL;
/* A little more memory than required, but saves a second initialization pass */
xtensa->optregs = calloc(xtensa->total_regs_num, sizeof(struct xtensa_reg_desc));
if (!xtensa->optregs) {
-----------------------------------------------------------------------
Summary of changes:
src/target/xtensa/xtensa.c | 8 ++++++++
1 file changed, 8 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-15 10:42:56
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 587c7831033cda2c5aa683d18a183df52b631004 (commit)
from 74d0cff2fe7c677eb047ec63baff78e1a8eb6337 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 587c7831033cda2c5aa683d18a183df52b631004
Author: Michal Lenc <mic...@se...>
Date: Mon Sep 1 09:37:27 2025 +0200
doc/opencocd.texi: mention support of PIC32CZ CA70
PIC32CZ CA70 family from Microchip is both binary and pin to pin
compatible with Atmel's SAM series, therefore the same driver
can be used.
Tested on PIC32CZ CA70 Curiosity evaluation kit with ST-Link interface.
Change-Id: I89a760c776a7c043c133bad058a9f5850a878676
Signed-off-by: Michal Lenc <mic...@se...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9109
Reviewed-by: Tomas Vanek <va...@fb...>
Tested-by: jenkins
diff --git a/doc/openocd.texi b/doc/openocd.texi
index ebe956789..2199760e2 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -7032,6 +7032,11 @@ All members of the ATSAMV7x, ATSAMS70, and ATSAME70 families from
Atmel include internal flash and use ARM's Cortex-M7 core.
This driver uses the same command names/syntax as @xref{at91sam3}.
+The same driver provides interface for PIC32CZ CA70 series. This
+Cortex-M7 family from Microchip is both binary and pin to pin compatible
+with Atmel's SAM series. The PIC series is a replacement of the original
+SAM series from Atmel after the company acquisition by Microchip.
+
@example
flash bank $_FLASHNAME atsamv 0x00400000 0 0 0 $_TARGETNAME
@end example
-----------------------------------------------------------------------
Summary of changes:
doc/openocd.texi | 5 +++++
1 file changed, 5 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-13 08:27:44
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 74d0cff2fe7c677eb047ec63baff78e1a8eb6337 (commit)
from 8bd25e032999df48e80d8e9abce539b75d393bb9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 74d0cff2fe7c677eb047ec63baff78e1a8eb6337
Author: Igor Cudnik <ig...@it...>
Date: Sun Jan 4 21:04:36 2026 +0100
flash: nor: stm32f2x: add NULL check for stm32x_info
This commit prevents NULL dereference during malloc
failure on stm32x bank command.
Change-Id: Ib348a1863aee5f8ed9d1699d203cdc4c83557628
Signed-off-by: Igor Cudnik <ig...@it...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9379
Reviewed-by: Tomas Vanek <va...@fb...>
Tested-by: jenkins
diff --git a/src/flash/nor/stm32f2x.c b/src/flash/nor/stm32f2x.c
index 3bafde56f..5276d323c 100644
--- a/src/flash/nor/stm32f2x.c
+++ b/src/flash/nor/stm32f2x.c
@@ -250,6 +250,10 @@ FLASH_BANK_COMMAND_HANDLER(stm32x_flash_bank_command)
return ERROR_COMMAND_SYNTAX_ERROR;
stm32x_info = malloc(sizeof(struct stm32x_flash_bank));
+ if (!stm32x_info) {
+ LOG_ERROR("Out of memory");
+ return ERROR_FAIL;
+ }
bank->driver_priv = stm32x_info;
stm32x_info->probed = false;
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/stm32f2x.c | 4 ++++
1 file changed, 4 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-11 18:20:46
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 8bd25e032999df48e80d8e9abce539b75d393bb9 (commit)
from daaf48b96fdbbe2d89465298da18a2e20f23329a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8bd25e032999df48e80d8e9abce539b75d393bb9
Author: Tomas Vanek <va...@fb...>
Date: Sat Jan 3 12:09:20 2026 +0100
flash/nor: do not report error as unknown
The command "flash erase_check" reported any error code from
flash driver erase_check method as "unknown" despite the error
is usually described in a log message from the flash driver layer.
E.g.:
Error: Target not halted
unknown error when checking erase state of flash bank #0 at 0x00000000
Reword the message not to mislead user.
Change-Id: Ica768fa2924c107fa36d0f654d2c3149aa608dc4
Signed-off-by: Tomas Vanek <va...@fb...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9331
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/flash/nor/tcl.c b/src/flash/nor/tcl.c
index 517d9aca1..2e7e6a38f 100644
--- a/src/flash/nor/tcl.c
+++ b/src/flash/nor/tcl.c
@@ -192,7 +192,7 @@ COMMAND_HANDLER(handle_flash_erase_check_command)
command_print(CMD, "successfully checked erase state");
else {
command_print(CMD,
- "unknown error when checking erase state of flash bank #%s at "
+ "Error: checking erase state of flash bank #%s at "
TARGET_ADDR_FMT,
CMD_ARGV[0],
p->base);
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/tcl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2026-01-11 18:19:40
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via daaf48b96fdbbe2d89465298da18a2e20f23329a (commit)
from 58eb7e31a66d5e0fdcbb1796d0547f00680d00aa (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit daaf48b96fdbbe2d89465298da18a2e20f23329a
Author: Lucien Dufour <luc...@du...>
Date: Tue Dec 9 19:04:03 2025 +0100
target/armv4_5: drop goto and label
Drop the jumps to the label and the label.
Change-Id: I4e20684b06af09dcd749ae520e299c79ce67b467
Signed-off-by: Lucien Dufour <luc...@du...>
Reviewed-on: https://review.openocd.org/c/openocd/+/9292
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/target/armv4_5.c b/src/target/armv4_5.c
index 1b3ca0cdb..78bcc06ba 100644
--- a/src/target/armv4_5.c
+++ b/src/target/armv4_5.c
@@ -1638,8 +1638,10 @@ int arm_checksum_memory(struct target *target,
retval = target_write_u32(target,
crc_algorithm->address + i * sizeof(uint32_t),
le_to_h_u32(&arm_crc_code_le[i * 4]));
- if (retval != ERROR_OK)
- goto cleanup;
+ if (retval != ERROR_OK) {
+ target_free_working_area(target, crc_algorithm);
+ return retval;
+ }
}
arm_algo.common_magic = ARM_COMMON_MAGIC;
@@ -1672,7 +1674,6 @@ int arm_checksum_memory(struct target *target,
destroy_reg_param(®_params[0]);
destroy_reg_param(®_params[1]);
-cleanup:
target_free_working_area(target, crc_algorithm);
return retval;
@@ -1719,8 +1720,10 @@ int arm_blank_check_memory(struct target *target,
check_algorithm->address
+ i * sizeof(uint32_t),
le_to_h_u32(&check_code_le[i * 4]));
- if (retval != ERROR_OK)
- goto cleanup;
+ if (retval != ERROR_OK) {
+ target_free_working_area(target, check_algorithm);
+ return retval;
+ }
}
arm_algo.common_magic = ARM_COMMON_MAGIC;
@@ -1752,7 +1755,6 @@ int arm_blank_check_memory(struct target *target,
destroy_reg_param(®_params[1]);
destroy_reg_param(®_params[2]);
-cleanup:
target_free_working_area(target, check_algorithm);
if (retval != ERROR_OK)
-----------------------------------------------------------------------
Summary of changes:
src/target/armv4_5.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|