Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
348aa00
CI: Run the "snapshot" action only on the main branch
JanMatCodasip Feb 14, 2025
5835067
target/adi_v5_swd: drop unused `swd_driver` in `swd_queue_dp_write()`
en-sc Feb 12, 2025
0d7d178
flash/nor/rsl10: drop unused `rsl10_info` in `rsl10_protect_check()`
en-sc Feb 12, 2025
f63b41b
drivers/linuxspidev: fix compilation on Linux older than 3.15
tom-van Feb 15, 2025
297844c
target: Use 'bool' data type in target_{step,resume}
zapb-0 Oct 10, 2024
9470853
jep106: update to revision JEP106BL Feb 2025
borneoa Feb 19, 2025
91c11ea
rtos: Use lower case filenames
zapb-0 Jun 12, 2024
068f566
Fix datatypes around opcodes.h and program.{c,h}
JanMatCodasip Feb 9, 2025
c133dbe
opcodes.h: Do not use casts in MIN_* and MAX_* macros
JanMatCodasip Feb 14, 2025
b272470
riscv-011: Fix datatypes to correspond to opcodes.h
JanMatCodasip Feb 14, 2025
64f30dc
Clean up return type of riscv_progbuf_size() + related
JanMatCodasip Feb 28, 2025
e142584
target: algorithm: change reg_name to const in init_reg_param()
borneoa Feb 26, 2025
c986b4d
tcl/target: add Bouffalo Lab BL602 and BL702L chip series support
gamelaster Nov 23, 2024
accbeae
gdb_server: fix invalid free
jimmeta Feb 21, 2025
d126cdb
drivers/cmsis_dap: fix misleading error selecting not compiled backend
tom-van Feb 17, 2025
a168c63
configure: better differentiate CMSIS-DAP versions
tom-van Feb 18, 2025
d5969d5
target/riscv: Fix SMP group is in inconsistent state
lz-bro Nov 20, 2024
8c82210
Merge up to a168c634126e9e6bb95c6e68b2db5afbb099abf7 from upstream
en-sc Mar 5, 2025
3999025
fix expose_csr for CSR with address "0"
aap-sc Jan 30, 2025
e88edb7
Merge pull request #1171 from lz-bro/handle-all-trigger-halt
en-sc Mar 7, 2025
4523111
src/target/riscv: error out of the `examine()` in case `abits` is zero
en-sc Feb 25, 2025
6708282
Merge pull request #1225 from JanMatCodasip/jm-codasip/fix-datatypes-…
en-sc Mar 7, 2025
7837f50
target: fix wrap-around detection for read_memory/write_memory
aap-sc Nov 8, 2024
953ad9e
rtt: Raise error if control block was not found
zapb-0 Feb 13, 2025
7ec11e5
rtos/rtos: handle OOM in `rtos_thread_packet()`
en-sc Feb 14, 2025
b6b5edf
rtos/linux: handle OOM in `linux_gdb_thread_packet()`
en-sc Feb 14, 2025
8a6f89c
flash/nor: Add basic support for TI's MSPM0L/G family
nmenon Sep 28, 2023
c81cb4a
tcl/target: Add support for TI MSPM0
nmenon Sep 28, 2023
b7ad702
tcl/board: Add MSPM0 Launchpad support
nmenon Sep 28, 2023
b2016dc
target/target: fix RTOS thread awareness support
dgoehring-ampere Mar 5, 2025
f5dd564
target/armv8: fix 128-bit register writes
dgoehring-ampere Mar 6, 2025
c3f1566
Merge pull request #1238 from en-sc/en-sc/abits-zero
en-sc Mar 10, 2025
41a2254
Merge pull request #1229 from JanMatCodasip/jm-codasip/snapshot-actio…
en-sc Mar 13, 2025
c01427d
riscv-011: Don't trigger semihosting before the target is examined
JanMatCodasip Feb 14, 2025
ece1827
target/riscv: avoid `config` modification on `jim_getopt_obj()` failure
en-sc Feb 17, 2025
716fbe3
target/riscv: only restore mstatus.*ie bits in riscv_interrupts_restore
sobuch Feb 4, 2025
5300242
tcl/target/ti_k3: Add AM62L SoC
nmenon Mar 3, 2025
a8555b0
tcl/board: Add TI am62levm config
nmenon Mar 3, 2025
a2c3c79
tcl/target/ti_k3: Add support for system reset using powerAP
shivinti Feb 19, 2025
9e5ffed
tcl/target/ti_k3: Add support for AM263P
shivinti Feb 19, 2025
c002284
tcl/board: Add TI AM263P launchpad config
shivinti Feb 21, 2025
da7e369
tcl/target/ti_k3: Add support for AM261
shivinti Feb 19, 2025
80b1c9a
tcl/board: Add TI AM261 launchpad config
shivinti Feb 21, 2025
d892a4d
target/arm_adiv5: print DAP name if not found
zapb-0 Dec 4, 2024
16c6497
rtos/linux: fix name overwrite in `linux_thread_extra_info()`
en-sc Feb 14, 2025
fdd0c2b
configure.ac: show the JTAG DPI and VPI adapters in the config summary
Feb 16, 2025
a2d4b9b
bcm2835gpio.c: change adapter init order
Nov 3, 2024
e12cedd
helper/log: mark `fmt` argument of `alloc_vprintf()` as format string
en-sc Feb 14, 2025
e4a51b3
doc: drop mention of not implemented SPI transport
borneoa Dec 23, 2024
6beb628
adapter: drop command 'adapter transports'
borneoa Dec 22, 2024
4275280
adapter: simplify command 'adapter list'
borneoa Nov 30, 2024
bb4c7e3
tcl/ngultra: Use newly created armv8r target
Jan 18, 2024
72ff2e2
target/armv8: regularly send keep_alive packet.
Jan 18, 2024
74d912e
Merge pull request #1228 from JanMatCodasip/jm-codasip/riscv-011-dont…
en-sc Mar 17, 2025
b6ade1b
Merge pull request #1236 from en-sc/en-sc/from_upstream
en-sc Mar 17, 2025
c380b7c
Merge pull request #1221 from aap-sc/aap-sc/expose_csr_fixup
en-sc Mar 17, 2025
92aadd1
Merge pull request #1240 from en-sc/en-sc/ebreak-cfg-update
en-sc Mar 20, 2025
ab97974
target/riscv: implement abstract command cache Implemented cache of u…
fkhaidari Mar 25, 2025
b064830
Merge pull request #1235 from fk-sc/fk-sc/abstract-cmd-cache
en-sc Mar 28, 2025
6d13942
helper: command: return correct error on command 'echo'
borneoa Nov 23, 2024
864e134
target: read_memory: drop command name from error messages
borneoa Nov 23, 2024
f55ec6d
target: rewrite command 'write_memory' as COMMAND_HANDLER
borneoa Dec 2, 2023
50c1a15
command: factorize jim_command_mode()
borneoa Dec 2, 2023
98e34fd
flash/stm32l4x: support STM32U5F/U5Gx devices
ahmed-haoues Mar 12, 2025
5773ff9
target/armv8: Handle instruction cache invalidate
Jan 18, 2024
a86fdfc
target: drop last instances of 'target->cmd_name'
borneoa Mar 16, 2025
a9fa339
tcl/target: Add Renesas R-Car Gen4 R8A779G0 V4H and R8A779H0 V4M targets
marex Aug 22, 2024
f885a8d
target/aarch64: Cleanup on exit
Jan 18, 2024
fe3aa0a
target: rewrite command 'get_reg' as COMMAND_HANDLER
borneoa Dec 2, 2023
2605cbd
Merge pull request #1222 from sobuch/fix_maskisr_change_unrelated_mst…
en-sc Mar 31, 2025
169d463
tcl/target/nordic/nrf54l: minor corrections
tom-van Feb 11, 2025
04124c7
target: fix memory leak in handle_target_write_memory()
borneoa Mar 29, 2025
c023534
target: use list for target events
borneoa Mar 23, 2025
160f7b3
target: remove events that are set to empty string
borneoa Mar 23, 2025
9eb2426
configure.ac: show the Remote Bitbang driver in the config summary
Mar 23, 2025
e45d66f
configure.ac: show the rshim adapter in the config summary
Mar 22, 2025
6834f02
Makefile.am: Use SOURCE_DATE_EPOCH environment variable
sofianehamam Mar 28, 2025
c9866d0
Revert "enable remote_bitbang by default (#498)"
en-sc Apr 7, 2025
e0236ca
Merge up to 6834f022b96fb1c7f5829166578e01a0ac223cb0 from upstream
en-sc Apr 7, 2025
1aebdf8
Merge pull request #1244 from en-sc/en-sc/from_upstream
en-sc Apr 16, 2025
fc0b7e3
Update image in `build32`
en-sc Apr 29, 2025
5a39519
target/riscv: check nextdm address in abits range
zqb-all May 15, 2025
d3267c1
Update image in `build32`
en-sc Apr 29, 2025
6f84e90
Merge pull request #1257 from zqb-all/check-nextdm-abits
en-sc Jun 18, 2025
35cd78c
Merge up to 6f84e90d5cc0e98f895ea0fa31212326b50ab769 from RISC-V OpenOCD
en-sc Aug 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Linux Build
jobs:
# 32-bit, clang
build32:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
env:
CFLAGS: -m32
CC: clang
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

