Skip to content

Commit

Permalink
Merge branch 'master' into aic8800_flash_driver
Browse files Browse the repository at this point in the history
  • Loading branch information
Huckies committed Oct 12, 2023
2 parents 4a43d8e + 1bc4182 commit ed0c662
Show file tree
Hide file tree
Showing 501 changed files with 33,076 additions and 25,627 deletions.
11 changes: 11 additions & 0 deletions .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,16 @@ jobs:
wget "https://github.com/aquynh/capstone/archive/${CAPSTONE_VER}.tar.gz"
tar -xzf ${CAPSTONE_VER}.tar.gz
echo "CAPSTONE_SRC=$PWD/capstone-${CAPSTONE_VER}" >> $GITHUB_ENV
- name: Prepare libjaylink
env:
LIBJAYLINK_VER: 0.3.1
run: |
mkdir -p $DL_DIR && cd $DL_DIR
wget https://gitlab.zapb.de/libjaylink/libjaylink/-/archive/${LIBJAYLINK_VER}/libjaylink-${LIBJAYLINK_VER}.tar.gz
tar -xzf libjaylink-${LIBJAYLINK_VER}.tar.gz
cd libjaylink-${LIBJAYLINK_VER}
./autogen.sh
echo "LIBJAYLINK_SRC=$PWD" >> $GITHUB_ENV
- name: Package OpenOCD for windows
env:
MAKE_JOBS: 2
Expand All @@ -64,6 +74,7 @@ jobs:
HIDAPI_CONFIG: --enable-shared --disable-static --disable-testgui
LIBFTDI_CONFIG: -DSTATICLIBS=OFF -DEXAMPLES=OFF -DFTDI_EEPROM=OFF
CAPSTONE_CONFIG: "CAPSTONE_BUILD_CORE_ONLY=yes CAPSTONE_STATIC=yes CAPSTONE_SHARED=no"
LIBJAYLINK_CONFIG: --enable-shared --disable-static
run: |
# check if there is tag pointing at HEAD, otherwise take the HEAD SHA-1 as OPENOCD_TAG
OPENOCD_TAG="`git tag --points-at HEAD`"
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,11 @@ GTAGS

# checkpatch script files
.checkpatch-camelcase.*

# clangd (e.g. for advanced code completion and linting) generates cache files
# into .cache
.cache

# A compile_commands.json can be generated using bear and will help tools such
# as clangd to locate header files and use correct $CFLAGS
compile_commands.json
15 changes: 15 additions & 0 deletions HACKING
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,21 @@ patch:
src/openocd -s ../tcl -f /path/to/openocd.cfg
@endcode

- Sparse Static Analyzer

Using this tool allows identifying some bug in C code.
In the future, OpenOCD would use the sparse attribute 'bitwise' to
detect incorrect endianness assignments.

Example usage:
@code
mkdir build-sparse; cd build-sparse
../configure CC=cgcc CFLAGS="-Wsparse-all -Wno-declaration-after-statement \
-Wno-unknown-attribute -Wno-transparent-union -Wno-tautological-compare \
-Wno-vla -Wno-flexible-array-array -D__FLT_EVAL_METHOD__=0"
make
@endcode

