Commit Graph

11095 Commits

Author SHA1 Message Date
Marc Schink
0732a9bb7b doc/manual: Drop LaTeX style guide
LaTeX is not used for the documentation but only as (intermediate)
output format. Developers do not need to write any LaTeX code at all and
will not need to do so in the future, so we do not need a style guide.

Remove the section on LaTeX from the style guide to make it clearer and
avoid confusion.

Change-Id: I238a35445616f39e38104ad0ff50ab246dd5990f
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/9110
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2025-09-13 12:06:50 +00:00
Marc Schink
db2cd0f5a5 README.Windows: Remove outdated pkg-config section
pkg-config [1] and the compatible tool pkgconf [2] are available via the
package manager as for other systems. No need to install it manually
from other sources.

[1] https://packages.msys2.org/packages/mingw-w64-x86_64-pkg-config
[2] https://packages.msys2.org/package/mingw-w64-x86_64-pkgconf

Change-Id: I36e115fce8ab542aa0377483f24e4a374faeef58
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/9108
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
2025-09-13 12:06:38 +00:00
Ryan QIAN
e10fb1e2a4 gdb_server: Fix buffer size calculation for snprintf null terminator
The buffer size check was using len + 4 but snprintf requires additional
space for the null terminator. The snprintf call formats '#%02x' which
needs 4 bytes total (1 for '#', 2 for checksum, 1 for null terminator).

The original check of len + 4 was insufficient and could cause snprintf
to truncate the checksum and replace the last character with '\0',
leading to malformed GDB packets.

Fix by changing the buffer size check from len + 4 to len + 5 (1 for '$',
1 for '#', 2 for checksum, 1 for null terminator) to provide adequate space
for snprintf's null terminator.

Change-Id: Ibf8b3c3f5e4d5ac5be795b8e688e055453798afe
Signed-off-by: Ryan QIAN <jianghao.qian@hpmicro.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9117
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2025-09-12 16:41:31 +00:00
Tomas Vanek
874be7dc03 tcl/target/rp2040: fix typo in the comment
and use better wording.