# Copyright (C) 2020 by Tarek BOUCHKATI <tarek.bouchkati@gmail.com>

on: push
on:
push:
branches:
- riscv

name: OpenOCD Snapshot

Expand Down
99 changes: 45 additions & 54 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -137,16 +137,19 @@ m4_define([USB1_ADAPTERS],
[[ft232r], [Bitbang mode of FT232R based devices], [FT232R]],
[[vsllink], [Versaloon-Link JTAG Programmer], [VSLLINK]],
[[xds110], [TI XDS110 Debug Probe], [XDS110]],
[[cmsis_dap_v2], [CMSIS-DAP v2 Compliant Debugger], [CMSIS_DAP_USB]],
[[osbdm], [OSBDM (JTAG only) Programmer], [OSBDM]],
[[opendous], [eStick/opendous JTAG Programmer], [OPENDOUS]],
[[armjtagew], [Olimex ARM-JTAG-EW Programmer], [ARMJTAGEW]],
[[rlink], [Raisonance RLink JTAG Programmer], [RLINK]],
[[usbprog], [USBProg JTAG Programmer], [USBPROG]],
[[esp_usb_jtag], [Espressif JTAG Programmer], [ESP_USB_JTAG]]])
[[esp_usb_jtag], [Espressif JTAG Programmer], [ESP_USB_JTAG]],
[[cmsis_dap_v2], [CMSIS-DAP v2 compliant dongle (USB bulk)], [CMSIS_DAP_USB]]])