Please consider performing these additional checks where appropriate
(especially Clang Static Analyzer for big portions of new code) and
mention the results (e.g. "Valgrind-clean, no new Clang analyzer
Expand Down
503 changes: 503 additions & 0 deletions LICENSES/preferred/LGPL-2.1

Large diffs are not rendered by default.

9 changes: 7 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,14 @@ noinst_LTLIBRARIES =
info_TEXINFOS =
dist_man_MANS =
EXTRA_DIST =
DISTCLEANFILES =

if INTERNAL_JIMTCL
SUBDIRS += jimtcl
DIST_SUBDIRS += jimtcl
EXTRA_DIST += jimtcl/configure.gnu
# jimtcl from 0.79 to 0.82 miss cleaning jsmn.o
DISTCLEANFILES += jimtcl/jsmn/jsmn.o
endif

# common flags used in openocd build
Expand Down Expand Up @@ -63,6 +67,7 @@ EXTRA_DIST += \
LICENSES/preferred/GFDL-1.2 \
LICENSES/preferred/gfdl-1.2.texi.readme \
LICENSES/preferred/GPL-2.0 \
LICENSES/preferred/LGPL-2.1 \
LICENSES/preferred/MIT \
LICENSES/stand-alone/GPL-3.0 \
tools/logger.pl \
Expand Down Expand Up @@ -129,9 +134,9 @@ uninstall-hook:

distclean-local:
rm -rf Doxyfile doxygen
rm -f $(srcdir)/jimtcl/configure.gnu
-rm -f $(srcdir)/jimtcl/configure.gnu

DISTCLEANFILES = doxygen.log
DISTCLEANFILES += doxygen.log

METASOURCES = AUTO

Expand Down
99 changes: 1 addition & 98 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -2,126 +2,29 @@ This file includes highlights of the changes made in the OpenOCD
source archive release.

JTAG Layer:
* add default to adapter speed when unspecified (100 kHz)
* AM335X gpio (BeagleBones) adapter driver
* BCM2835 support for SWD
* Cadence Virtual Debug (vdebug) adapter driver
* CMSIS-DAP support for SWO and SWD multidrop
* Espressif USB JTAG Programmer adapter driver
* Remote bitbang support for Windows host
* ST-LINK add TCP server support to adapter driver
* SWD multidrop support

Boundary Scan:

Target Layer:
* aarch64: support watchpoints
* arm: support independent TPIU and SWO for trace
* arm adi v5: support Large Physical Address Extension
* arm adi v6: support added, for jtag and swd transport
* cortex_a: support watchpoints
* elf 64bit load support
* Espressif: support ESP32, ESP32-S2 and ESP32-S3 cores
* semihosting: support user defined operations
* Xtensa: support Xtensa LX architecture via JTAG and ADIv5 DAP

Flash Layer:
* Atmel/Microchip SAM E51G18A, E51G19A, R35J18B, LAN9255 support
* GigaDevice GD32E23x, GD32F1x0/3x0, GD32VF103 support
* Nuvoton NPCX series support
* onsemi RSL10 support
* Raspberry Pi Pico RP2040 support
* ST BlueNRG-LPS support
* ST STM32 G05x, G06x, G0Bx, G0Cx, U57x, U58x, WB1x, WL5x support
* ST STM32 G0, G4, L4, L4+, L5, WB, WL OTP support

Board, Target, and Interface Configuration Scripts:
* Ampere Computing eMAG8180, Altra ("Quicksilver") and Altra Max ("Mystique") board config
* Cadence KC705 FPGA (Xtensa Development Platform) via JTAG and ADIv5 DAP board config
* Digilent Nexys Video board config
* Espressif ESP32 ETHERNET-KIT and WROVER-KIT board config
* Espressif ESP32 via ESP USB Bridge generic board config
* Espressif ESP32-S2 Kaluga 1 board config
* Espressif ESP32-S2 with ESP USB Bridge board config
* Espressif ESP32-S3 example board config
* Kontron SMARC-sAL28 board config
* LambdaConcept ECPIX-5 board config
* Microchip ATSAMA5D27-SOM1-EK1 board config
* Microchip EVB-LAN9255 board config
* Microchip SAME51 Curiosity Nano board config
* NXP FRDM-K64F, LS1046ARDB and LS1088ARDB board config
* NXP RT6XX board config
* Olimex H405 board config
* Radiona ULX3S board config
* Raspberry Pi 3 and Raspberry Pi 4 model B board config
* Raspberry Pi Pico-Debug board config
* Renesas R-Car V3U Falcon board config
* ST BlueNRG-LPS steval-idb012v1 board config
* ST NUCLEO-8S208RB board config
* ST NUCLEO-G031K8, NUCLEO-G070RB, NUCLEO-G071RB board config
* ST NUCLEO-G431KB, NUCLEO-G431RB, NUCLEO-G474RE board config
* ST STM32MP13x-DK board config
* TI AM625 EVM, AM642 EVM and AM654 EVM board config
* TI J721E EVM, J721S2 EVM and J7200 EVM board config
* Ampere Computing eMAG, Altra ("Quicksilver") and Altra Max ("Mystique") target config
* Cadence Xtensa generic and Xtensa VDebug target config
* Broadcom BCM2711, BCM2835, BCM2836 and BCM2837 target config
* Espressif ESP32, ESP32-S2 and ESP32-S3 target config
* Microchip ATSAMA5D2 series target config
* NanoXplore NG-Ultra SoC target config
* NXP IMX8QM target config
* NXP LS1028A, LS1046A and LS1088A target config
* NXP RT600 (Xtensa HiFi DSP) target config
* onsemi RSL10 target config
* Raspberry Pi Pico RP2040 target config
* Renesas R8A779A0 V3U target config
* Renesas RZ/Five target config
* Renesas RZ/G2 MPU family target config
* Rockchip RK3399 target config
* ST BlueNRG-LPS target config
* ST STM32MP13x target config
* TI AM625, AM654, J721E and J721S2 target config
* Ashling Opella-LD interface config
* Aspeed AST2600 linuxgpiod based interface config
* Blinkinlabs JTAG_Hat interface config
* Cadence Virtual Debug (vdebug) interface config
* Espressif ESP32-S2 Kaluga 1 board's interface config
* Espressif USB Bridge jtag interface config
* Infineon DAP miniWiggler V3 interface config
* PLS SPC5 interface config
* Tigard interface config
* Lattice MachXO3 family FPGA config

Server Layer:
* GDB: add per-target remote protocol extensions
* GDB: more 'Z' packets support
* IPDBG JtagHost server functionality
* semihosting: I/O redirection to TCP server
* telnet: support for command's autocomplete

RTOS:
* 'none' rtos support
* Zephyr rtos support

Documentation:

Build and Release:
* Add json extension to jimtcl build
* Drop dependency from libusb0
* Drop repository repo.or.cz for submodules
* Move gerrit to https://review.openocd.org/
* Require autoconf 2.69 or newer
* Update jep106 to revision JEP106BF.01
* Update jimtcl to version 0.81
* Update libjaylink to version 0.3.1
* New configure flag '--enable-jimtcl-maintainer' for jimtcl build


This release also contains a number of other important functional and
cosmetic bugfixes. For more details about what has changed since the
last release, see the git repository history:

http://sourceforge.net/p/openocd/code/ci/v0.12.0/log/?path=
http://sourceforge.net/p/openocd/code/ci/v0.x.0/log/?path=


For older NEWS, see the NEWS files associated with each release
Expand Down
132 changes: 132 additions & 0 deletions NEWS-0.12.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
This file includes highlights of the changes made in the OpenOCD
source archive release.

JTAG Layer:
* add default to adapter speed when unspecified (100 kHz)
* AM335X gpio (BeagleBones) adapter driver
* BCM2835 support for SWD
* Cadence Virtual Debug (vdebug) adapter driver
* CMSIS-DAP support for SWO and SWD multidrop
* Espressif USB JTAG Programmer adapter driver
* Remote bitbang support for Windows host
* ST-LINK add TCP server support to adapter driver
* SWD multidrop support

Boundary Scan:

Target Layer:
* aarch64: support watchpoints
* arm: support independent TPIU and SWO for trace
* arm adi v5: support Large Physical Address Extension
* arm adi v6: support added, for jtag and swd transport
* cortex_a: support watchpoints
* elf 64bit load support
* Espressif: support ESP32, ESP32-S2 and ESP32-S3 cores
* semihosting: support user defined operations
* Xtensa: support Xtensa LX architecture via JTAG and ADIv5 DAP

Flash Layer:
* Atmel/Microchip SAM E51G18A, E51G19A, R35J18B, LAN9255 support
* GigaDevice GD32E23x, GD32F1x0/3x0, GD32VF103 support
* Nuvoton NPCX series support
* onsemi RSL10 support
* Raspberry Pi Pico RP2040 support
* ST BlueNRG-LPS support
* ST STM32 G05x, G06x, G0Bx, G0Cx, U57x, U58x, WB1x, WL5x support
* ST STM32 G0, G4, L4, L4+, L5, WB, WL OTP support

Board, Target, and Interface Configuration Scripts:
* Ampere Computing eMAG8180, Altra ("Quicksilver") and Altra Max ("Mystique") board config
* Cadence KC705 FPGA (Xtensa Development Platform) via JTAG and ADIv5 DAP board config
* Digilent Nexys Video board config
* Espressif ESP32 ETHERNET-KIT and WROVER-KIT board config
* Espressif ESP32 via ESP USB Bridge generic board config
* Espressif ESP32-S2 Kaluga 1 board config
* Espressif ESP32-S2 with ESP USB Bridge board config
* Espressif ESP32-S3 example board config
* Kontron SMARC-sAL28 board config
* LambdaConcept ECPIX-5 board config
* Microchip ATSAMA5D27-SOM1-EK1 board config
* Microchip EVB-LAN9255 board config
* Microchip SAME51 Curiosity Nano board config
* NXP FRDM-K64F, LS1046ARDB and LS1088ARDB board config
* NXP RT6XX board config
* Olimex H405 board config
* Radiona ULX3S board config
* Raspberry Pi 3 and Raspberry Pi 4 model B board config
* Raspberry Pi Pico-Debug board config
* Renesas R-Car V3U Falcon board config
* ST BlueNRG-LPS steval-idb012v1 board config
* ST NUCLEO-8S208RB board config
* ST NUCLEO-G031K8, NUCLEO-G070RB, NUCLEO-G071RB board config
* ST NUCLEO-G431KB, NUCLEO-G431RB, NUCLEO-G474RE board config
* ST STM32MP13x-DK board config
* TI AM625 EVM, AM642 EVM and AM654 EVM board config
* TI J721E EVM, J721S2 EVM and J7200 EVM board config
* Ampere Computing eMAG, Altra ("Quicksilver") and Altra Max ("Mystique") target config
* Cadence Xtensa generic and Xtensa VDebug target config
* Broadcom BCM2711, BCM2835, BCM2836 and BCM2837 target config
* Espressif ESP32, ESP32-S2 and ESP32-S3 target config
* Microchip ATSAMA5D2 series target config
* NanoXplore NG-Ultra SoC target config
* NXP IMX8QM target config
* NXP LS1028A, LS1046A and LS1088A target config
* NXP RT600 (Xtensa HiFi DSP) target config
* onsemi RSL10 target config
* Raspberry Pi Pico RP2040 target config
* Renesas R8A779A0 V3U target config
* Renesas RZ/Five target config
* Renesas RZ/G2 MPU family target config
* Rockchip RK3399 target config
* ST BlueNRG-LPS target config
* ST STM32MP13x target config
* TI AM625, AM654, J721E and J721S2 target config
* Ashling Opella-LD interface config
* Aspeed AST2600 linuxgpiod based interface config
* Blinkinlabs JTAG_Hat interface config
* Cadence Virtual Debug (vdebug) interface config
* Espressif ESP32-S2 Kaluga 1 board's interface config
* Espressif USB Bridge jtag interface config
* Infineon DAP miniWiggler V3 interface config
* PLS SPC5 interface config
* Tigard interface config
* Lattice MachXO3 family FPGA config

Server Layer:
* GDB: add per-target remote protocol extensions
* GDB: more 'Z' packets support
* IPDBG JtagHost server functionality
* semihosting: I/O redirection to TCP server
* telnet: support for command's autocomplete

RTOS:
* 'none' rtos support
* Zephyr rtos support

Documentation:

Build and Release:
* Add json extension to jimtcl build
* Drop dependency from libusb0
* Drop repository repo.or.cz for submodules
* Move gerrit to https://review.openocd.org/
* Require autoconf 2.69 or newer
* Update jep106 to revision JEP106BF.01
* Update jimtcl to version 0.81
* Update libjaylink to version 0.3.1
* New configure flag '--enable-jimtcl-maintainer' for jimtcl build


This release also contains a number of other important functional and
cosmetic bugfixes. For more details about what has changed since the
last release, see the git repository history:

http://sourceforge.net/p/openocd/code/ci/v0.12.0/log/?path=


For older NEWS, see the NEWS files associated with each release
(i.e. NEWS-<version>).

For more information about contributing test reports, bug fixes, or new
features and device support, please read the new Developer Manual (or
the BUGS and PATCHES.txt files in the source archive).
7 changes: 3 additions & 4 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Supported hardware
JTAG adapters
-------------

AICE, AM335x, ARM-JTAG-EW, ARM-USB-OCD, ARM-USB-TINY, AT91RM9200, axm0432, BCM2835,
AM335x, ARM-JTAG-EW, ARM-USB-OCD, ARM-USB-TINY, AT91RM9200, axm0432, BCM2835,
Bus Blaster, Buspirate, Cadence DPI, Cadence vdebug, Chameleon, CMSIS-DAP,
Cortino, Cypress KitProg, DENX, Digilent JTAG-SMT2, DLC 5, DLP-USB1232H,
embedded projects, Espressif USB JTAG Programmer,
Expand All @@ -122,7 +122,7 @@ Debug targets
ARM: AArch64, ARM11, ARM7, ARM9, Cortex-A/R (v7-A/R), Cortex-M (ARMv{6/7/8}-M),
FA526, Feroceon/Dragonite, XScale.
ARCv2, AVR32, DSP563xx, DSP5680xx, EnSilica eSi-RISC, EJTAG (MIPS32, MIPS64),
ESP32, ESP32-S2, ESP32-S3, Intel Quark, LS102x-SAP, NDS32, RISC-V, ST STM8,
ESP32, ESP32-S2, ESP32-S3, Intel Quark, LS102x-SAP, RISC-V, ST STM8,
Xtensa.

Flash drivers
Expand Down Expand Up @@ -240,8 +240,7 @@ Optional CMSIS-DAP adapter driver needs HIDAPI library.

Optional linuxgpiod adapter driver needs libgpiod library.

Optional JLink adapter driver needs libjaylink; build from git can
retrieve libjaylink as git submodule.
Optional J-Link adapter driver needs libjaylink library.

Optional ARM disassembly needs capstone library.

Expand Down
2 changes: 1 addition & 1 deletion README.Windows
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,5 @@ port depending on which application to use.

For more information, see:

http://msdn.microsoft.com/en-us/library/windows/hardware/jj649944(v=vs.85).aspx
https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-device-specific-registry-settings
http://www.ftdichip.com/Support/Knowledgebase/index.html?ignorehardwareserialnumber.htm
2 changes: 0 additions & 2 deletions TODO
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,6 @@ https://lists.berlios.de/pipermail/openocd-development/2009-October/011506.html
- MC1322x support (JW/DE?)
- integrate and test support from JW (and DE?)
- get working with a known good interface (i.e. not today's jlink)
- AT91SAM92xx:
- improvements for unknown-board-atmel-at91sam9260.cfg (RD)
- STR9x: (ZW)
- improvements to str912.cfg to be more general purpose
- AVR: (SQ)
Expand Down
Loading

0 comments on commit ed0c662

Please sign in to comment.