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
(44) |
Dec
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-13 16:23:08
|
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 0644a88a1ba60ccc2730a10954d255342a276309 (commit)
via 990ee1be73bcc0e901282c4898ee14c663c781c6 (commit)
from 4732e40637682a805956fd99832c151a9d4a691e (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 0644a88a1ba60ccc2730a10954d255342a276309
Author: HAOUES Ahmed <ahm...@st...>
Date: Tue May 27 11:34:24 2025 +0100
flash/bluenrg-x: Support STM32WB09 AKA BlueNRG-LPF device
The BlueNRG-LPF has a flash size up to 512 Kb
Change-Id: I4c71b716330351004f4f2ab8bf8eac7d5bb694eb
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8881
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/flash/nor/bluenrg-x.c b/src/flash/nor/bluenrg-x.c
index d019c1165..cde4af5e3 100644
--- a/src/flash/nor/bluenrg-x.c
+++ b/src/flash/nor/bluenrg-x.c
@@ -19,6 +19,7 @@
#define BLUENRG2_JTAG_REG (flash_priv_data_2.jtag_idcode_reg)
#define BLUENRGLP_JTAG_REG (flash_priv_data_lp.jtag_idcode_reg)
+#define BLUENRGLPF_JTAG_REG (flash_priv_data_lpf.jtag_idcode_reg)
#define DIE_ID_REG(bluenrgx_info) (bluenrgx_info->flash_ptr->die_id_reg)
#define JTAG_IDCODE_REG(bluenrgx_info) (bluenrgx_info->flash_ptr->jtag_idcode_reg)
@@ -76,6 +77,16 @@ static const struct flash_ctrl_priv_data flash_priv_data_lps = {
.part_name = "STM32WB05 (BLUENRG-LPS)",
};
+static const struct flash_ctrl_priv_data flash_priv_data_lpf = {
+ .die_id_reg = 0x40000000,
+ .jtag_idcode_reg = 0x40000004,
+ .flash_base = 0x10040000,
+ .flash_regs_base = 0x40001000,
+ .flash_page_size = 2048,
+ .jtag_idcode = 0x02032041,
+ .part_name = "STM32WB09 (BLUENRG-LPF)",
+};
+
struct bluenrgx_flash_bank {
bool probed;
uint32_t die_id;
@@ -86,7 +97,9 @@ static const struct flash_ctrl_priv_data *flash_ctrl[] = {
&flash_priv_data_1,
&flash_priv_data_2,
&flash_priv_data_lp,
- &flash_priv_data_lps};
+ &flash_priv_data_lps,
+ &flash_priv_data_lpf
+};
/* flash_bank bluenrg-x 0 0 0 0 <target#> */
FLASH_BANK_COMMAND_HANDLER(bluenrgx_flash_bank_command)
@@ -387,7 +400,8 @@ static int bluenrgx_probe(struct flash_bank *bank)
if (retval != ERROR_OK)
return retval;
- if ((idcode != flash_priv_data_lp.jtag_idcode) && (idcode != flash_priv_data_lps.jtag_idcode)) {
+ if (idcode != flash_priv_data_lp.jtag_idcode && idcode != flash_priv_data_lps.jtag_idcode
+ && idcode != flash_priv_data_lpf.jtag_idcode) {
retval = target_read_u32(bank->target, BLUENRG2_JTAG_REG, &idcode);
if (retval != ERROR_OK)
return retval;
commit 990ee1be73bcc0e901282c4898ee14c663c781c6
Author: HAOUES Ahmed <ahm...@st...>
Date: Tue May 27 11:22:09 2025 +0100
flash/bluenrg-x: Add blueNRG alternate names
BlueNRG-LP -> STM32WB07
BlueNRG-LPS -> STM32WB05
Change-Id: I8e05ea29e84d3a7842e145fb66f448d0c82bd004
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8880
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/flash/nor/bluenrg-x.c b/src/flash/nor/bluenrg-x.c
index 9ced2e971..d019c1165 100644
--- a/src/flash/nor/bluenrg-x.c
+++ b/src/flash/nor/bluenrg-x.c
@@ -63,7 +63,7 @@ static const struct flash_ctrl_priv_data flash_priv_data_lp = {
.flash_regs_base = 0x40001000,
.flash_page_size = 2048,
.jtag_idcode = 0x0201E041,
- .part_name = "BLUENRG-LP",
+ .part_name = "STM32WB07 (BLUENRG-LP)",
};
static const struct flash_ctrl_priv_data flash_priv_data_lps = {
@@ -73,7 +73,7 @@ static const struct flash_ctrl_priv_data flash_priv_data_lps = {
.flash_regs_base = 0x40001000,
.flash_page_size = 2048,
.jtag_idcode = 0x02028041,
- .part_name = "BLUENRG-LPS",
+ .part_name = "STM32WB05 (BLUENRG-LPS)",
};
struct bluenrgx_flash_bank {
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/bluenrg-x.c | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:24:28
|
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 4732e40637682a805956fd99832c151a9d4a691e (commit)
from 1347b693a508179db5b19279cd6a37753fe0dfd5 (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 4732e40637682a805956fd99832c151a9d4a691e
Author: Antonio Borneo <bor...@gm...>
Date: Tue Jun 3 10:34:29 2025 +0200
configure: hide build issue of amt_jtagaccel driver by disabling it
With commit d8a2f6dbcf5f ("configure.ac: show the Amontec
JTAG-Accelerator driver in the config summary") the driver
amt_jtagaccel is now build by default on Linux.
This highlights the dependency of some include files, dependency
that is not properly managed and that can cause build failure.
The driver is queued to be dropped soon, so there is no real
interest to fix the dependencies.
Change the default so the driver is not built if the user does not
require it at configure time.
Change-Id: Ifb74e2c802abda290efbf59ca4ce02048c94e6f8
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8939
Reviewed-by: R. Diez <rdi...@rd...>
Tested-by: jenkins
diff --git a/configure.ac b/configure.ac
index c44d902d2..3e1d9a2ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -329,11 +329,14 @@ AC_ARG_ADAPTERS([
JTAG_DPI_ADAPTER,
JTAG_VPI_ADAPTER,
RSHIM_ADAPTER,
- AMTJTAGACCEL_ADAPTER,
PCIE_ADAPTERS,
LIBJAYLINK_ADAPTERS
],[auto])
+AC_ARG_ADAPTERS([
+ AMTJTAGACCEL_ADAPTER
+ ],[no])
+
AC_ARG_ENABLE([parport],
AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
[build_parport=$enableval], [build_parport=no])
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:24:06
|
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 1347b693a508179db5b19279cd6a37753fe0dfd5 (commit)
from d9b614a56db9ff08b349dc29f4b257c16a442013 (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 1347b693a508179db5b19279cd6a37753fe0dfd5
Author: Antonio Borneo <bor...@gm...>
Date: Wed May 28 16:58:44 2025 +0200
configure: fix for missing include files on Linux
By merging [1] and [2], the drivers 'xlnx-pcie-xvc' and 'linuxspidev'
are now build by default on Linux.
This highlights the dependency of some include files under subfolder
'linux' that are not installed by default in all Linux boxes.
Add the check in 'configure' for the presence of the include file
and conditionally enable the build of the driver.
Change-Id: Ie88645c3455ab07622f069a0cc7bf09d1a5a2c75
Signed-off-by: Antonio Borneo <bor...@gm...>
Link: [1] 7214c8be46f7 ("configure: show adapter Xilinx XVC/PCIe in the configuration summary")
Link: [2] 83e0293f7ba3 ("Add Linux SPI device SWD adapter support")
Reviewed-on: https://review.openocd.org/c/openocd/+/8935
Tested-by: jenkins
diff --git a/configure.ac b/configure.ac
index e48653b21..c44d902d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -63,6 +63,8 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <features.h>]], [[int v = __GLIBC_
AC_MSG_RESULT($have_glibc)
AC_CHECK_HEADERS([fcntl.h])
+AC_CHECK_HEADERS([linux/pci.h])
+AC_CHECK_HEADERS([linux/spi/spidev.h])
AC_CHECK_HEADERS([malloc.h])
AC_CHECK_HEADERS([netdb.h])
AC_CHECK_HEADERS([poll.h])
@@ -694,10 +696,11 @@ PROCESS_ADAPTERS([LIBGPIOD_ADAPTERS], ["x$use_libgpiod" = "xyes"], [Linux libgpi
PROCESS_ADAPTERS([SYSFSGPIO_ADAPTER], ["x$is_linux" = "xyes"], [Linux sysfs])
PROCESS_ADAPTERS([REMOTE_BITBANG_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([LIBJAYLINK_ADAPTERS], ["x$use_internal_libjaylink" = "xyes" -o "x$use_libjaylink" = "xyes"], [libjaylink-0.2])
-PROCESS_ADAPTERS([PCIE_ADAPTERS], ["x$is_linux" = "xyes"], [Linux build])
+PROCESS_ADAPTERS([PCIE_ADAPTERS], ["x$is_linux" = "xyes" -a "x$ac_cv_header_linux_pci_h" = "xyes"], [Linux build])
PROCESS_ADAPTERS([SERIAL_PORT_ADAPTERS], ["x$can_build_buspirate" = "xyes"],
[internal error: validation should happen beforehand])
-PROCESS_ADAPTERS([LINUXSPIDEV_ADAPTER], ["x$is_linux" = "xyes"], [Linux spidev])
+PROCESS_ADAPTERS([LINUXSPIDEV_ADAPTER], ["x$is_linux" = "xyes" -a "x$ac_cv_header_linux_spi_spidev_h" = "xyes"],
+ [Linux spidev])
PROCESS_ADAPTERS([VDEBUG_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([JTAG_DPI_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([JTAG_VPI_ADAPTER], [true], [unused])
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:14:14
|
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 d9b614a56db9ff08b349dc29f4b257c16a442013 (commit)
from e23a6bbc635aa426668c040abda8c2d38628e8d4 (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 d9b614a56db9ff08b349dc29f4b257c16a442013
Author: Kevin Yang <kan...@go...>
Date: Mon Oct 12 13:22:47 2020 -0700
target/armv8: Handle modeswitch for aarch32 secure EL3
For aarch32 secure EL3
- Change target_el to 3 for SVC/ABT/IRQ/FIQ/UND/SYS for aarch32 secure
EL3
- Do not update SPSR for SYS, behavior is UNPREDICTABLE (ARMv8-A F5.1.121)
- Do not execute DRPS for SYS, behavior is UNPREDICTABLE (ARMv8-A
F5.1.51)
Change-Id: Ic1484665cd53afcccb5c20b152993a3f0407f8a2
Signed-off-by: Kevin Yang <kan...@go...>
Reviewed-on: https://review.openocd.org/c/openocd/+/5854
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <mat...@we...>
Reviewed-by: Plamena Marinova <pma...@hi...>
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/target/armv8_dpm.c b/src/target/armv8_dpm.c
index d1cee8a10..3384e82ea 100644
--- a/src/target/armv8_dpm.c
+++ b/src/target/armv8_dpm.c
@@ -542,6 +542,8 @@ int armv8_dpm_modeswitch(struct arm_dpm *dpm, enum arm_mode mode)
unsigned int target_el;
enum arm_state core_state;
uint32_t cpsr;
+ uint32_t rw = (dpm->dscr >> 10) & 0xF;
+ uint32_t ns = (dpm->dscr >> 18) & 0x1;
/* restore previous mode */
if (mode == ARM_MODE_ANY) {
@@ -564,7 +566,11 @@ int armv8_dpm_modeswitch(struct arm_dpm *dpm, enum arm_mode mode)
case ARM_MODE_IRQ:
case ARM_MODE_FIQ:
case ARM_MODE_SYS:
- target_el = 1;
+ /* For Secure, EL1 if EL3 is aarch64, EL3 if EL3 is aarch32 */
+ if (ns || (rw & (1 << 3)))
+ target_el = 1;
+ else
+ target_el = 3;
break;
/*
* TODO: handle ARM_MODE_HYP
@@ -598,8 +604,8 @@ int armv8_dpm_modeswitch(struct arm_dpm *dpm, enum arm_mode mode)
} else {
core_state = armv8_dpm_get_core_state(dpm);
if (core_state != ARM_STATE_AARCH64) {
- /* cannot do DRPS/ERET when already in EL0 */
- if (dpm->last_el != 0) {
+ /* cannot do DRPS/ERET when in EL0 or in SYS mode */
+ if (dpm->last_el != 0 && dpm->arm->core_mode != ARM_MODE_SYS) {
/* load SPSR with the desired mode and execute DRPS */
LOG_DEBUG("SPSR = 0x%08"PRIx32, cpsr);
retval = dpm->instr_write_data_r0(dpm,
-----------------------------------------------------------------------
Summary of changes:
src/target/armv8_dpm.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:06:52
|
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 e23a6bbc635aa426668c040abda8c2d38628e8d4 (commit)
via 7abc0f9e6593694059db56bf6f4ad64972b45ad7 (commit)
from 6a40fe64d63568d307fdfbb4666784a848222787 (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 e23a6bbc635aa426668c040abda8c2d38628e8d4
Author: Jonathan Bell <jon...@ra...>
Date: Wed May 21 15:37:25 2025 +0100
tcl: fix broken Raspberry Pi website links
raspberrypi.com is the home for technical information, raspberrypi.org
is the Foundation's site (though there are intelligent redirects).
Several pages have moved around, fix these.
Also tweak a few comments for style and correctness.
Signed-off-by: Jonathan Bell <jon...@ra...>
Change-Id: I7f52bcc362fb213b50987e3a42866fe4a6fec883
Reviewed-on: https://review.openocd.org/c/openocd/+/8885
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/tcl/board/rpi3.cfg b/tcl/board/rpi3.cfg
index fd93a9d9d..a08bfeb12 100644
--- a/tcl/board/rpi3.cfg
+++ b/tcl/board/rpi3.cfg
@@ -1,10 +1,10 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# This is the Raspberry Pi 3 board with BCM2837 chip
-# https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837/README.md
+# https://www.raspberrypi.com/documentation/computers/processors.html#bcm2837
#
# Enable JTAG GPIO on Raspberry Pi boards
-# https://www.raspberrypi.org/documentation/configuration/config-txt/gpio.md
+# https://www.raspberrypi.com/documentation/computers/legacy_config_txt.html#enable_jtag_gpio
source [find target/bcm2837.cfg]
transport select jtag
diff --git a/tcl/board/rpi4b.cfg b/tcl/board/rpi4b.cfg
index 5b046af7b..7d937e8c0 100644
--- a/tcl/board/rpi4b.cfg
+++ b/tcl/board/rpi4b.cfg
@@ -1,10 +1,10 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# This is the Raspberry Pi 4 model B board with BCM2711 chip
-# https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/README.md
+# https://www.raspberrypi.com/documentation/computers/processors.html#bcm2711
#
# Enable JTAG GPIO on Raspberry Pi boards
-# https://www.raspberrypi.org/documentation/configuration/config-txt/gpio.md
+# https://www.raspberrypi.com/documentation/computers/legacy_config_txt.html#enable_jtag_gpio
source [find target/bcm2711.cfg]
transport select jtag
diff --git a/tcl/target/bcm2711.cfg b/tcl/target/bcm2711.cfg
index f8d2b3a65..9704daf81 100644
--- a/tcl/target/bcm2711.cfg
+++ b/tcl/target/bcm2711.cfg
@@ -3,8 +3,8 @@
# The Broadcom BCM2711 used in Raspberry Pi 4
# No documentation was found on Broadcom website
-# Partial information is available in raspberry pi website:
-# https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/
+# Partial information is available on the Raspberry Pi website:
+# https://www.raspberrypi.com/documentation/computers/processors.html#bcm2711
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
diff --git a/tcl/target/bcm2835.cfg b/tcl/target/bcm2835.cfg
index 32a03666c..645588730 100644
--- a/tcl/target/bcm2835.cfg
+++ b/tcl/target/bcm2835.cfg
@@ -3,8 +3,8 @@
# This is the Broadcom chip used in the Raspberry Pi Model A, B, B+,
# the Compute Module, and the Raspberry Pi Zero.
-# Partial information is available in raspberry pi website:
-# https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835
+# Partial information is available on the Raspberry Pi website:
+# https://www.raspberrypi.com/documentation/computers/processors.html#bcm2835
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
diff --git a/tcl/target/bcm2836.cfg b/tcl/target/bcm2836.cfg
index 04921315e..695426e7a 100644
--- a/tcl/target/bcm2836.cfg
+++ b/tcl/target/bcm2836.cfg
@@ -1,9 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-# The Broadcom chip used in the Raspberry Pi 2 Model B
+# The Broadcom chip used in the Raspberry Pi 2 Model B v1.1
-# Partial information is available in raspberry pi website:
-# https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836
+# Partial information is available on the Raspberry Pi website:
+# https://www.raspberrypi.com/documentation/computers/processors.html#bcm2836
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
diff --git a/tcl/target/bcm2837.cfg b/tcl/target/bcm2837.cfg
index 749de3103..d41892c43 100644
--- a/tcl/target/bcm2837.cfg
+++ b/tcl/target/bcm2837.cfg
@@ -3,9 +3,9 @@
# This is the Broadcom chip used in the Raspberry Pi 3,
# and in later models of the Raspberry Pi 2.
-# Partial information is available in raspberry pi website:
-# https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837
-# https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837b0
+# Partial information is available on the Raspberry Pi website:
+# https://www.raspberrypi.com/documentation/computers/processors.html#bcm2837
+# https://www.raspberrypi.com/documentation/computers/processors.html#bcm2837b0
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
diff --git a/tcl/target/rp2040.cfg b/tcl/target/rp2040.cfg
index f64d4322b..da88a3125 100644
--- a/tcl/target/rp2040.cfg
+++ b/tcl/target/rp2040.cfg
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# RP2040 is a microcontroller with dual Cortex-M0+ core.
-# https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html
+# https://www.raspberrypi.com/documentation/microcontrollers/silicon.html#rp2040
# The device requires multidrop SWD for debug.
transport select swd
diff --git a/tcl/target/rp2350.cfg b/tcl/target/rp2350.cfg
index b7617acd4..96bb9298f 100644
--- a/tcl/target/rp2350.cfg
+++ b/tcl/target/rp2350.cfg
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# RP2350 is a microcontroller with dual Cortex-M33 cores or dual Hazard3 RISC-V cores.
-# https://www.raspberrypi.com/documentation/microcontrollers/rp2350.html
+# https://www.raspberrypi.com/documentation/microcontrollers/silicon.html#rp2350
transport select swd
commit 7abc0f9e6593694059db56bf6f4ad64972b45ad7
Author: Jonathan Bell <jon...@ra...>
Date: Wed May 21 15:26:20 2025 +0100
doc: bcm2835gpio: remove broken link and clarify usage
The peripheral address details have been removed from the documentation
part of the website (instead presented in the SoC datasheets).
Pi 5 GPIOs are provided by the RP1 southbridge, which requires the use
of libgpiod. The associated Linux driver for the GPIO interface must be
used when bitbashing on Pi 5, as the timing of pin state changes is not
guaranteed across the PCIe link without special treatment.
Using libgpiod, the typical maximum swclk speed is 1MHz.
Signed-off-by: Jonathan Bell <jon...@ra...>
Change-Id: I8b2c44ec5edd71abaa0a763ba4d4f4603a211348
Reviewed-on: https://review.openocd.org/c/openocd/+/8884
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/doc/openocd.texi b/doc/openocd.texi
index c7d8c7d0d..bd6b3704a 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -3346,8 +3346,10 @@ The string will be of the format "DDDD:BB:SS.F" such as "0000:65:00.1".
@end deffn
@deffn {Interface Driver} {bcm2835gpio}
-This SoC is present in Raspberry Pi which is a cheap single-board computer
-exposing some GPIOs on its expansion header.
+This GPIO interface is present in Raspberry Pi 0-4 which is a cheap
+single-board computer exposing some GPIOs on its expansion header.
+
+@emph{Note:} for Raspberry Pi 5, use @b{linuxgpiod} not this driver.
The driver accesses memory-mapped GPIO peripheral registers directly
for maximum performance, but the only possible race condition is for
@@ -3386,9 +3388,7 @@ and drive strength is reduced to 4 mA (2 mA on RPi 4).
@deffn {Config Command} {bcm2835gpio peripheral_base} @var{base}
Set the peripheral base register address to access GPIOs.
Ignored if @file{/dev/gpiomem} is used. For the RPi1, use
-0x20000000. For RPi2 and RPi3, use 0x3F000000. For RPi4, use 0xFE000000. A full
-list can be found in the
-@uref{https://www.raspberrypi.org/documentation/hardware/raspberrypi/peripheral_addresses.md, official guide}.
+0x20000000. For RPi2 and RPi3, use 0x3F000000. For RPi4, use 0xFE000000.
@end deffn
@end deffn
-----------------------------------------------------------------------
Summary of changes:
doc/openocd.texi | 10 +++++-----
tcl/board/rpi3.cfg | 4 ++--
tcl/board/rpi4b.cfg | 4 ++--
tcl/target/bcm2711.cfg | 4 ++--
tcl/target/bcm2835.cfg | 4 ++--
tcl/target/bcm2836.cfg | 6 +++---
tcl/target/bcm2837.cfg | 6 +++---
tcl/target/rp2040.cfg | 2 +-
tcl/target/rp2350.cfg | 2 +-
9 files changed, 21 insertions(+), 21 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:06: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 6a40fe64d63568d307fdfbb4666784a848222787 (commit)
from 2065bac3805102a37a2d10d374298b875d750392 (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 6a40fe64d63568d307fdfbb4666784a848222787
Author: Marc Schink <de...@za...>
Date: Sat Nov 23 14:43:51 2024 +0000
flash/nor/tcl: Add 'read_memory' command
This command allows to read non-memory mapped flash content directly
via Tcl script. The API is the same as for the 'read_memory' command
for targets.
Change-Id: I4a8d0d7ea2f778ac8f1501227b60b964c881cb84
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8634
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 27ed46b92..c7d8c7d0d 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -5870,6 +5870,24 @@ The flash bank to use is inferred from the @var{address} of
each block, and the specified length must stay within that bank.
@end deffn
+@deffn {Command} {flash read_memory} address width count
+This function provides an efficient way to read flash memory from a Tcl script.
+A Tcl list containing the requested memory elements is returned by this function.
+
+@itemize
+@item @var{address} ... flash memory address
+@item @var{width} ... memory access bit size, can be 8, 16, 32 or 64
+@item @var{count} ... number of elements to read
+@end itemize
+
+For example, the following command reads two 32 bit words from the flash
+memory at address 0x08000000:
+
+@example
+flash read_memory 0x08000000 32 2
+@end example
+@end deffn
+
@deffn {Command} {flash write_bank} num filename [offset]
Write the binary @file{filename} to flash bank @var{num},
starting at @var{offset} bytes from the beginning of the bank. If @var{offset}
diff --git a/src/flash/nor/tcl.c b/src/flash/nor/tcl.c
index e21620934..0d41e49c8 100644
--- a/src/flash/nor/tcl.c
+++ b/src/flash/nor/tcl.c
@@ -727,6 +727,124 @@ COMMAND_HANDLER(handle_flash_md_command)
return retval;
}
+COMMAND_HANDLER(handle_flash_read_memory_command)
+{
+ /*
+ * CMD_ARGV[0] = memory address
+ * CMD_ARGV[1] = desired element width in bits
+ * CMD_ARGV[2] = number of elements to read
+ */
+
+ if (CMD_ARGC != 3)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
+ /* Arg 1: Memory address. */
+ target_addr_t addr;
+ COMMAND_PARSE_NUMBER(u64, CMD_ARGV[0], addr);
+
+ /* Arg 2: Bit width of one element. */
+ unsigned int width_bits;
+ COMMAND_PARSE_NUMBER(uint, CMD_ARGV[1], width_bits);
+
+ /* Arg 3: Number of elements to read. */
+ unsigned int count;
+ COMMAND_PARSE_NUMBER(uint, CMD_ARGV[2], count);
+
+ switch (width_bits) {
+ case 8:
+ case 16:
+ case 32:
+ case 64:
+ break;
+ default:
+ command_print(CMD, "invalid width, must be 8, 16, 32 or 64");
+ return ERROR_COMMAND_ARGUMENT_INVALID;
+ }
+
+ if (count > 65536) {
+ command_print(CMD, "too large read request, exceeds 64K elements");
+ return ERROR_COMMAND_ARGUMENT_INVALID;
+ }
+
+ const unsigned int width = width_bits / 8;
+ /* -1 is needed to handle cases when (addr + count * width) results in zero
+ * due to overflow.
+ */
+ if ((addr + count * width - 1) < addr) {
+ command_print(CMD, "memory region wraps over address zero");
+ return ERROR_COMMAND_ARGUMENT_INVALID;
+ }
+
+ struct target *target = get_current_target(CMD_CTX);
+ struct flash_bank *bank;
+ int retval = get_flash_bank_by_addr(target, addr, true, &bank);
+ if (retval != ERROR_OK)
+ return retval;
+
+ uint32_t offset = addr - bank->base;
+ uint32_t sizebytes = count * width_bits;
+ if (offset + sizebytes > bank->size) {
+ command_print(CMD, "cannot cross flash bank borders");
+ return ERROR_FAIL;
+ }
+
+ const size_t buffer_size = 4096;
+ uint8_t *buffer = malloc(buffer_size);
+
+ if (!buffer) {
+ command_print(CMD, "failed to allocate memory");
+ return ERROR_FAIL;
+ }
+
+ char *separator = "";
+ while (count > 0) {
+ const unsigned int max_chunk_len = buffer_size / width;
+ const size_t chunk_len = MIN(count, max_chunk_len);
+
+ retval = flash_driver_read(bank, buffer, offset, chunk_len * width);
+
+ if (retval != ERROR_OK) {
+ LOG_DEBUG("read at " TARGET_ADDR_FMT " with width=%u and count=%zu failed",
+ addr, width_bits, chunk_len);
+ /*
+ * FIXME: we append the errmsg to the list of value already read.
+ * Add a way to flush and replace old output, but LOG_DEBUG() it
+ */
+ command_print(CMD, "failed to read memory");
+ free(buffer);
+ return retval;
+ }
+
+ for (size_t i = 0; i < chunk_len ; i++) {
+ uint64_t v = 0;
+
+ switch (width) {
+ case 8:
+ v = target_buffer_get_u64(target, &buffer[i * width]);
+ break;
+ case 4:
+ v = target_buffer_get_u32(target, &buffer[i * width]);
+ break;
+ case 2:
+ v = target_buffer_get_u16(target, &buffer[i * width]);
+ break;
+ case 1:
+ v = buffer[i];
+ break;
+ }
+
+ command_print_sameline(CMD, "%s0x%" PRIx64, separator, v);
+ separator = " ";
+ }
+
+ count -= chunk_len;
+ offset += chunk_len * width;
+ }
+
+ free(buffer);
+
+ return ERROR_OK;
+}
COMMAND_HANDLER(handle_flash_write_bank_command)
{
@@ -1170,6 +1288,13 @@ static const struct command_registration flash_exec_command_handlers[] = {
.usage = "address [count]",
.help = "Display words from flash.",
},
+ {
+ .name = "read_memory",
+ .mode = COMMAND_EXEC,
+ .handler = handle_flash_read_memory_command,
+ .help = "Read Tcl list of 8/16/32/64 bit numbers from flash memory",
+ .usage = "address width count",
+ },
{
.name = "write_bank",
.handler = handle_flash_write_bank_command,
-----------------------------------------------------------------------
Summary of changes:
doc/openocd.texi | 18 ++++++++
src/flash/nor/tcl.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 143 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:05:34
|
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 2065bac3805102a37a2d10d374298b875d750392 (commit)
from db8db903338d1f99eda6ad533168885c9e21178f (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 2065bac3805102a37a2d10d374298b875d750392
Author: Jacek Wuwer <jac...@gm...>
Date: Wed Apr 24 10:15:38 2024 +0200
jtag/vdebug: implement a polling mechanism
This change adds a polling mechanism to the driver. When not busy
the driver issues a wait, allowing the target to advance time.
The wait period gets adjusted to match the polling setting.
Change-Id: I67f481d05d7c5ce5352b5cb97de78dbaa97d82ae
Signed-off-by: Jacek Wuwer <jac...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8221
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/jtag/drivers/vdebug.c b/src/jtag/drivers/vdebug.c
index 38685950a..29bfa8360 100644
--- a/src/jtag/drivers/vdebug.c
+++ b/src/jtag/drivers/vdebug.c
@@ -47,19 +47,20 @@
#include "jtag/interface.h"
#include "jtag/commands.h"
#include "transport/transport.h"
+#include "target/target.h"
#include "target/arm_adi_v5.h"
#include "helper/time_support.h"
#include "helper/replacements.h"
#include "helper/log.h"
#include "helper/list.h"
-#define VD_VERSION 48
+#define VD_VERSION 50
#define VD_BUFFER_LEN 4024
#define VD_CHEADER_LEN 24
#define VD_SHEADER_LEN 16
#define VD_MAX_MEMORIES 20
-#define VD_POLL_INTERVAL 500
+#define VD_POLL_INTERVAL 1000
#define VD_SCALE_PSTOMS 1000000000
/**
@@ -205,6 +206,7 @@ struct vd_client {
uint32_t poll_max;
uint32_t targ_time;
int hsocket;
+ int64_t poll_ts;
char server_name[32];
char bfm_path[128];
char mem_path[VD_MAX_MEMORIES][128];
@@ -839,6 +841,35 @@ static void vdebug_mem_close(int hsock, struct vd_shm *pm, uint8_t ndx)
}
+/* function gets invoked through a callback every VD_POLL_INTERVAL ms
+ * if the idle time, measured by VD_POLL_INTERVAL - targ_time is more than poll_min
+ * the wait function is called and its time measured and wait cycles adjusted.
+ * The wait allows hardware to advance, when no data activity from the vdebug occurs
+ */
+static int vdebug_poll(void *priv)
+{
+ int64_t ts, te;
+
+ ts = timeval_ms();
+ if (ts - vdc.poll_ts - vdc.targ_time >= vdc.poll_min) {
+ vdebug_wait(vdc.hsocket, pbuf, vdc.poll_cycles);
+ te = timeval_ms();
+ LOG_DEBUG("poll after %" PRId64 "ms, busy %" PRIu32 "ms; wait %" PRIu32 " %" PRId64 "ms",
+ ts - vdc.poll_ts, vdc.targ_time, vdc.poll_cycles, te - ts);
+
+ if (te - ts + vdc.targ_time < vdc.poll_max / 2)
+ vdc.poll_cycles *= 2;
+ else if (te - ts + vdc.targ_time > vdc.poll_max)
+ vdc.poll_cycles /= 2;
+ } else {
+ LOG_DEBUG("poll after %" PRId64 "ms, busy %" PRIu32 "ms", ts - vdc.poll_ts, vdc.targ_time);
+ }
+ vdc.poll_ts = ts;
+ vdc.targ_time = 0; /* reset target time counter */
+
+ return ERROR_OK;
+}
+
static int vdebug_init(void)
{
vdc.hsocket = vdebug_socket_open(vdc.server_name, vdc.server_port);
@@ -858,6 +889,7 @@ static int vdebug_init(void)
}
vdc.trans_first = 1;
vdc.poll_cycles = vdc.poll_max;
+ vdc.poll_ts = timeval_ms();
uint32_t sig_mask = VD_SIG_RESET;
if (transport_is_jtag())
sig_mask |= VD_SIG_TRST | VD_SIG_TCKDIV;
@@ -876,6 +908,8 @@ static int vdebug_init(void)
LOG_ERROR("0x%x cannot connect to %s", rc, vdc.mem_path[i]);
}
+ target_register_timer_callback(vdebug_poll, VD_POLL_INTERVAL,
+ TARGET_TIMER_TYPE_PERIODIC, &vdc);
LOG_INFO("vdebug %d connected to %s through %s:%" PRIu16,
VD_VERSION, vdc.bfm_path, vdc.server_name, vdc.server_port);
}
@@ -885,6 +919,8 @@ static int vdebug_init(void)
static int vdebug_quit(void)
{
+ target_unregister_timer_callback(vdebug_poll, &vdc);
+
for (uint8_t i = 0; i < vdc.mem_ndx; i++)
if (vdc.mem_width[i])
vdebug_mem_close(vdc.hsocket, pbuf, i);
@@ -1299,16 +1335,16 @@ static const struct command_registration vdebug_command_handlers[] = {
{
.name = "batching",
.handler = &vdebug_set_batching,
- .mode = COMMAND_CONFIG,
+ .mode = COMMAND_ANY,
.help = "set the transaction batching no|wr|rd [0|1|2]",
.usage = "<level>",
},
{
.name = "polling",
.handler = &vdebug_set_polling,
- .mode = COMMAND_CONFIG,
- .help = "set the polling pause, executing hardware cycles between min and max",
- .usage = "<min cycles> <max cycles>",
+ .mode = COMMAND_ANY,
+ .help = "set the min idle time and max wait time in ms",
+ .usage = "<min_idle> <max_wait>",
},
COMMAND_REGISTRATION_DONE
};
diff --git a/tcl/board/vd_a75x4_jtag.cfg b/tcl/board/vd_a75x4_jtag.cfg
index c94a71972..a91f8b8cf 100644
--- a/tcl/board/vd_a75x4_jtag.cfg
+++ b/tcl/board/vd_a75x4_jtag.cfg
@@ -17,7 +17,7 @@ set CPUTAPID 0x4ba06477
transport select jtag
# JTAG reset config, frequency and reset delay
-reset_config trst_and_srst
+reset_config trst_only
adapter speed 1500000
adapter srst delay 5
diff --git a/tcl/board/vd_pulpissimo_jtag.cfg b/tcl/board/vd_pulpissimo_jtag.cfg
index a3f5a8488..5a6725fd6 100644
--- a/tcl/board/vd_pulpissimo_jtag.cfg
+++ b/tcl/board/vd_pulpissimo_jtag.cfg
@@ -4,9 +4,9 @@
source [find interface/vdebug.cfg]
-set _CHIPNAME ibex
-set _HARTID 0x20
-set _CPUTAPID 0x249511c3
+set CHIPNAME ibex
+set HARTID 0x20
+set CPUTAPID 0x249511c3
# vdebug select transport
transport select jtag
@@ -25,7 +25,7 @@ vdebug mem_path tbench.soc_domain_i.pulp_soc_i.gen_mem_l2_pri\[1\].sram_i.mem_ar
vdebug mem_path tbench.soc_domain_i.pulp_soc_i.gen_mem_l2\[0\].sram_i.mem_array 0x1c010000 0x80000
# need to explicitly define riscv tap, autoprobing does not work for icapture != 0x01
-jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x05 -irmask 0x1f -expected-id $_CPUTAPID
+jtag newtap $CHIPNAME cpu -irlen 5 -ircapture 0x05 -irmask 0x1f -expected-id $CPUTAPID
jtag arp_init-reset
diff --git a/tcl/interface/vdebug.cfg b/tcl/interface/vdebug.cfg
index 63a595506..27a8aafd7 100644
--- a/tcl/interface/vdebug.cfg
+++ b/tcl/interface/vdebug.cfg
@@ -30,4 +30,4 @@ tcl port disabled
vdebug batching 1
# Polling values
-vdebug polling 100 1000
+vdebug polling 100 500
diff --git a/tcl/target/vd_riscv.cfg b/tcl/target/vd_riscv.cfg
index f08cb1ac8..44a80524a 100644
--- a/tcl/target/vd_riscv.cfg
+++ b/tcl/target/vd_riscv.cfg
@@ -2,15 +2,15 @@
# Cadence virtual debug interface
# RISCV core
-if {![info exists _HARTID]} {
- set _HARTID 0x00
+if {![info exists HARTID]} {
+ set HARTID 0x00
}
-if {![info exists _CHIPNAME]} {
- set _CHIPNAME riscv
+if {![info exists CHIPNAME]} {
+ set CHIPNAME riscv
}
-set _TARGETNAME $_CHIPNAME.cpu
+set _TARGETNAME $CHIPNAME.cpu
-target create $_TARGETNAME riscv -chain-position $_TARGETNAME -coreid $_HARTID
+target create $_TARGETNAME riscv -chain-position $_TARGETNAME -coreid $HARTID
riscv set_reset_timeout_sec 120
riscv set_command_timeout_sec 120
-----------------------------------------------------------------------
Summary of changes:
src/jtag/drivers/vdebug.c | 48 +++++++++++++++++++++++++++++++++++-----
tcl/board/vd_a75x4_jtag.cfg | 2 +-
tcl/board/vd_pulpissimo_jtag.cfg | 8 +++----
tcl/interface/vdebug.cfg | 2 +-
tcl/target/vd_riscv.cfg | 12 +++++-----
5 files changed, 54 insertions(+), 18 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:02:51
|
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 db8db903338d1f99eda6ad533168885c9e21178f (commit)
from 125d4f106dcde07340394aebc6754245e455ff1b (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 db8db903338d1f99eda6ad533168885c9e21178f
Author: Marc Schink <de...@za...>
Date: Tue Apr 1 04:34:27 2025 +0000
tcl/target/stm32f4x: Enable the trace port clock
Enable the trace port (GPIOE) clock, otherwise the following pin
configurations have no effect.
Change-Id: I3942d2527c64340463c3b6c607addb4214f83081
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8823
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/tcl/target/stm32f4x.cfg b/tcl/target/stm32f4x.cfg
index 35d8275b5..a77527c46 100644
--- a/tcl/target/stm32f4x.cfg
+++ b/tcl/target/stm32f4x.cfg
@@ -98,6 +98,9 @@ proc _proc_pre_enable_$_CHIPNAME.tpiu {_chipname} {
targets $_chipname.cpu
if { [$_chipname.tpiu cget -protocol] eq "sync" } {
+ # Enable the GPIOE clock.
+ mmw 0x40023830 0x00000010 0x00000010
+
switch [$_chipname.tpiu cget -port-width] {
1 {
# Set TRACE_IOEN; TRACE_MODE to sync 1 bit; GPIOE[2-3] to AF0
-----------------------------------------------------------------------
Summary of changes:
tcl/target/stm32f4x.cfg | 3 +++
1 file changed, 3 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 10:02:02
|
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 125d4f106dcde07340394aebc6754245e455ff1b (commit)
from 40e6c98dfc46a7ce7bf5e029c7c69491f8d8c58f (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 125d4f106dcde07340394aebc6754245e455ff1b
Author: Matthias Breithaupt <m.b...@vo...>
Date: Thu Apr 25 16:36:20 2024 +0200
flash/nor/spi: add puya p25q flash devices
P25Q16 can be found in the Efinix T13/20Q100F3, so that one is necessary
for jtagspi on those chips. The other ones were added for completeness.
Change-Id: Ifb6f3c6fbd23938d6fd26bce7742c3484ece130c
Signed-off-by: Matthias Breithaupt <m.b...@vo...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8223
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/flash/nor/spi.c b/src/flash/nor/spi.c
index bf654f9f6..7f03f1fea 100644
--- a/src/flash/nor/spi.c
+++ b/src/flash/nor/spi.c
@@ -184,6 +184,16 @@ const struct flash_device flash_devices[] = {
FLASH_ID("xtx xt25q64b", 0x03, 0x0b, 0x02, 0xd8, 0xc7, 0x0017600b, 0x100, 0x10000, 0x800000),
FLASH_ID("xtx xt25q128b", 0x03, 0x0b, 0x02, 0xd8, 0xc7, 0x0018600b, 0x100, 0x10000, 0x1000000),
FLASH_ID("zetta zd25q16", 0x03, 0x00, 0x02, 0xd8, 0xc7, 0x001560ba, 0x100, 0x10000, 0x200000),
+ FLASH_ID("puya p25q05", 0x03, 0x6b, 0x02, 0x20, 0xc7, 0x00106085, 0x100, 0x1000, 0x10000),
+ FLASH_ID("puya p25q10", 0x03, 0x6b, 0x02, 0x20, 0xc7, 0x00116085, 0x100, 0x1000, 0x20000),
+ FLASH_ID("puya p25q20", 0x03, 0x6b, 0x02, 0x20, 0xc7, 0x00126085, 0x100, 0x1000, 0x40000),
+ FLASH_ID("puya p25q40", 0x03, 0x6b, 0x02, 0x20, 0xc7, 0x00136085, 0x100, 0x1000, 0x80000),
+ FLASH_ID("puya p25q80", 0x03, 0x6b, 0x02, 0x52, 0xc7, 0x00146085, 0x100, 0x8000, 0x100000),
+ FLASH_ID("puya p25q16", 0x03, 0x6b, 0x02, 0xd8, 0xc7, 0x00156085, 0x100, 0x10000, 0x200000),
+ FLASH_ID("puya p25q32", 0x03, 0x6b, 0x02, 0xd8, 0xc7, 0x00166085, 0x100, 0x10000, 0x400000),
+ FLASH_ID("puya p25q64", 0x03, 0x6b, 0x02, 0xd8, 0xc7, 0x00176085, 0x100, 0x10000, 0x800000),
+ FLASH_ID("puya p25q128", 0x03, 0x6b, 0x02, 0xd8, 0xc7, 0x00186085, 0x100, 0x10000, 0x1000000),
+
/* FRAM, no erase commands, no write page or sectors */
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/spi.c | 10 ++++++++++
1 file changed, 10 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:59:21
|
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 40e6c98dfc46a7ce7bf5e029c7c69491f8d8c58f (commit)
from 3fbca95ae13b8caea3194a85bc4b2a29ebe31a66 (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 40e6c98dfc46a7ce7bf5e029c7c69491f8d8c58f
Author: Antonio Borneo <bor...@gm...>
Date: Thu May 22 02:02:19 2025 +0200
helper: configuration: check for empty search dirs
The function find_file() is supposed to be called when the search
dirs in 'script_search_dirs' has already been populated.
This is not the case when the command 'ocd_find' is used in one of
the embedded scripts 'startup.tcl'. It then triggers SIGSEGV.
Check for 'script_search_dirs' and eventually skip searching in
the dirs.
Change-Id: I9e75a8739c94de72041fb64487910d60dffcb2bd
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8931
Tested-by: jenkins
diff --git a/src/helper/configuration.c b/src/helper/configuration.c
index 16732eb3d..447b0dfef 100644
--- a/src/helper/configuration.c
+++ b/src/helper/configuration.c
@@ -71,17 +71,18 @@ char *find_file(const char *file)
full_path = alloc_printf("%s", file);
fp = fopen(full_path, mode);
- while (!fp) {
- free(full_path);
- full_path = NULL;
- dir = *search_dirs++;
+ if (script_search_dirs)
+ while (!fp) {
+ free(full_path);
+ full_path = NULL;
+ dir = *search_dirs++;
- if (!dir)
- break;
+ if (!dir)
+ break;
- full_path = alloc_printf("%s/%s", dir, file);
- fp = fopen(full_path, mode);
- }
+ full_path = alloc_printf("%s/%s", dir, file);
+ fp = fopen(full_path, mode);
+ }
if (fp) {
fclose(fp);
-----------------------------------------------------------------------
Summary of changes:
src/helper/configuration.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:59:03
|
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 3fbca95ae13b8caea3194a85bc4b2a29ebe31a66 (commit)
from 20d7e83576e9f7ef23cd569a6b60f0ab2d702b36 (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 3fbca95ae13b8caea3194a85bc4b2a29ebe31a66
Author: Marc Schink <de...@za...>
Date: Thu Apr 24 07:51:42 2025 +0000
tcl/board: Add config for nRF5340 development kit
Tested with nRF5340 development kit.
Change-Id: I44f1ba176dd4ac491b5dccea4c4d6d6d9bfaf479
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8867
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/board/nordic/nrf5340-dk.cfg b/tcl/board/nordic/nrf5340-dk.cfg
new file mode 100644
index 000000000..fd7a40d66
--- /dev/null
+++ b/tcl/board/nordic/nrf5340-dk.cfg
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+#
+# Nordic Semiconductor nRF5340 Development Kit
+# https://www.nordicsemi.com/Products/Development-hardware/nRF5340-DK
+#
+
+source [find interface/jlink.cfg]
+
+transport select swd
+
+source [find target/nordic/nrf53.cfg]
-----------------------------------------------------------------------
Summary of changes:
tcl/board/nordic/nrf5340-dk.cfg | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 tcl/board/nordic/nrf5340-dk.cfg
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:58: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 20d7e83576e9f7ef23cd569a6b60f0ab2d702b36 (commit)
from 895dfb5d87f9af18004c654163f48d3a5c9e92b6 (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 20d7e83576e9f7ef23cd569a6b60f0ab2d702b36
Author: Marc Schink <de...@za...>
Date: Thu Apr 24 06:24:24 2025 +0000
tcl/board: Add config for nRF9160 development kit
Tested with nRF9160 development kit.
Change-Id: I367b869b9707bef0547b5d3575b24e19db74cd21
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8866
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/board/nordic/nrf9160-dk.cfg b/tcl/board/nordic/nrf9160-dk.cfg
new file mode 100644
index 000000000..dc456202c
--- /dev/null
+++ b/tcl/board/nordic/nrf9160-dk.cfg
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+#
+# Nordic Semiconductor nRF9160 Development Kit
+# https://www.nordicsemi.com/Products/Development-hardware/nRF9160-DK
+#
+
+source [find interface/jlink.cfg]
+
+transport select swd
+
+source [find target/nordic/nrf91.cfg]
-----------------------------------------------------------------------
Summary of changes:
tcl/board/nordic/nrf9160-dk.cfg | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 tcl/board/nordic/nrf9160-dk.cfg
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:58:12
|
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 895dfb5d87f9af18004c654163f48d3a5c9e92b6 (commit)
from 84f6c561f35fe4fec3c810c0c0c5e4090cb85fe1 (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 895dfb5d87f9af18004c654163f48d3a5c9e92b6
Author: Marc Schink <de...@za...>
Date: Mon Apr 21 18:10:20 2025 +0000
tcl/board: Deprecate nordic_nrf52_ftx232.cfg
Board configuration files for specific external debug adapters are not /
no longer supported.
Checkpatch-ignore: LONG_LINE_STRING
Change-Id: I0f391dfb1a2d7ceb92c2ad3e34eaeb8a85b2cdc5
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8865
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/board/nordic_nrf52_ftx232.cfg b/tcl/board/nordic_nrf52_ftx232.cfg
index 848d5dcd3..772d176d6 100644
--- a/tcl/board/nordic_nrf52_ftx232.cfg
+++ b/tcl/board/nordic_nrf52_ftx232.cfg
@@ -5,6 +5,8 @@
# or any FT232H/FT2232H/FT4232H based board/module
#
+echo "WARNING: 'board/nordic_nrf52_ftx232.cfg' is deprecated, use '-f interface/ftdi/ft232h-module-swd.cfg -f target/nordic/nrf52.cfg' instead"
+
source [find interface/ftdi/ft232h-module-swd.cfg]
#source [find interface/ftdi/minimodule-swd.cfg]
-----------------------------------------------------------------------
Summary of changes:
tcl/board/nordic_nrf52_ftx232.cfg | 2 ++
1 file changed, 2 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:57:47
|
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 84f6c561f35fe4fec3c810c0c0c5e4090cb85fe1 (commit)
from 1ee7c09d9513e17bf37b0286ddec3a7f0a2ffbdc (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 84f6c561f35fe4fec3c810c0c0c5e4090cb85fe1
Author: Marc Schink <de...@za...>
Date: Mon May 12 10:43:19 2025 +0200
tcl/board: Deprecate old nordic configuration files
Add the old configuration files to the 'file_renaming' list in order to
ensure backwards compatibility.
Change-Id: Ia61df8e5cd8c19cee19a494635c8025e36f3f4a7
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8907
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/file_renaming.cfg b/tcl/file_renaming.cfg
index d7937f6e2..0a3c7ba65 100644
--- a/tcl/file_renaming.cfg
+++ b/tcl/file_renaming.cfg
@@ -14,6 +14,9 @@
# board, chip, cpld, cpu, fpga, interface, target, test, tools
set _file_renaming {
+ board/nordic_nrf51822_mkit.cfg board/nordic/nrf51822-mkit.cfg
+ board/nordic_nrf51_dk.cfg board/nordic/nrf51-dk.cfg
+ board/nordic_nrf52_dk.cfg board/nordic/nrf52-dk.cfg
target/nrf51.cfg target/nordic/nrf51.cfg
target/nrf52.cfg target/nordic/nrf52.cfg
target/nrf53.cfg target/nordic/nrf53.cfg
-----------------------------------------------------------------------
Summary of changes:
tcl/file_renaming.cfg | 3 +++
1 file changed, 3 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:10: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 1ee7c09d9513e17bf37b0286ddec3a7f0a2ffbdc (commit)
from fbdb86adbd897337de6ee5b1b25a6f4ee7b5e4e4 (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 1ee7c09d9513e17bf37b0286ddec3a7f0a2ffbdc
Author: Marc Schink <de...@za...>
Date: Mon May 12 10:42:11 2025 +0200
tcl/board: Move nordic configuration files
Move board configuration files into a dedicated vendor directory as
required by the new guideline for configuration files.
Change-Id: Icbf368d7a453c82813e685d2935b186eb738c3ea
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8864
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/board/nordic_nrf51_dk.cfg b/tcl/board/nordic/nrf51-dk.cfg
similarity index 100%
rename from tcl/board/nordic_nrf51_dk.cfg
rename to tcl/board/nordic/nrf51-dk.cfg
diff --git a/tcl/board/nordic_nrf51822_mkit.cfg b/tcl/board/nordic/nrf51822-mkit.cfg
similarity index 100%
rename from tcl/board/nordic_nrf51822_mkit.cfg
rename to tcl/board/nordic/nrf51822-mkit.cfg
diff --git a/tcl/board/nordic_nrf52_dk.cfg b/tcl/board/nordic/nrf52-dk.cfg
similarity index 100%
rename from tcl/board/nordic_nrf52_dk.cfg
rename to tcl/board/nordic/nrf52-dk.cfg
-----------------------------------------------------------------------
Summary of changes:
tcl/board/{nordic_nrf51_dk.cfg => nordic/nrf51-dk.cfg} | 0
tcl/board/{nordic_nrf51822_mkit.cfg => nordic/nrf51822-mkit.cfg} | 0
tcl/board/{nordic_nrf52_dk.cfg => nordic/nrf52-dk.cfg} | 0
3 files changed, 0 insertions(+), 0 deletions(-)
rename tcl/board/{nordic_nrf51_dk.cfg => nordic/nrf51-dk.cfg} (100%)
rename tcl/board/{nordic_nrf51822_mkit.cfg => nordic/nrf51822-mkit.cfg} (100%)
rename tcl/board/{nordic_nrf52_dk.cfg => nordic/nrf52-dk.cfg} (100%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:09:43
|
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 fbdb86adbd897337de6ee5b1b25a6f4ee7b5e4e4 (commit)
from 83c1546e77b7683508fd17decf66763cd72393bf (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 fbdb86adbd897337de6ee5b1b25a6f4ee7b5e4e4
Author: Marc Schink <de...@za...>
Date: Mon May 12 10:54:49 2025 +0200
tcl/board: Use moved nordic target files
Use the moved nordic target configuration files.
Change-Id: Ie0e2eb7f9514eedb1ae6678eeee59291856c2674
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8906
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/board/nordic_nrf51822_mkit.cfg b/tcl/board/nordic_nrf51822_mkit.cfg
index 266d71070..fd3227178 100644
--- a/tcl/board/nordic_nrf51822_mkit.cfg
+++ b/tcl/board/nordic_nrf51822_mkit.cfg
@@ -5,4 +5,4 @@
#
source [find interface/cmsis-dap.cfg]
-source [find target/nrf51.cfg]
+source [find target/nordic/nrf51.cfg]
diff --git a/tcl/board/nordic_nrf51_dk.cfg b/tcl/board/nordic_nrf51_dk.cfg
index 7ddae2d43..4ccd3272e 100644
--- a/tcl/board/nordic_nrf51_dk.cfg
+++ b/tcl/board/nordic_nrf51_dk.cfg
@@ -8,4 +8,4 @@ source [find interface/jlink.cfg]
transport select swd
-source [find target/nrf51.cfg]
+source [find target/nordic/nrf51.cfg]
diff --git a/tcl/board/nordic_nrf52_dk.cfg b/tcl/board/nordic_nrf52_dk.cfg
index 7366bf94a..9b2390a62 100644
--- a/tcl/board/nordic_nrf52_dk.cfg
+++ b/tcl/board/nordic_nrf52_dk.cfg
@@ -8,4 +8,4 @@ source [find interface/jlink.cfg]
transport select swd
-source [find target/nrf52.cfg]
+source [find target/nordic/nrf52.cfg]
diff --git a/tcl/board/nordic_nrf52_ftx232.cfg b/tcl/board/nordic_nrf52_ftx232.cfg
index c3c69a89a..848d5dcd3 100644
--- a/tcl/board/nordic_nrf52_ftx232.cfg
+++ b/tcl/board/nordic_nrf52_ftx232.cfg
@@ -10,4 +10,4 @@ source [find interface/ftdi/ft232h-module-swd.cfg]
transport select swd
-source [find target/nrf52.cfg]
+source [find target/nordic/nrf52.cfg]
-----------------------------------------------------------------------
Summary of changes:
tcl/board/nordic_nrf51822_mkit.cfg | 2 +-
tcl/board/nordic_nrf51_dk.cfg | 2 +-
tcl/board/nordic_nrf52_dk.cfg | 2 +-
tcl/board/nordic_nrf52_ftx232.cfg | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:08: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 83c1546e77b7683508fd17decf66763cd72393bf (commit)
from 152becc4607e97aa692e41cb281753121d9ee75d (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 83c1546e77b7683508fd17decf66763cd72393bf
Author: Marc Schink <de...@za...>
Date: Mon May 12 06:53:16 2025 +0200
tcl/target: Deprecate old nordic configuration files
Keep the old configuration files to ensure backwards compatibility.
Change-Id: Ia1d06b5a8a646d65f2cdc5a9415df3014a93b7d7
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8863
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/file_renaming.cfg b/tcl/file_renaming.cfg
index 81e54823f..d7937f6e2 100644
--- a/tcl/file_renaming.cfg
+++ b/tcl/file_renaming.cfg
@@ -14,6 +14,8 @@
# board, chip, cpld, cpu, fpga, interface, target, test, tools
set _file_renaming {
- board/hello.cfg board/st/nucleo-u083rc.cfg
- board/my-funny-pcb.cfg board/st_nucleo_f0.cfg
+ target/nrf51.cfg target/nordic/nrf51.cfg
+ target/nrf52.cfg target/nordic/nrf52.cfg
+ target/nrf53.cfg target/nordic/nrf53.cfg
+ target/nrf91.cfg target/nordic/nrf91.cfg
}
-----------------------------------------------------------------------
Summary of changes:
tcl/file_renaming.cfg | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 09:06: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 152becc4607e97aa692e41cb281753121d9ee75d (commit)
from b06212b5a2fc5b9bff72327bc7d5a7ec1c7ef613 (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 152becc4607e97aa692e41cb281753121d9ee75d
Author: Marc Schink <de...@za...>
Date: Mon May 12 06:47:22 2025 +0200
tcl/target: Move nordic configuration files
Move target configuration files into a dedicated vendor directory as
required by the new guideline for configuration files.
Note that the moved files are still accessible via the old path to ensure
backwards compatibility. This works because of the extended file search in
vendor folders.
Change-Id: If3935985769dc543e8c7d72cda590c9d79303abb
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8905
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/tcl/target/nrf_common.cfg b/tcl/target/nordic/common.cfg
similarity index 100%
rename from tcl/target/nrf_common.cfg
rename to tcl/target/nordic/common.cfg
diff --git a/tcl/target/nrf51.cfg b/tcl/target/nordic/nrf51.cfg
similarity index 100%
rename from tcl/target/nrf51.cfg
rename to tcl/target/nordic/nrf51.cfg
diff --git a/tcl/target/nrf52.cfg b/tcl/target/nordic/nrf52.cfg
similarity index 100%
rename from tcl/target/nrf52.cfg
rename to tcl/target/nordic/nrf52.cfg
diff --git a/tcl/target/nrf53.cfg b/tcl/target/nordic/nrf53.cfg
similarity index 99%
rename from tcl/target/nrf53.cfg
rename to tcl/target/nordic/nrf53.cfg
index 307df902c..0dcfd55ec 100644
--- a/tcl/target/nrf53.cfg
+++ b/tcl/target/nordic/nrf53.cfg
@@ -60,7 +60,7 @@ if { ![using_hla] } {
# Keep adapter speed less or equal 2000 kHz or flash programming fails!
adapter speed 1000
-source [find target/nrf_common.cfg]
+source [find target/nordic/common.cfg]
flash bank $_CHIPNAME.app.flash nrf5 0x00000000 0 0 0 $_TARGETNAME_APP
flash bank $_CHIPNAME.app.uicr nrf5 0x00FF8000 0 0 0 $_TARGETNAME_APP
diff --git a/tcl/target/nrf91.cfg b/tcl/target/nordic/nrf91.cfg
similarity index 97%
rename from tcl/target/nrf91.cfg
rename to tcl/target/nordic/nrf91.cfg
index e0ff4e546..64ed864e7 100644
--- a/tcl/target/nrf91.cfg
+++ b/tcl/target/nordic/nrf91.cfg
@@ -45,7 +45,7 @@ adapter speed 1000
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
-source [find target/nrf_common.cfg]
+source [find target/nordic/common.cfg]
flash bank $_CHIPNAME.flash nrf5 0x00000000 0 0 0 $_TARGETNAME
flash bank $_CHIPNAME.uicr nrf5 0x00FF8000 0 0 0 $_TARGETNAME
-----------------------------------------------------------------------
Summary of changes:
tcl/target/{nrf_common.cfg => nordic/common.cfg} | 0
tcl/target/{ => nordic}/nrf51.cfg | 0
tcl/target/{ => nordic}/nrf52.cfg | 0
tcl/target/{ => nordic}/nrf53.cfg | 2 +-
tcl/target/{ => nordic}/nrf91.cfg | 2 +-
5 files changed, 2 insertions(+), 2 deletions(-)
rename tcl/target/{nrf_common.cfg => nordic/common.cfg} (100%)
rename tcl/target/{ => nordic}/nrf51.cfg (100%)
rename tcl/target/{ => nordic}/nrf52.cfg (100%)
rename tcl/target/{ => nordic}/nrf53.cfg (99%)
rename tcl/target/{ => nordic}/nrf91.cfg (97%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 08:49:51
|
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 b06212b5a2fc5b9bff72327bc7d5a7ec1c7ef613 (commit)
from b1c1dd1ec4b014d3b17be7598b7ecfebe97edcb5 (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 b06212b5a2fc5b9bff72327bc7d5a7ec1c7ef613
Author: Antonio Borneo <bor...@gm...>
Date: Wed May 21 15:19:28 2025 +0200
startup.tcl: extend the file search in vendor folders
The TCL configuration files are going to be dispatched in vendor
specific folders.
Old user configuration files will fail to find the new files to
include, so a set of fallback files reporting the deprecation
should replace the renamed files.
To prevent such enormous proliferation of fallback files, extend
the search of files in the vendor folders too.
For non-trivial renames, a dedicated table is added in the file
tcl/file_renaming.cfg to track old --> new file names.
The deprecated message is then part of the extended search.
E.g.:
old file names:
- path/to/a/certain/vendor_config_file
- path/to/a/certain/vendor-config_file
trigger search of:
- path/to/a/certain/vendor/config_file
and
- path/to/a/certain/config_file
trigger search of:
- path/to/a/certain/${vendor}/config_file
among a possible vendors list.
This is a temporarily feature that should be removed as soon as
possible to prevent clashing on files with the same name.
The names in tcl/file_renaming.cfg are for demonstration purpose
only and should be dropped when the first real entries are added.
Change-Id: If4793fef27dc570d5df4ff4d77a5e36004f394f6
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8929
Tested-by: jenkins
diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl
index e6e76e68f..e328cbe07 100644
--- a/src/helper/startup.tcl
+++ b/src/helper/startup.tcl
@@ -7,7 +7,8 @@
# Try flipping / and \ to find file if the filename does not
# match the precise spelling
-proc find {filename} {
+# lappend _telnet_autocomplete_skip _find_internal
+proc _find_internal {filename} {
if {[catch {ocd_find $filename} t]==0} {
return $t
}
@@ -20,6 +21,49 @@ proc find {filename} {
# make sure error message matches original input string
return -code error "Can't find $filename"
}
+
+proc find {filename} {
+ if {[catch {_find_internal $filename} t]==0} {
+ return $t
+ }
+
+ # Check in vendor specific folder:
+
+ # - path/to/a/certain/vendor_config_file
+ # - path/to/a/certain/vendor-config_file
+ # replaced with
+ # - path/to/a/certain/vendor/config_file
+ regsub {([/\\])([^/\\_-]*)[_-]([^/\\]*$)} $filename "\\1\\2\\1\\3" f
+ if {[catch {_find_internal $f} t]==0} {
+ echo "WARNING: '$filename' is deprecated, use '$f' instead"
+ return $t
+ }
+
+ foreach vendor {nordic ti st} {
+ # - path/to/a/certain/config_file
+ # replaced with
+ # - path/to/a/certain/${vendor}/config_file
+ regsub {([/\\])([^/\\]*$)} $filename "\\1$vendor\\1\\2" f
+ if {[catch {_find_internal $f} t]==0} {
+ echo "WARNING: '$filename' is deprecated, use '$f' instead"
+ return $t
+ }
+ }
+
+ # at last, check for explicit renaming
+ if {[catch {
+ source [_find_internal file_renaming.cfg]
+ set unixname [string map {\\ /} $filename]
+ regsub {^(.*/|)((board|chip|cpld|cpu|fpga|interface|target|test|tools)/.*.cfg$)} $unixname {{\1} {\2}} split
+ set newname [lindex $split 0][dict get $_file_renaming [lindex $split 1]]
+ _find_internal $newname
+ } t]==0} {
+ echo "WARNING: '$filename' is deprecated, use '$newname' instead"
+ return $t
+ }
+
+ return -code error "Can't find $filename"
+}
add_usage_text find "<file>"
add_help_text find "print full path to file according to OpenOCD search rules"
diff --git a/tcl/file_renaming.cfg b/tcl/file_renaming.cfg
new file mode 100644
index 000000000..81e54823f
--- /dev/null
+++ b/tcl/file_renaming.cfg
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# This file is used to remap configuration files that has been
+# renamed, except simple renames that are taken care automatically
+# like:
+# .../file.cfg ==> .../${vendor}/file.cfg
+# .../vendor-file.cfg ==> .../vendor/file.cfg
+# .../vendor_file.cfg ==> .../vendor/file.cfg
+#
+# The formatting below is a TCL dict, so pairs of key-value
+# in a simple TCL list, using for each line
+# old_name new_name
+# including in each name one of the prefix folder between
+# board, chip, cpld, cpu, fpga, interface, target, test, tools
+
+set _file_renaming {
+ board/hello.cfg board/st/nucleo-u083rc.cfg
+ board/my-funny-pcb.cfg board/st_nucleo_f0.cfg
+}
-----------------------------------------------------------------------
Summary of changes:
src/helper/startup.tcl | 46 +++++++++++++++++++++++++++++++++++++++++++++-
tcl/file_renaming.cfg | 19 +++++++++++++++++++
2 files changed, 64 insertions(+), 1 deletion(-)
create mode 100644 tcl/file_renaming.cfg
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 08:44:11
|
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 b1c1dd1ec4b014d3b17be7598b7ecfebe97edcb5 (commit)
from 25b99ae456971d5522c4e836e80bfa8e40e5a512 (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 b1c1dd1ec4b014d3b17be7598b7ecfebe97edcb5
Author: Lucien Dufour <luc...@du...>
Date: Tue May 20 17:39:19 2025 +0200
tcl/target: Add support for TMS570LS1xxx
Added support for TMS570LS1xxx series parts. This uses the existing
ti_tms570.cfg as parent.
Change-Id: I40567bfb8dc052532807df68ef3d42f8e7a8ecf4
Signed-off-by: Lucien Dufour <luc...@du...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8928
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
Reviewed-by: zapb <de...@za...>
diff --git a/tcl/target/ti_tms570ls1x.cfg b/tcl/target/ti_tms570ls1x.cfg
new file mode 100644
index 000000000..3c2577757
--- /dev/null
+++ b/tcl/target/ti_tms570ls1x.cfg
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# TMS570LS1114, TMS570LS1115
+# TMS570LS1224, TMS570LS1225, TMS570LS1227
+set DAP_TAPID 0x0B95502F
+set JRC_TAPID 0x0B95502F
+
+source [find target/ti_tms570.cfg]
-----------------------------------------------------------------------
Summary of changes:
tcl/target/ti_tms570ls1x.cfg | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 tcl/target/ti_tms570ls1x.cfg
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 08:43: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 25b99ae456971d5522c4e836e80bfa8e40e5a512 (commit)
from c545b9c4ab32c5566091dfe05e7f1765c39ed069 (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 25b99ae456971d5522c4e836e80bfa8e40e5a512
Author: Lucien Dufour <luc...@du...>
Date: Thu May 15 14:31:25 2025 +0200
cortex_a: Use endianness for soft breakpoints
Fix endianness for cortex_r4 and cortex_r5 when inserting software
breakpoints. Because the cortex_a target is used by the cortex_r
architecture and some chips start in BE by default (e.g. TMS570)
Change-Id: I68b7fe7c4604de67fee2e64fff0fad2691659a58
Signed-off-by: Lucien Dufour <luc...@du...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8909
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c
index 46362017a..2ebbf6577 100644
--- a/src/target/cortex_a.c
+++ b/src/target/cortex_a.c
@@ -1380,6 +1380,19 @@ static int cortex_a_set_breakpoint(struct target *target,
buf_set_u32(code, 0, 32, ARMV5_BKPT(0x11));
}
+ /*
+ * ARMv7-A/R fetches instructions in little-endian on both LE and BE CPUs.
+ * But Cortex-R4 and Cortex-R5 big-endian require BE instructions.
+ * https://developer.arm.com/documentation/den0042/a/Coding-for-Cortex-R-Processors/Endianness
+ * https://developer.arm.com/documentation/den0013/d/Porting/Endianness
+ */
+ if ((((cortex_a->cpuid & CPUDBG_CPUID_MASK) == CPUDBG_CPUID_CORTEX_R4) ||
+ ((cortex_a->cpuid & CPUDBG_CPUID_MASK) == CPUDBG_CPUID_CORTEX_R5)) &&
+ target->endianness == TARGET_BIG_ENDIAN) {
+ // In place swapping is allowed
+ buf_bswap32(code, code, 4);
+ }
+
retval = target_read_memory(target,
breakpoint->address & 0xFFFFFFFE,
breakpoint->length, 1,
diff --git a/src/target/cortex_a.h b/src/target/cortex_a.h
index 37fba1a88..8e438fd95 100644
--- a/src/target/cortex_a.h
+++ b/src/target/cortex_a.h
@@ -30,6 +30,9 @@
#define CORTEX_A_MIDR_PARTNUM_SHIFT 4
#define CPUDBG_CPUID 0xD00
+#define CPUDBG_CPUID_MASK 0xff00fff0
+#define CPUDBG_CPUID_CORTEX_R4 0x4100c140
+#define CPUDBG_CPUID_CORTEX_R5 0x4100c150
#define CPUDBG_CTYPR 0xD04
#define CPUDBG_TTYPR 0xD0C
#define CPUDBG_LOCKACCESS 0xFB0
-----------------------------------------------------------------------
Summary of changes:
src/target/cortex_a.c | 13 +++++++++++++
src/target/cortex_a.h | 3 +++
2 files changed, 16 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 08:41:14
|
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 c545b9c4ab32c5566091dfe05e7f1765c39ed069 (commit)
from 330b06b440aafff1150e00f396ac8d44a8cd82a9 (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 c545b9c4ab32c5566091dfe05e7f1765c39ed069
Author: Tomas Vanek <va...@fb...>
Date: Mon May 19 17:10:00 2025 +0200
rtos/hwthread: use printf format specifier
instead of typecast.
Change-Id: I62e3a0faebd915615f6b72a456667c49970a4091
Signed-off-by: Tomas Vanek <va...@fb...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8926
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/rtos/hwthread.c b/src/rtos/hwthread.c
index 5c6c45f78..b2a45ade9 100644
--- a/src/rtos/hwthread.c
+++ b/src/rtos/hwthread.c
@@ -206,8 +206,8 @@ static int hwthread_update_threads(struct rtos *rtos)
else
rtos->current_thread = threadid_from_target(target);
- LOG_TARGET_DEBUG(target, "current_thread=%i, threads_found=%d",
- (int)rtos->current_thread, threads_found);
+ LOG_TARGET_DEBUG(target, "current_thread=%" PRId64 ", threads_found=%d",
+ rtos->current_thread, threads_found);
return 0;
}
-----------------------------------------------------------------------
Summary of changes:
src/rtos/hwthread.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 08:40: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 330b06b440aafff1150e00f396ac8d44a8cd82a9 (commit)
from 6975baa88be60505e60d1bc76176b2344e966c3f (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 330b06b440aafff1150e00f396ac8d44a8cd82a9
Author: Tim Newsome <ti...@si...>
Date: Sun May 18 11:11:07 2025 +0200
rtos/hwthread: Nicer debug message in hwthread_update_threads()
Imported from
https://github.com/riscv-collab/riscv-openocd/pull/763
Change-Id: Ia5931a772476a2ae186ed87cd70d7e4be2f196fb
Signed-off-by: Tim Newsome <ti...@si...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8917
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/rtos/hwthread.c b/src/rtos/hwthread.c
index cc43a07b4..5c6c45f78 100644
--- a/src/rtos/hwthread.c
+++ b/src/rtos/hwthread.c
@@ -206,8 +206,8 @@ static int hwthread_update_threads(struct rtos *rtos)
else
rtos->current_thread = threadid_from_target(target);
- LOG_TARGET_DEBUG(target, "%s current_thread=%i", __func__,
- (int)rtos->current_thread);
+ LOG_TARGET_DEBUG(target, "current_thread=%i, threads_found=%d",
+ (int)rtos->current_thread, threads_found);
return 0;
}
-----------------------------------------------------------------------
Summary of changes:
src/rtos/hwthread.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 08:39:21
|
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 6975baa88be60505e60d1bc76176b2344e966c3f (commit)
from 7f57e72afec76fcbc6210ddbd85ad4ecd5062ab5 (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 6975baa88be60505e60d1bc76176b2344e966c3f
Author: Tomas Vanek <va...@fb...>
Date: Mon May 19 16:00:52 2025 +0200
doc: list target unavailable state
Fixes: 8911: target: Add TARGET_UNAVAILABLE state | https://review.openocd.org/c/openocd/+/8911
Change-Id: I6d152aea5bb449f79fd0f829252442b8b9f8ed9c
Signed-off-by: Tomas Vanek <va...@fb...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8923
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/doc/openocd.texi b/doc/openocd.texi
index ca357c780..27ed46b92 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -5439,7 +5439,8 @@ Displays the current target state:
@code{debug-running},
@code{halted},
@code{reset},
-@code{running}, or @code{unknown}.
+@code{running},
+@code{unavailable} or @code{unknown}.
(Also, @pxref{eventpolling,,Event Polling}.)
@end deffn
-----------------------------------------------------------------------
Summary of changes:
doc/openocd.texi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-06-07 08:21:03
|
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 7f57e72afec76fcbc6210ddbd85ad4ecd5062ab5 (commit)
from 98ed83e2782bfd242b653bd3190c34d091b3d7b6 (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 7f57e72afec76fcbc6210ddbd85ad4ecd5062ab5
Author: Tim Newsome <ti...@si...>
Date: Thu Oct 27 14:42:23 2022 -0700
gdb_server: Operate on available targets.
When SMP is enabled, gdb will always use the first target in the SMP
group. That doesn't work when that first target is unavailable, but
others in the SMP group are still available.
For cases where gdb expects an operation to affect the entire group (run
control, memory access), find the first available target in an SMP group
and use that.
Imported from
https://github.com/riscv-collab/riscv-openocd/pull/767
Change-Id: I4bed600da3ac0fdfe4287d8fdd090a58452db501
Signed-off-by: Tim Newsome <ti...@si...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8912
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index 085058f4f..b5007d927 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -151,6 +151,29 @@ static bool gdb_use_target_description = true;
/* current processing free-run type, used by file-I/O */
static char gdb_running_type;
+/* Find an available target in the SMP group that gdb is connected to. For
+ * commands that affect an entire SMP group (like memory access and run control)
+ * this will give better results than returning the unavailable target and having
+ * the command fail. If gdb was aware that targets can be unavailable we
+ * wouldn't need this logic.
+ */
+struct target *get_available_target_from_connection(struct connection *connection)
+{
+ struct gdb_service *gdb_service = connection->service->priv;
+ struct target *target = gdb_service->target;
+ if (target->state == TARGET_UNAVAILABLE && target->smp) {
+ struct target_list *tlist;
+ foreach_smp_target(tlist, target->smp_targets) {
+ struct target *t = tlist->target;
+ if (t->state != TARGET_UNAVAILABLE)
+ return t;
+ }
+ /* If we can't find an available target, just return the
+ * original. */
+ }
+ return target;
+}
+
static int gdb_last_signal(struct target *target)
{
LOG_TARGET_DEBUG(target, "Debug reason is: %s",
@@ -961,9 +984,9 @@ static int gdb_target_callback_event_handler(struct target *target,
enum target_event event, void *priv)
{
struct connection *connection = priv;
- struct gdb_service *gdb_service = connection->service->priv;
+ struct target *gdb_target = get_available_target_from_connection(connection);
- if (gdb_service->target != target)
+ if (gdb_target != target)
return ERROR_OK;
switch (event) {
@@ -1504,7 +1527,7 @@ static int gdb_error(struct connection *connection, int retval)
static int gdb_read_memory_packet(struct connection *connection,
char const *packet, int packet_size)
{
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
char *separator;
uint64_t addr = 0;
uint32_t len = 0;
@@ -1579,7 +1602,7 @@ static int gdb_read_memory_packet(struct connection *connection,
static int gdb_write_memory_packet(struct connection *connection,
char const *packet, int packet_size)
{
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
char *separator;
uint64_t addr = 0;
uint32_t len = 0;
@@ -1630,7 +1653,7 @@ static int gdb_write_memory_packet(struct connection *connection,
static int gdb_write_memory_binary_packet(struct connection *connection,
char const *packet, int packet_size)
{
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
char *separator;
uint64_t addr = 0;
uint32_t len = 0;
@@ -1709,7 +1732,7 @@ static int gdb_write_memory_binary_packet(struct connection *connection,
static int gdb_step_continue_packet(struct connection *connection,
char const *packet, int packet_size)
{
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
bool current = false;
uint64_t address = 0x0;
int retval = ERROR_OK;
@@ -1737,7 +1760,7 @@ static int gdb_step_continue_packet(struct connection *connection,
static int gdb_breakpoint_watchpoint_packet(struct connection *connection,
char const *packet, int packet_size)
{
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
int type;
enum breakpoint_type bp_type = BKPT_SOFT /* dummy init to avoid warning */;
enum watchpoint_rw wp_type = WPT_READ /* dummy init to avoid warning */;
@@ -1910,7 +1933,7 @@ static int gdb_memory_map(struct connection *connection,
* have to regenerate it a couple of times.
*/
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
struct flash_bank *p;
char *xml = NULL;
int size = 0;
@@ -2986,7 +3009,7 @@ static bool gdb_handle_vcont_packet(struct connection *connection, const char *p
__attribute__((unused)) int packet_size)
{
struct gdb_connection *gdb_connection = connection->priv;
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
const char *parse = packet;
int retval;
@@ -3208,7 +3231,7 @@ static void gdb_restart_inferior(struct connection *connection, const char *pack
static bool gdb_handle_vrun_packet(struct connection *connection, const char *packet, int packet_size)
{
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
const char *parse = packet;
/* Skip "vRun" */
@@ -3254,7 +3277,7 @@ static int gdb_v_packet(struct connection *connection,
struct gdb_connection *gdb_connection = connection->priv;
int result;
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
if (strncmp(packet, "vCont", 5) == 0) {
bool handled;
@@ -3433,7 +3456,7 @@ static int gdb_detach(struct connection *connection)
static int gdb_fileio_response_packet(struct connection *connection,
char const *packet, int packet_size)
{
- struct target *target = get_target_from_connection(connection);
+ struct target *target = get_available_target_from_connection(connection);
char *separator;
char *parsing_point;
int fileio_retcode = strtoul(packet + 1, &separator, 16);
@@ -3726,10 +3749,11 @@ static int gdb_input_inner(struct connection *connection)
}
if (gdb_con->ctrl_c) {
- if (target->state == TARGET_RUNNING) {
- struct target *t = target;
- if (target->rtos)
- target->rtos->gdb_target_for_threadid(connection, target->rtos->current_threadid, &t);
+ struct target *available_target = get_available_target_from_connection(connection);
+ if (available_target->state == TARGET_RUNNING) {
+ struct target *t = available_target;
+ if (available_target->rtos)
+ available_target->rtos->gdb_target_for_threadid(connection, target->rtos->current_threadid, &t);
retval = target_halt(t);
if (retval == ERROR_OK)
retval = target_poll(t);
-----------------------------------------------------------------------
Summary of changes:
src/server/gdb_server.c | 56 +++++++++++++++++++++++++++++++++++--------------
1 file changed, 40 insertions(+), 16 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|