Change-Id: I733283a957957354bdf527240be73b711631e372
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/9112
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2025-09-12 16:40:52 +00:00
Samuel Obuch
a6752a1671 jtag/drivers/cmsis_dap: fix build with cmsis_dap_tcp backend
For some hosts build fails after the recent cmsis_dap_tcp addition
(see commit fcff4b712c ("jtag/drivers/cmsis_dap: add new backend
cmsis_dap_tcp") or https://review.openocd.org/c/openocd/+/8973)

- Header 'hidapi.h' may not be available and should not be needed here.

- Global pointer variable is not guaranteed to be treated as a constant
  expression even with const modifier. Use global array instead, to avoid
  'error: initializer element is not constant', as address of a global
  array is a constant expression.

Change-Id: I0c72ff52340f546a5f635663a8fde28c99176d1b
Signed-off-by: Samuel Obuch <samuel.obuch@espressif.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9115
Tested-by: jenkins
Reviewed-by: Brian Kuschak <bkuschak@gmail.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2025-09-12 16:39:52 +00:00
Peter Lawrence
c2cfeee471 add tcl/board/pico2-debug.cfg; update tcl/board/pico-debug.cfg
pico-debug and pico2-debug are virtual CMSIS-DAP adapters that
run on the otherwise dormant second core of the RP2040 and RP2350
respectively.

Change-Id: Ifd7dcbbabeb86c738cc58854add0e897633197de
Signed-off-by: Peter Lawrence <majbthrd@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9099
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
2025-09-10 05:01:03 +00:00
Marc Schink
9279a489d4 target/stm8: Remove useless parentheses
Parentheses are not necessary here, remove them.

Change-Id: I793639fbef38688045104d351fb4e5320f1eba2a
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/9058
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
2025-09-06 11:41:51 +00:00
Antonio Borneo
ddef9cf73b target: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

While there:
- add space around the operators;
- drop useless empty line.

Skip all riscv code, as it is going to be updated soon from the
external fork.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I2691dfdd2b6734143e14160b46183623e9773539
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9051
Tested-by: jenkins
2025-09-06 11:41:33 +00:00
Antonio Borneo
0cd8b6a9d9 jtag: drivers: ulink: special align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Checkpatch is not able to detect numbers in exponential format,
like 6E-5, and complains about missing space around the operator
minus.

To complete the alignment of switch and case statements in this
file, use a separate commit with the special checkpatch ignore tag
in the commit message.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Checkpatch-ignore: SPACING
Change-Id: Ibe70c4a4d3f0bb44c03007103910b778944bb90e
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9056
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
2025-09-06 08:35:54 +00:00
Antonio Borneo
867611d3e1 jtag: drivers: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

Skip the driver angie that is going to be updated soon with a new
commit and skip the folder OpenULINK that contains a firmware for
the dongle.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I960a89a45bc9956f98676a019f0d1a652601155f
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9055
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
2025-09-06 08:35:33 +00:00
Antonio Borneo
8b751e0d45 jtag: drivers: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- remove 'else' after return and break;
- use '__func__' in place of hardcoded function name;
- remove useless parenthesis;
- don't end line with an open parenthesis.

Change-Id: I6a9905e5a30c90456de562e727dd2dfe2fda10c4
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9054
Reviewed-by: zapb <dev@zapb.de>
Tested-by: jenkins
2025-09-06 08:35:19 +00:00
Antonio Borneo
8a504640d2 jtag: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: Iaf368b0bdd7c797b0e4cfb91e838696d706fdcce
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9053
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
2025-09-06 08:35:02 +00:00
Antonio Borneo
9bc4873a71 jtag: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- use '__func__' in place of hardcoded function name.

Change-Id: Ib90811c7fffa15702fb710345c5ca3c7331d5ad6
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9052
Reviewed-by: zapb <dev@zapb.de>
Tested-by: jenkins
2025-09-06 08:34:33 +00:00
Antonio Borneo
e9561c4af5 target: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- remove useless parenthesis;
- remove useless 'break';
- join spit lines;
- add space around operators;
- remove 'else' after exit() and return.

Change-Id: I8a87a0ea104205d087dcb8cbf4c67ff13a47742f
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9050
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
2025-09-06 08:33:52 +00:00
Antonio Borneo
6b7cc918f0 target: cortex_a: add break in switch/case
The code falls-through in the default case, making it not easy to
read.

Add the explicit break to improve the readability.

Change-Id: I4784b883e0e82258de17018dfdfb59b4042ac743
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9049
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2025-09-06 08:33:38 +00:00
Antonio Borneo
cb526f0659 xsvf: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I24762505cdac22058e0a2a1f4e9235c9006e543d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9048
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
2025-09-06 08:33:22 +00:00
Antonio Borneo
ce3fa4ac08 xsvf: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- uniform braces around if/else statements.

While there:
- drop useless break.

Change-Id: Ic0ce0a9877dbf17c625cf80009a52922176a162d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9047
Reviewed-by: zapb <dev@zapb.de>
Tested-by: jenkins
2025-09-06 08:33:04 +00:00
Antonio Borneo
83b92bc634 contrib: loaders: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

While there:
- add space around operators;
- remove space after cast.

Skip the file
	contrib/firmware/angie/c/src/usb.c
as it's going to be modified by a patch already pending in gerrit.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I0bebd6d0cc95ddecd5794cc4c12c8412b38691e9
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9046
Tested-by: jenkins
2025-09-06 08:32:46 +00:00
Antonio Borneo
302ce2b2ef contrib: loader: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- uniform braces around if/else statements;
- don't end line with an open parenthesis.

While there:
- move the default case as last in the list.

Change-Id: Idb9603e9a59c7f2e1a7346d5bdd3bde384d2f75f
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9045
Tested-by: jenkins
2025-09-06 08:32:33 +00:00
Antonio Borneo
08ede91a1f svf: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I1369294af64c2830cc7fcc2814eac073c2413ff5
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9044
Tested-by: jenkins
2025-09-06 08:32:18 +00:00
Antonio Borneo
3e11574c8f svf: rework the tests in svf_xxr_common()
Check the variable value against the constant.

Change-Id: I353bbada2180d6df789cc225ddb15f22c7deb00d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9043
Tested-by: jenkins
2025-09-06 08:32:01 +00:00
Antonio Borneo
880f234915 svf: rework svf_parse_cmd_string()
Rework the function to drop the goto in the switch statement.
While there, change some variable to boolean.

Change-Id: I37cbc8aafaeb8aef7f083ee6f5afa9eae71e0cd9
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9042
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
2025-09-06 08:31:46 +00:00
Antonio Borneo
c22e1eb3ce svf: drop goto and label in switch statement
Drop the jumps to the label thanks to the factorized code.
Drop the now unused label.

Change-Id: I7e61ecee5a883a6ed6b77bfbff54a615d1b4d61c
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9041
Tested-by: jenkins
2025-09-06 08:31:30 +00:00
Antonio Borneo
1c668a0a6b svf: factorize big switch case
Factorize function svf_run_command() by moving out of the 'case'
the common code related to the label 'xxr_common'.

The target is to drop later on the ugly label 'xxr_common' inside
the switch.

Apart for:
- the function and local variables declaration,
- the added function call in place of original code,
- the reduced indentation in the new function,
this change is a dummy copy/paste with no code modification.

Change-Id: I8149cf25f460326ba6666a9287c5c309e5d99488
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9040
Tested-by: jenkins
2025-09-06 08:31:11 +00:00
Antonio Borneo
ad8d96230d svf: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- remove unnecessary parenthesis;
- uniform braces around if/else statements.

Change-Id: I851032e1b126462a325f73bdf236fd2dbc938ff3
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9039
Tested-by: jenkins
2025-09-06 08:30:55 +00:00
Antonio Borneo
15fb738850 rtos: linux: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: Ic4070571d322776b638a15a40af85cd31fdae7ce
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9038
Tested-by: jenkins
2025-09-06 08:30:40 +00:00
Antonio Borneo
d34ff22429 rtos: linux: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- fix useless 'else' after 'break', by moving the 'break'
  statement.

While there:
- modify the checks on strncmp().

Change-Id: I123f3c0e3999669440845c946e4839d7288e8d91
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9037
Tested-by: jenkins
2025-09-06 08:30:23 +00:00
Antonio Borneo
c5806c0ae1 rtos: linux: drop useless code
Since the initial code merged in 2012, the last case of the switch
has a useless test on 'retval' that is not assigned in the case.
Since 'retval' is initialized to ERROR_OK, the condition is always
false.

Drop the check on 'retval'.
While there, drop the useless parenthesis around the 'case' and
add the 'break' statement.

Change-Id: I3f673b5e10f6b28a4a74881b8a06a71b58afb422
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9036
Tested-by: jenkins
2025-09-06 08:30:08 +00:00
Antonio Borneo
44b8d0f186 flash: nor: jtagspi: invert the operands in check
Check the variable against the constant.
No functional change.

Change-Id: Ie3138e516f4b81bf544780981863e856f8ffc528
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9035
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2025-09-06 08:29:54 +00:00
Antonio Borneo
36a2b6c6f8 flash: nor: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I6be44efd5189b671caabcf6753bb82ef44521440
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9034
Tested-by: jenkins
2025-09-06 08:29:38 +00:00
Antonio Borneo
ac527e7372 flash: nor: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- remove useless parenthesis;
- uniform braces around if/else statements,
- add space around operators.

While there:
- put the 'default' case as last in the list;
- convert format strings to drop cast.

Change-Id: I335b200add75b95bf1e908af39e957b61b617e22
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9033
Tested-by: jenkins
2025-09-06 08:29:13 +00:00
Antonio Borneo
f711ccfd7a flash: nand: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I9689e5b4650b8301d1b81e384e4db41b4efc3993
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9032
Tested-by: jenkins
2025-09-06 08:28:56 +00:00
Antonio Borneo
1042a8d179 flash: nand: prepare for aligning switch and case statements
To prepare for aligning switch and case statements, fix in advance
some checkpatch error due to existing code:
- remove useless parenthesis;
- don't end line with an open parenthesis;
- expand multiple assignments.

While there, put the 'default' case as last in the list.

Change-Id: I17bf5e88b145ef9b5b188424182f4e54b818eeae
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9011
Tested-by: jenkins
2025-09-06 08:28:40 +00:00
Antonio Borneo
d123cfdc58 helper: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: Iea3b60b3f01afbe31c495e8ea4ddc2b4c8efa936
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9010
Tested-by: jenkins
2025-09-06 08:28:20 +00:00
Antonio Borneo
d10c839596 openocd: align switch and case statements
The coding style requires the 'case' to be at the same indentation
level of its 'switch' statement.

Align the code accordingly.

No changes are reported by
	git log -p -w --ignore-blank-lines --patience

Change-Id: I2a4c33f12506e898e1efbbfd711cc5834d81dda1
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9009
Tested-by: jenkins
2025-09-06 08:28:00 +00:00
Antonio Borneo
db79156fd5 doc: drop incorrect lack of namespaces in Jim Tcl
Since 2011 [1], Jim Tcl supports namespaces as an optional package
that is compiled-in by default.

Drop the incorrect sentence in OpenOCD documentation that reports
namespaces as not supported by Jim Tcl. It was true in 2008 when
the sentence was added with [2].
The meaning of the paragraph in the documentation does not change.

Change-Id: I30b422e369d106e70f5e1e20b21f0b6ea0fe6b8d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Link: https://github.com/msteveb/jimtcl/commit/7f383c6726fd [1]
Fixes: a28eaa85f ("jtag newtap change & huge manual update") [2]
Reviewed-on: https://review.openocd.org/c/openocd/+/9093
Tested-by: jenkins
2025-09-06 08:25:11 +00:00
Antonio Borneo
a68856102f openocd: remove further obsolete hooks for building on eCos
The eCos build has been dropped in 2012 with commit 39650e2273
("ecosboard: delete bit-rotted eCos code").

Drop last eCos related code.

Change-Id: I6b0de6386386c0102d540504236dda58d7a664b9
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9092
Tested-by: jenkins
2025-09-06 08:24:51 +00:00
Marc Schink
20ca4f4bee flash/nor/stm32l4x: Change 'option_read' output
Remove the verbose command output to enable processing with Tcl.

Change-Id: I97c2ffbd7bbbb3064a98f8977373f6c48272e71e
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/9000
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2025-09-06 08:21:49 +00:00
Daniel Anselmi
9a5212560b tcl/board: Add digilent Zybo Zynq-7000 board
Add configuration for digilents Zybo Z7 board.
Documentation:
https://digilent.com/reference/programmable-logic/zybo-z7/start

Change-Id: I4b607e60f2bf531ee8f96739deb737376248fb8b
Signed-off-by: Daniel Anselmi <danselmi@gmx.ch>
Reviewed-on: https://review.openocd.org/c/openocd/+/8088
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2025-09-06 08:19:37 +00:00
Marc Schink
7bc74de62d adapter: Rework parallel port driver
Make the driver more flexible and define adapter-specific configurations
in Tcl instead of C using the adapter GPIO subsystem.

The rework also includes coding style fixes and improvements of the
documentation. All modifications are done such that backwards
compatibility is ensured.

Tested with Olimex ARM-JTAG cable [1] and APM32F103 target device on
Linux and FreeBSD. The driver works on Linux using direct I/O and PPDEV.
On FreeBSD, only PPDEV works. The build with direct I/O already failed
before the patch. This problem will be fixed in a subsequent patch.

The patch is not tested on Windows because there is no documentation
for it.

[1] https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG/

Change-Id: Ib671d52a919eaf2959cf6365f2c8004257ae074c
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/8943
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
2025-09-06 08:19:09 +00:00
Marc Schink
3bec165e25 adapter: Add 'user0' GPIO signal
Add a user-specific signal 'user0' which can be used for custom
functionality.

For now, only a single user-specific signal is supported. Additional
signals 'userX' or a more generic handling can be added in the future.
Also, the signal state can only be configured during the adapter
initialization and termination. Commands to change the signal state at
run-time may be added in the future.

Change-Id: I3f31242f6a693e11565542c3bd4521a245b4ff95
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/9088
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
2025-09-06 08:18:57 +00:00
Marc Schink
d02389bbfa adapter: Add support for 'exit state' of GPIO signal
In addition to a signal's 'init state', add support to configure its
'exit state'. This option determines the state and configuration of a
pin when the adapter terminates its operation.

Change-Id: I0577ed9e3bc79715290b4e6a21e3f64c66f2ff9a
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/9087
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2025-09-06 08:18:41 +00:00
Brian Kuschak
fcff4b712c jtag/drivers/cmsis_dap: add new backend cmsis_dap_tcp
Create a new backend for cmsis_dap driver that allows CMSIS-DAP protocol
to run over TCP/IP instead of USB.

An example implementation of the firmware for an SWD programmer that
uses this cmsis_dap_tcp protocol can be found at the link below.
https://github.com/bkuschak/cmsis_dap_tcp_esp32

Using this cmsis_dap_tcp backend with the firmware above on an ESP32-C6
programmer and STM32F401RE target shows the following performance:
- loading 96KB image to RAM: 80 KB/sec
- dumping 96KB image from RAM: 72 KB/sec
- flashing 512KB image completes in about 13.5 seconds (including erase,
  program, and verify).

Change-Id: I6e3e45016bd16ef2259561b1046788f5536b0687
Signed-off-by: Brian Kuschak <bkuschak@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8973
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
2025-09-01 07:46:39 +00:00
HAOUES Ahmed
64ed1c74d5 flash/stm32l4x: Support STM32U37/U38x devices
STM32U37/U38x devices have 1Mb flash (split into pages of 4 Kb)

Note: add wait for the BSY bit to be cleared in FLASH_SR

Change-Id: I8208aa81951b9e2f7b0a6bbfce3f7c8ad0f78ade
Signed-off-by: HAOUES Ahmed <ahmed.haoues@st.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8874
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2025-09-01 07:43:30 +00:00
Michal Lenc
61d1d13a02 doc/openocd.texi: add entry describing atsamv user signature area
Adds documentation entry for newly added possibility to program
ATSAMV family embedded flash signature area page.

Change-Id: I3bbaba304868dca49d6dd7006276d2d3a95facad
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/9096
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
2025-08-29 12:08:20 +00:00
Tomas Vanek
fcbe243c0b flash/nor/atsamv: reduce flash driver verbosity
Remove useless LOG_INFO in samv_flash_bank_command().
Change LOG_INFO to LOG_DEBUG in samv_erase().

Change-Id: I46923ea4f020197ba902b1a7226cc8ee91831a5a
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/9061
Reviewed-by: zapb <dev@zapb.de>
Reviewed-by: Michal Lenc <michallenc@seznam.cz>
Tested-by: jenkins
2025-08-29 12:07:44 +00:00
Tomas Vanek
0819c3939f tcl/target/atsamv: disable watchdog in reset-init event
Prevent disrupting of 'flash erase_check' or 'flash verify_image'
running longer than 16 seconds.

Change-Id: I545a1155ac0d237c49f2f3a27235d8a67df2a61b
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/9060
Tested-by: jenkins
Reviewed-by: Michal Lenc <michallenc@seznam.cz>
2025-08-29 12:07:32 +00:00
Michal Lenc
5d333337b6 atsamv: add support for user signature partition write
Embedded flash also has a user signature area. This is a 512
bytes large page whose data are not erased by asserting ERASE pin or by
software ERASE command. It may be used to store configuration, keys,
trimming values etc.

This commit adds option to access this area from OpenOCD.

Change-Id: If870aa85938b9cccd94f958dd1f3d93dbdf779f0
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/8302
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
2025-08-29 12:07:04 +00:00
Antonio Borneo
e971d677c0 drivers ch347: drop useless initialization
Drop some useless initialization in the driver.
Replace a constant value returned through a variable with the
value itself.

Change-Id: I7b7c0b30c6d36e9763ff78bf826742792546fa7f
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/9095
Tested-by: jenkins
Reviewed-by: Matthias Jentsch <info@easydevkits.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2025-08-27 14:36:55 +00:00
Antonio Borneo
96c219a408 drivers: ch347: fix scan-build warnings
The newly merged driver ch347 triggers two new scan-build warnings
about dead assignment to variables.

Fix them.

Change-Id: Ided14272c3573be1498584e68ac4653cde029f31
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Fixes: 7d0e125896 ("jtag/drivers: Add support for CH347-based JTAG adapters")
Reviewed-on: https://review.openocd.org/c/openocd/+/9094
Tested-by: jenkins
Reviewed-by: Matthias Jentsch <info@easydevkits.com>
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2025-08-27 14:36:44 +00:00