# Please keep cmsis_dap_v2 the last in USB1_ADAPTERS
# and cmsis_dap the first in HIDAPI_ADAPTERS

m4_define([HIDAPI_ADAPTERS],
[[[cmsis_dap], [CMSIS-DAP Compliant Debugger], [CMSIS_DAP_HID]],
[[[cmsis_dap], [CMSIS-DAP v1 compliant dongle (HID)], [CMSIS_DAP_HID]],
[[nulink], [Nu-Link Programmer], [HLADAPTER_NULINK]]])

m4_define([HIDAPI_USB1_ADAPTERS],
Expand All @@ -162,6 +165,9 @@ m4_define([LIBFTDI_USB1_ADAPTERS],
m4_define([LIBGPIOD_ADAPTERS],
[[[linuxgpiod], [Linux GPIO bitbang through libgpiod], [LINUXGPIOD]]])

m4_define([REMOTE_BITBANG_ADAPTER],
[[[remote_bitbang], [Remote Bitbang driver], [REMOTE_BITBANG]]])

m4_define([LIBJAYLINK_ADAPTERS],
[[[jlink], [SEGGER J-Link Programmer], [JLINK]]])

Expand All @@ -176,6 +182,15 @@ m4_define([LINUXSPIDEV_ADAPTER],
m4_define([VDEBUG_ADAPTER],
[[[vdebug], [Cadence Virtual Debug Interface], [VDEBUG]]])

m4_define([JTAG_DPI_ADAPTER],
[[[jtag_dpi], [JTAG DPI Adapter], [JTAG_DPI]]])

m4_define([JTAG_VPI_ADAPTER],
[[[jtag_vpi], [JTAG VPI Adapter], [JTAG_VPI]]])

m4_define([RSHIM_ADAPTER],
[[[rshim], [BlueField SoC via rshim], [RSHIM]]])

# The word 'Adapter' in "Dummy Adapter" below must begin with a capital letter
# because there is an M4 macro called 'adapter'.
m4_define([DUMMY_ADAPTER],
Expand Down Expand Up @@ -274,10 +289,6 @@ AS_IF([test "x$debug_malloc" = "xyes" -a "x$have_glibc" = "xyes"], [
AC_DEFINE([_DEBUG_FREE_SPACE_],[1], [Include malloc free space in logging])
])

AC_ARG_ENABLE([rshim],
AS_HELP_STRING([--enable-rshim], [Enable building the rshim driver]),
[build_rshim=$enableval], [build_rshim=no])

AC_ARG_ENABLE([dmem],
AS_HELP_STRING([--enable-dmem], [Enable building the dmem driver]),
[build_dmem=$enableval], [build_dmem=no])
Expand All @@ -302,10 +313,14 @@ AC_ARG_ADAPTERS([
LIBFTDI_ADAPTERS,
LIBFTDI_USB1_ADAPTERS,
LIBGPIOD_ADAPTERS,
REMOTE_BITBANG_ADAPTER,
LINUXSPIDEV_ADAPTER,
SERIAL_PORT_ADAPTERS,
DUMMY_ADAPTER,
VDEBUG_ADAPTER,
JTAG_DPI_ADAPTER,
JTAG_VPI_ADAPTER,
RSHIM_ADAPTER,
PCIE_ADAPTERS,
LIBJAYLINK_ADAPTERS
],[auto])
Expand All @@ -324,14 +339,6 @@ AC_ARG_ENABLE([parport_giveio],
[Enable use of giveio for parport (for CygWin only)]),
[parport_use_giveio=$enableval], [parport_use_giveio=])

AC_ARG_ENABLE([jtag_vpi],
AS_HELP_STRING([--enable-jtag_vpi], [Enable building support for JTAG VPI]),
[build_jtag_vpi=$enableval], [build_jtag_vpi=no])

AC_ARG_ENABLE([jtag_dpi],
AS_HELP_STRING([--enable-jtag_dpi], [Enable building support for JTAG DPI]),
[build_jtag_dpi=$enableval], [build_jtag_dpi=no])

AC_ARG_ENABLE([amtjtagaccel],
AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]),
[build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
Expand Down Expand Up @@ -377,19 +384,24 @@ AC_ARG_ENABLE([sysfsgpio],
AS_HELP_STRING([--enable-sysfsgpio], [Enable building support for programming driven via sysfs gpios.]),
[build_sysfsgpio=$enableval], [build_sysfsgpio=no])

can_build_rshim=no

AS_CASE([$host_os],
[linux*], [
is_linux=yes
can_build_rshim=yes
],
[
AS_IF([test "x$build_sysfsgpio" = "xyes"], [
AC_MSG_ERROR([sysfsgpio is only available on linux])
])

AS_CASE([$host_os], [freebsd*], [],
AS_CASE([$host_os], [freebsd*], [
can_build_rshim=yes
],
[
AS_IF([test "x$build_rshim" = "xyes"], [
AC_MSG_ERROR([build_rshim is only available on linux or freebsd])
AS_IF([test "x$enable_rshim" = "xyes"], [
AC_MSG_ERROR([rshim is only available on linux or freebsd])
])
])

Expand All @@ -398,10 +410,6 @@ AS_CASE([$host_os],
])
])

AC_ARG_ENABLE([remote-bitbang],
AS_HELP_STRING([--enable-remote-bitbang], [Enable building support for the Remote Bitbang driver]),
[build_remote_bitbang=$enableval], [build_remote_bitbang=yes])

AS_CASE(["${host_cpu}"],
[i?86|x86*], [],
[
Expand Down Expand Up @@ -499,12 +507,6 @@ AS_IF([test "x$build_parport" = "xyes"], [
AC_DEFINE([BUILD_PARPORT], [0], [0 if you don't want parport.])
])

AS_IF([test "x$build_rshim" = "xyes"], [
AC_DEFINE([BUILD_RSHIM], [1], [1 if you want to debug BlueField SoC via rshim.])
], [
AC_DEFINE([BUILD_RSHIM], [0], [0 if you don't want to debug BlueField SoC via rshim.])
])

AS_IF([test "x$build_dmem" = "xyes"], [
AC_DEFINE([BUILD_DMEM], [1], [1 if you want to debug via Direct Mem.])
], [
Expand Down Expand Up @@ -562,19 +564,6 @@ AS_IF([test "x$parport_use_giveio" = "xyes"], [
AC_DEFINE([PARPORT_USE_GIVEIO], [0], [0 if you don't want parport to use giveio.])
])

AS_IF([test "x$build_jtag_vpi" = "xyes"], [
AC_DEFINE([BUILD_JTAG_VPI], [1], [1 if you want JTAG VPI.])
], [
AC_DEFINE([BUILD_JTAG_VPI], [0], [0 if you don't want JTAG VPI.])
])

AS_IF([test "x$build_jtag_dpi" = "xyes"], [
AC_DEFINE([BUILD_JTAG_DPI], [1], [1 if you want JTAG DPI.])
], [
AC_DEFINE([BUILD_JTAG_DPI], [0], [0 if you don't want JTAG DPI.])
])


AS_IF([test "x$build_amtjtagaccel" = "xyes"], [
AC_DEFINE([BUILD_AMTJTAGACCEL], [1], [1 if you want the Amontec JTAG-Accelerator driver.])
], [
Expand All @@ -596,13 +585,6 @@ PKG_CHECK_MODULES([JIMTCL], [jimtcl >= 0.79], [
])
])

AS_IF([test "x$build_remote_bitbang" = "xyes"], [
build_bitbang=yes
AC_DEFINE([BUILD_REMOTE_BITBANG], [1], [1 if you want the Remote Bitbang driver.])
], [
AC_DEFINE([BUILD_REMOTE_BITBANG], [0], [0 if you don't want the Remote Bitbang driver.])
])

AS_IF([test "x$build_sysfsgpio" = "xyes"], [
build_bitbang=yes
AC_DEFINE([BUILD_SYSFSGPIO], [1], [1 if you want the SysfsGPIO driver.])
Expand Down Expand Up @@ -701,18 +683,27 @@ PROCESS_ADAPTERS([HIDAPI_USB1_ADAPTERS], ["x$use_hidapi" = "xyes" -a "x$use_libu
PROCESS_ADAPTERS([LIBFTDI_ADAPTERS], ["x$use_libftdi" = "xyes"], [libftdi])
PROCESS_ADAPTERS([LIBFTDI_USB1_ADAPTERS], ["x$use_libftdi" = "xyes" -a "x$use_libusb1" = "xyes"], [libftdi and libusb-1.x])
PROCESS_ADAPTERS([LIBGPIOD_ADAPTERS], ["x$use_libgpiod" = "xyes"], [Linux libgpiod])
PROCESS_ADAPTERS([REMOTE_BITBANG_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([LIBJAYLINK_ADAPTERS], ["x$use_libjaylink" = "xyes"], [libjaylink-0.2])
PROCESS_ADAPTERS([PCIE_ADAPTERS], ["x$is_linux" = "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([VDEBUG_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([JTAG_DPI_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([JTAG_VPI_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([RSHIM_ADAPTER], ["x$can_build_rshim" = "xyes"],
[internal error: validation should happen beforehand])
PROCESS_ADAPTERS([DUMMY_ADAPTER], [true], [unused])

AS_IF([test "x$enable_linuxgpiod" != "xno"], [
build_bitbang=yes
])

AS_IF([test "x$enable_remote_bitbang" != "xno"], [
build_bitbang=yes
])

AS_IF([test "x$enable_stlink" != "xno" -o "x$enable_ti_icdi" != "xno" -o "x$enable_nulink" != "xno"], [
AC_DEFINE([BUILD_HLADAPTER], [1], [1 if you want the High Level JTAG driver.])
AM_CONDITIONAL([HLADAPTER], [true])
Expand Down Expand Up @@ -743,12 +734,9 @@ AM_CONDITIONAL([BCM2835GPIO], [test "x$build_bcm2835gpio" = "xyes"])
AM_CONDITIONAL([IMX_GPIO], [test "x$build_imx_gpio" = "xyes"])
AM_CONDITIONAL([AM335XGPIO], [test "x$build_am335xgpio" = "xyes"])
AM_CONDITIONAL([BITBANG], [test "x$build_bitbang" = "xyes"])
AM_CONDITIONAL([JTAG_VPI], [test "x$build_jtag_vpi" = "xyes"])
AM_CONDITIONAL([JTAG_DPI], [test "x$build_jtag_dpi" = "xyes"])
AM_CONDITIONAL([USB_BLASTER_DRIVER], [test "x$enable_usb_blaster" != "xno" -o "x$enable_usb_blaster_2" != "xno"])
AM_CONDITIONAL([AMTJTAGACCEL], [test "x$build_amtjtagaccel" = "xyes"])
AM_CONDITIONAL([GW16012], [test "x$build_gw16012" = "xyes"])
AM_CONDITIONAL([REMOTE_BITBANG], [test "x$build_remote_bitbang" = "xyes"])
AM_CONDITIONAL([SYSFSGPIO], [test "x$build_sysfsgpio" = "xyes"])
AM_CONDITIONAL([USE_LIBUSB1], [test "x$use_libusb1" = "xyes"])
AM_CONDITIONAL([IS_CYGWIN], [test "x$is_cygwin" = "xyes"])
Expand All @@ -760,7 +748,6 @@ AM_CONDITIONAL([USE_LIBFTDI], [test "x$use_libftdi" = "xyes"])
AM_CONDITIONAL([USE_LIBGPIOD], [test "x$use_libgpiod" = "xyes"])
AM_CONDITIONAL([USE_HIDAPI], [test "x$use_hidapi" = "xyes"])
AM_CONDITIONAL([USE_LIBJAYLINK], [test "x$use_libjaylink" = "xyes"])
AM_CONDITIONAL([RSHIM], [test "x$build_rshim" = "xyes"])
AM_CONDITIONAL([DMEM], [test "x$build_dmem" = "xyes"])
AM_CONDITIONAL([HAVE_CAPSTONE], [test "x$enable_capstone" != "xno"])

Expand Down Expand Up @@ -839,18 +826,22 @@ AS_IF([test "x$use_internal_jimtcl" = "xyes"], [
echo
echo
echo OpenOCD configuration summary
echo --------------------------------------------------
echo ---------------------------------------------------
m4_foreach([adapter], [USB1_ADAPTERS,
HIDAPI_ADAPTERS, HIDAPI_USB1_ADAPTERS, LIBFTDI_ADAPTERS,
LIBFTDI_USB1_ADAPTERS,
LIBGPIOD_ADAPTERS,
REMOTE_BITBANG_ADAPTER,
LIBJAYLINK_ADAPTERS, PCIE_ADAPTERS, SERIAL_PORT_ADAPTERS,
LINUXSPIDEV_ADAPTER,
VDEBUG_ADAPTER,
JTAG_DPI_ADAPTER,
JTAG_VPI_ADAPTER,
RSHIM_ADAPTER,
DUMMY_ADAPTER,
OPTIONAL_LIBRARIES,
COVERAGE],
[s=m4_format(["%-40s"], ADAPTER_DESC([adapter]))
[s=m4_format(["%-41s"], ADAPTER_DESC([adapter]))
AS_CASE([$ADAPTER_VAR([adapter])],
[auto], [
echo "$s"yes '(auto)'
Expand Down
83 changes: 70 additions & 13 deletions doc/openocd.texi
Original file line number Diff line number Diff line change
Expand Up @@ -2415,12 +2415,6 @@ target.
List the debug adapter drivers that have been built into
the running copy of OpenOCD.
@end deffn
@deffn {Config Command} {adapter transports} transport_name+
Specifies the transports supported by this debug adapter.
The adapter driver builds-in similar knowledge; use this only
when external configuration (such as jumpering) changes what
the hardware can support.
@end deffn

@anchor{adapter gpio}
@deffn {Config Command} {adapter gpio [ @
Expand Down Expand Up @@ -3845,13 +3839,6 @@ Not all adapters and adapter drivers support SWD multi-drop. Only the following
adapter drivers are SWD multi-drop capable:
cmsis_dap (use an adapter with CMSIS-DAP version 2.0), ftdi, all bitbang based.

@subsection SPI Transport
@cindex SPI
@cindex Serial Peripheral Interface
The Serial Peripheral Interface (SPI) is a general purpose transport
which uses four wire signaling. Some processors use it as part of a
solution for flash programming.

@anchor{swimtransport}
@subsection SWIM Transport
@cindex SWIM
Expand Down Expand Up @@ -7431,6 +7418,76 @@ msp432 bsl lock
@end deffn
@end deffn

@deffn {Flash Driver} {mspm0}

All Arm Cortex-M0+ MSPM0 microcontroller versions from Texas Instruments
include internal flash. The mspm0 flash driver automatically recognizes the
specific version's flash parameters and autoconfigures itself. The main
program flash starts at address 0x0. Non-main flash starts at 0x41c00000.
If present on the device, the optional region called "Data" starts at
0x41d00000.

@b{Warning}:

@itemize @bullet
@item @b{Reset while MCU operation:} When erasing all of MAIN memory, if the
MCU is still executing from MAIN memory do not reset the device as it could
cause a double hard-fault due to the missing interrupt vector table at the
start of memory. To recover from such scenario reset or power-cycle the MCU.

@item @b{No explicit protection support:} MSPM0 flash controller auto-protect
themselves after every flash operation. As a result of this, OpenOCD does not
explicitly provide any protection function and automatically un-protects
required sections as flash operations are requested.
@end itemize

@b{Examples}:

@itemize @bullet

@item @b{Flash bank description:}
@example
flash bank $_FLASHNAME mspm0 0 0 0 0 $_TARGETNAME
@end example

@item @b{To erase and program the MAIN region:}
@example
halt
flash erase_sector 0 0 last
flash write_image MAIN.bin 0x0
mspm0_board_reset
@end example

@item @b{To erase and program the NONMAIN region:}
@example
halt
flash erase_sector 1 0 last
flash write_image NONMAIN.bin 0x41C00000
mspm0_board_reset
@end example

@end itemize

@deffn {TCL proc} {mspm0_board_reset}
Performs an nRST toggle on the device.
@end deffn

@deffn {TCL proc} {mspm0_mass_erase}
Sends the mass erase command to the SEC-AP mailbox and then performs
an nRST toggle. Once the command has been fully processed by the ROM,
all MAIN memory will be erased. NOTE: This command is not supported
on MSPM0C* family of devices.
@end deffn

@deffn {TCL proc} {mspm0_factory_reset}
Sends the factory reset command to the SEC-AP mailbox and then performs
an nRST toggle. Once the command has been fully processed by the ROM,
all MAIN memory will be erased and NONMAIN will be reset to its default
values.
@end deffn

@end deffn

@deffn {Flash Driver} {niietcm4}
This drivers handles the integrated NOR flash on NIIET Cortex-M4
based controllers. Flash size and sector layout are auto-configured by the driver.
Expand Down
1 change: 1 addition & 0 deletions src/flash/nor/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ NOR_DRIVERS = \
%D%/max32xxx.c \
%D%/mdr.c \
%D%/msp432.c \
%D%/mspm0.c \
%D%/mrvlqspi.c \
%D%/niietcm4.c \
%D%/non_cfi.c \
Expand Down
1 change: 1 addition & 0 deletions src/flash/nor/driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,7 @@ extern const struct flash_driver max32xxx_flash;
extern const struct flash_driver mdr_flash;
extern const struct flash_driver mrvlqspi_flash;
extern const struct flash_driver msp432_flash;
extern const struct flash_driver mspm0_flash;
extern const struct flash_driver niietcm4_flash;
extern const struct flash_driver npcx_flash;
extern const struct flash_driver nrf51_flash;
Expand Down
1 change: 1 addition & 0 deletions src/flash/nor/drivers.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ static const struct flash_driver * const flash_drivers[] = {
&mdr_flash,
&mrvlqspi_flash,
&msp432_flash,
&mspm0_flash,
&niietcm4_flash,
&npcx_flash,
&nrf5_flash,
Expand Down
Loading
Loading