diff --git a/.version b/.version
index bd8bf882d..27f9cd322 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-1.7.0
+1.8.0
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c1f998600..5c618a752 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,14 +2,14 @@
# v1.8.0
-Release date: 2024-xx-xx
+Release date: 2024-02-01
This release drops support for macOS and some older operating systems. Check project README for details.
Removed Travis CI integration as it is no longer functional.
Updated system requirements:
-- `cmake` >= 3.10.2
-- `libusb` >= 1.0.21
+- `cmake` >= 3.13.0
+- `libusb` >= 1.0.22
- `libgtk-dev` >= 3.22.30
Features:
@@ -59,7 +59,7 @@ Updates & changes:
- [doc] Fixed broken links ([#1312](https://github.com/stlink-org/stlink/pull/1312))
- [doc] Updated package source link for Arch Linux ([#1318](https://github.com/stlink-org/stlink/pull/1318))
- CMake: Avoid hard-wired /usr/local/share ([#1325](https://github.com/stlink-org/stlink/pull/1325))
-
+- [doc] Provide access to the UART via virtual com port ([#1334](https://github.com/stlink-org/stlink/pull/1334), commit [#32e8dcc](https://github.com/stlink-org/stlink/commit/32e8dcc8b5dbed7b6412e7838ea1b2c41f0247fd))
Fixes:
@@ -104,6 +104,7 @@ Fixes:
- Notification "unknown option -- u" in tool st-util ([#1326](https://github.com/stlink-org/stlink/pull/1326), [#1327](https://github.com/stlink-org/stlink/pull/1327))
- Do not crash when the STLink chip returns a voltage factor of zero ([#1343](https://github.com/stlink-org/stlink/pull/1343))
- stlink-gui: failed to allocate 139988352155568 bytes ([#1356](https://github.com/stlink-org/stlink/pull/1356))
+- [STM32U575RGT6]: Verification failed at offset 43008 ([#1362](https://github.com/stlink-org/stlink/pull/1362), commit [#0145bae](https://github.com/stlink-org/stlink/commit/0145baeb2e3bac31bf9d3cbd0dab38d70618d46b))
# v1.7.0
diff --git a/README.md b/README.md
index ad1bfe910..93cdac07d 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
[![BSD licensed](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/hyperium/hyper/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/stlink-org/stlink.svg)](https://github.com/stlink-org/stlink/releases/latest)
[![Downloads](https://img.shields.io/github/downloads/stlink-org/stlink/total)](https://github.com/stlink-org/stlink/releases/latest)
-![GitHub commits](https://img.shields.io/github/commits-since/stlink-org/stlink/v1.7.0/develop)
+![GitHub commits](https://img.shields.io/github/commits-since/stlink-org/stlink/v1.8.0/develop)
![GitHub activity](https://img.shields.io/github/commit-activity/m/stlink-org/stlink)
![GitHub contributors](https://img.shields.io/github/contributors/stlink-org/stlink)
[![CodeQL](https://github.com/stlink-org/stlink/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/stlink-org/stlink/actions/workflows/codeql-analysis.yml)
@@ -81,7 +81,7 @@ We recommend to install `stlink-tools` from the package repository of the used d
**macOS**:
-**Support for macOS will be dropped with v1.8.0.**
+**Support for macOS has been dropped with v1.8.0.**
Please use v1.7.0 instead, **but note that this version is no longer maintained and supported!**
diff --git a/SECURITY.md b/SECURITY.md
index 13432b927..3a357bafc 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -7,6 +7,7 @@ The following versions of the stlink toolset are currently being supported.
Thu, 01 Feb 2024 00:00:00 +0100
+
stlink (1.7.0) unstable; urgency=medium
* Release v1.7.0
diff --git a/cmake/packaging/rpm/changelog b/cmake/packaging/rpm/changelog
index 3d1c76996..36853060d 100644
--- a/cmake/packaging/rpm/changelog
+++ b/cmake/packaging/rpm/changelog
@@ -1,3 +1,6 @@
+* Thu Feb 01 2024 Nightwalker-87 - 1.8.0
+- Release v1.8.0
+
* Sun Apr 25 2021 Nightwalker-87 - 1.7.0
- Release v1.7.0
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 000000000..6531851ff
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,10 @@
+.debhelper
+*.log
+*.substvars
+debhelper-build-stamp
+files
+libstlink-dev
+libstlink
+stlink-gui
+stlink-tools
+tmp
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 000000000..7a7b4e54a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,203 @@
+stlink (1.7.0+ds-1) unstable; urgency=medium
+
+ * Merge tag 'v1.7.0' into debian. (Closes: #984356)
+ * Bump Standards-Version to 4.5.1, no changes.
+ * Bump debhelper-compat to 13, no changes.
+ * Update install files, paths have been fixed upstream.
+ * Update symbols file for 1.7.0.
+
+ -- Luca Boccassi Sun, 15 Aug 2021 14:23:25 +0100
+
+stlink (1.6.1+ds-3) unstable; urgency=medium
+
+ * Add cross.patch to fix cross-compilation. Thanks Helmut! (Closes:
+ #973339)
+
+ -- Luca Boccassi Thu, 29 Oct 2020 18:06:39 +0000
+
+stlink (1.6.1+ds-2) unstable; urgency=medium
+
+ * Update d/copyright to remove GPL-2+ stanza about flashloaders
+ * Update upstream URLs for new Github org
+ * Patch CMake's hard-coded define of XML gui file location (Closes:
+ #963219)
+
+ -- Luca Boccassi Sun, 21 Jun 2020 13:41:37 +0100
+
+stlink (1.6.1+ds-1) unstable; urgency=medium
+
+ * Merge tag 'v1.6.1' into debian
+ * Update Files-Excluded in d/copyright for new layout
+ * Fix d/watch intermediary file name
+ * Drop cross.patch, merged upstream in v1.6.1
+ * Bump Build-Depends to cmake >= 3.4.2
+ * Add new symbols from upstream version 1.6.1
+ * Adjust install files, some files moved
+ * Remove unused variable from d/rules
+ * Generate pkgconfig file from d/rules, upstream doesn't do it
+ * Switch to debhelper-compat 12
+
+ -- Luca Boccassi Sat, 06 Jun 2020 14:44:54 +0100
+
+stlink (1.6.0+ds-1) unstable; urgency=medium
+
+ * Merge tag 'v1.6.0' into debian
+ * Bump Standards-Version to 4.5.0, no changes.
+ * Update libstlink1 symbols file for 1.6.0.
+
+ -- Luca Boccassi Tue, 25 Feb 2020 22:08:33 +0000
+
+stlink (1.5.1+ds-2) unstable; urgency=medium
+
+ * Mark library packages as Multi-Arch: same.
+ * Apply cross.patch to fix cross-compiling the GUI. Thanks Helmut for
+ the patch! (Closes: #941320)
+ * Vcs-Git: add -b debian
+ * Set Rules-Requires-Root: no
+ * Bump Standards-Version to 4.4.0
+
+ -- Luca Boccassi Sun, 29 Sep 2019 12:50:58 +0100
+
+stlink (1.5.1+ds-1) unstable; urgency=medium
+
+ * Merge tag 'v1.5.1' into debian. See upstream changelog for info:
+ https://github.com/texane/stlink/releases/tag/v1.5.1
+ * Mark packages as linux-any, other systems not supported.
+
+ -- Luca Boccassi Fri, 28 Sep 2018 10:26:39 +0100
+
+stlink (1.5.0+ds-1) unstable; urgency=medium
+
+ * Upload to unstable. (Closes: #869421)
+
+ -- Luca Boccassi Fri, 16 Mar 2018 16:56:17 +0000
+
+stlink (1.5.0) unstable; urgency=medium
+
+ [ Jerry Jacobs ]
+ * README.md: Update version badge to v1.4.0
+
+ [ Viallard Anthony ]
+ * Add support of STM32L496xx/4A6xx devices (#615)
+
+ [ rdlim ]
+ * Fix verification of flash error for STM32L496x device (#617) (#618)
+
+ [ dflogeras ]
+ * Add note about availability in Gentoo package manager (#622)
+
+ [ yaofei zheng ]
+ * update debian package version (#630)
+
+ [ Lyle Cheatham ]
+ * Minor formatting fix in FAQ section of README.md (#631)
+
+ [ Vasiliy Glazov ]
+ * README.md: Added information about Fedora and RedHat/CentOS packages.
+ (#635)
+ * Added LIB_INSTALL_DIR to correct libs install on 64-bit systems (#636)
+
+ [ Gwenhael Goavec-Merou ]
+ * fix write for microcontroler with RAM size less or equal to 32K (#637)
+
+ [ Mateusz Krawiec ]
+ * Fix memory map for stm32l496xx boards. (#639)
+
+ [ RĂ¼diger Fortanier ]
+ * Add unknown chip output (#641)
+
+ [ Slyshyk Oleksiy ]
+ * fix __FILE__ base name extraction, #628 (#648)
+
+ [ texane ]
+ * STM32F72xx73xx support, from bob.feretich@rafresearch.com
+
+ [ Kirill Kolyshkin ]
+ * debian/triggers: add (to run ldconfig) (#664)
+
+ [ Slyshyk Oleksiy ]
+ * Try to fix #666 issue (#667)
+ * Try to fix 666 issue (#668)
+
+ [ Jerry Jacobs ]
+ * Update ChangeLog.md
+ * Update README.md
+
+ [ texane ]
+ * STM32F042K6 Nucleo-32 Board reported to work, by frank@bauernoeppel.de
+
+ [ Anatol Pomozov ]
+ * Update .version file to match release number (#670)
+
+ -- Anatol Pomozov Mon, 19 Feb 2018 11:00:29 -0800
+
+libstlink (1.4.0) unstable; urgency=low
+
+ * Major changes and added features
+ - Add support for STM32L452 target (#608)
+ - Initial support to compile with Microsoft Visual Studio 2017 (#602)
+ - Added support for flashing second bank on STM32F10x_XL (#592)
+ - Add support for STM32L011 target (#572)
+ - Allow building of debian package with CPack (@xor-gate)
+ * Updates and fixes
+ - Fix compilation with GCC 7 (#590)
+ - Skip GTK detection if we're cross-compiling (#588)
+ - Fix possible memory leak (#570)
+ - Fix building with mingw64 (#569, #610)
+ - Update libusb to 1.0.21 for Windows (#562)
+ - Fixing low-voltage flashing on STM32F7 parts. (#567)
+ - Update libusb to 1.0.21 for Windows (#562)
+
+ -- Andrew 'Necromant' Andrianov Sat, 01 Jul 2017 00:00:00 +0000
+
+libstlink (1.3.1) unstable; urgency=low
+
+ * Major changes and added features:
+ - Add preliminary support for STM32L011 to see it after probe (chipid 0x457) (@xor-gate)
+ - Strip full paths to source files in log (commit #2c0ab7f)
+ - Add support for STM32F413 target (#549)
+ - Add support for Semihosting SYS_READC (#546)
+ * Updates and fixes:
+ - Update documentation markdown files
+ - Compilation fixes (#552)
+ - Fix compilation when path includes spaces (#561)
+
+ -- Andrew 'Necromant' Andrianov Sat, 25 Feb 2017 00:00:00 +0000
+
+libstlink (1.3.0) unstable; urgency=low
+
+ * Major changes and added features:
+ - Deprecation of autotools (autoconf, automake) (@xor-gate)
+ - Removal of undocumented st-term utility, which is now replaced by st-util ARM semihosting feature (#3fd0f09)
+ - Add support for native debian packaging (#444, #485)
+ - Add intel hex file reading for st-flash (#459)
+ - Add --reset command to st-flash (#505)
+ - Support serial numbers argument for st-util and st-flash for multi-programmer setups (#541)
+ - Add kill ('k') command to gdb-server for st-util (#9804416)
+ - Add manpages (generated with pandoc from Markdown) (#464)
+ - Rewrite commandline parsing for st-flash (#459)
+ - Add support for ARM semihosting to st-util (#454, #455)
+ * Chip support added for:
+ - STM32L432 (#501)
+ - STM32F412 (#538)
+ - STM32F410 (#9c635e4)
+ - Add memory map for STM32F401XE (#460)
+ - L0x Category 5 devices (#406)
+ - Add L0 Category 2 device (chip id: 0x425) (#72b8e5e)
+ * Updates and fixes:
+ - Fixed STM32F030 erase error (#442)
+ - Fixed Cygwin build (#68b0f3b)
+ - Reset flash mass erase (MER) bit after mass erase for safety (#489)
+ - Fix memory map for STM32F4 (@zulusw)
+ - Fix STM32L-problem with flash loader (issue #390) (Tom de Boer)
+ - st-util don't read target voltage on startup as it crashes STM32F100 (probably stlink/v1) (Greg Alexander)
+ - Do a JTAG reset prior to reading CPU information when processor is in deep sleep (@andyg24)
+ - Redesign of st-flash commandline options parsing (pull-request #459) (@dev26th)
+
+ -- Andrew 'Necromant' Andrianov Sat, 28 Jan 2017 00:00:00 +0000
+
+libstlink (1.2.1) unstable; urgency=low
+
+ * Initial Debian-Packaged Release.
+
+ -- Andrew 'Necromant' Andrianov Sat, 09 Jul 2016 23:16:07 +0300
diff --git a/debian/control b/debian/control
new file mode 100644
index 000000000..c3e654ec5
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,48 @@
+Source: stlink
+Priority: optional
+Maintainer: Luca Boccassi
+Build-Depends: debhelper-compat (= 13), cmake (>= 3.4.2), libusb-1.0-0-dev, libgtk-3-dev
+Standards-Version: 4.5.1
+Rules-Requires-Root: no
+Section: electronics
+Homepage: https://github.com/stlink-org/stlink
+Vcs-Git: https://github.com/bluca/stlink.git -b debian
+Vcs-Browser: https://github.com/bluca/stlink
+
+Package: stlink-lib-dev
+Section: libdevel
+Architecture: linux-any
+Multi-Arch: same
+Depends: stlink-lib (= ${binary:Version}), ${misc:Depends}
+Replaces: libstlink-dev (<< 1.7.0+ds-1)
+Breaks: libstlink-dev (<< 1.7.0+ds-1)
+Description: Open source version of the STMicroelectronics STLINK Tools
+ .
+ This package contains development files for stlink.
+
+Package: stlink-lib
+Section: libs
+Architecture: linux-any
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Replaces: libstlink1 (<< 1.7.0+ds-1)
+Breaks: libstlink1 (<< 1.7.0+ds-1)
+Description: Open source version of the STMicroelectronics STLINK Tools
+ .
+ This package contains the shared library for stlink.
+
+Package: stlink-tools
+Architecture: linux-any
+Depends: stlink-lib (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Open source version of the STMicroelectronics STLINK Tools
+ .
+ This package contains commandline utilities for stlink, as well as modprobe
+ and udev rules.
+
+Package: stlink-gui
+Architecture: linux-any
+Depends: stlink-lib (= ${binary:Version}), stlink-tools (= ${binary:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Description: Open source version of the STMicroelectronics STLINK Tools
+ .
+ This package contains a GUI tool for stlink.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 000000000..b7f9c3106
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,41 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: stlink
+Upstream-Contact: Nightwalker-87 <15526941+Nightwalker-87@users.noreply.github.com>
+Source: https://github.com/stlink-org/stlink
+Comment: Upstream tarball has been repackaged to remove binary OSX kernel
+ drivers that are of unknown license and of no use to Debian.
+Files-Excluded: stlinkv1_macos_driver
+
+Files: *
+Copyright: 2011-2021 The stlink project maintainers
+ Martin Capitanio
+ Fabien Lementec
+ Jerry Jacobs
+ Nightwalker-87 <15526941+Nightwalker-87@users.noreply.github.com>
+ and many other contributors...
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 000000000..418e536e9
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,7 @@
+[buildpackage]
+upstream-tag = %(version)s
+debian-branch = debian
+
+[dch]
+git-log = --first-parent
+customizations = /usr/share/doc/git-buildpackage/examples/wrap_cl.py
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 000000000..512bd533f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,23 @@
+#!/usr/bin/make -f
+# See debhelper(7) (uncomment to enable)
+# output every command that modifies files on the build system.
+#DH_VERBOSE = 1
+
+# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/default.mk
+
+# see FEATURE AREAS in dpkg-buildflags(1)
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+%:
+ dh $@ --buildsystem cmake
+
+override_dh_auto_configure:
+ dh_auto_configure -- \
+ -DSTLINK_UDEV_RULES_DIR='/lib/udev/rules.d'
+
+override_dh_auto_install:
+ dh_auto_install
+ mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
+ sed -e "s/@VERSION@/$(DEB_VERSION_UPSTREAM)/" -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/" $(CURDIR)/debian/stlink.pc.in > $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/stlink.pc
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 000000000..163aaf8d8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 000000000..506210d2c
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1 @@
+extend-diff-ignore=stlinkv1_macos_driver
diff --git a/debian/stlink-gui.install b/debian/stlink-gui.install
new file mode 100644
index 000000000..1474d7f8c
--- /dev/null
+++ b/debian/stlink-gui.install
@@ -0,0 +1,4 @@
+/usr/bin/stlink-gui
+/usr/share/applications/stlink-gui.desktop
+/usr/share/icons/hicolor/scalable/apps/stlink-gui.svg
+/usr/share/stlink/stlink-gui.ui
diff --git a/debian/stlink-lib-dev.install b/debian/stlink-lib-dev.install
new file mode 100644
index 000000000..0c3543cd9
--- /dev/null
+++ b/debian/stlink-lib-dev.install
@@ -0,0 +1,5 @@
+usr/include/*
+usr/lib/*/lib*.a
+usr/lib/*/pkgconfig/*
+usr/lib/*/lib*.so
+
diff --git a/debian/stlink-lib.install b/debian/stlink-lib.install
new file mode 100644
index 000000000..3ddde5841
--- /dev/null
+++ b/debian/stlink-lib.install
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*
diff --git a/debian/stlink-lib.symbols b/debian/stlink-lib.symbols
new file mode 100644
index 000000000..9fb371d64
--- /dev/null
+++ b/debian/stlink-lib.symbols
@@ -0,0 +1,169 @@
+stlink-lib.so.1 stlink-lib #MINVER#
+ Md5Calculate@Base 1.6.1
+ Md5Finalise@Base 1.6.1
+ Md5Initialise@Base 1.6.1
+ Md5Update@Base 1.6.1
+ _parse_version@Base 1.5.0
+ _stlink_sg_close@Base 1.5.0
+ _stlink_sg_core_id@Base 1.5.0
+ _stlink_sg_current_mode@Base 1.5.0
+ _stlink_sg_enter_jtag_mode@Base 1.5.0
+ _stlink_sg_enter_swd_mode@Base 1.5.0
+ _stlink_sg_exit_debug_mode@Base 1.5.0
+ _stlink_sg_exit_dfu_mode@Base 1.5.0
+ _stlink_sg_force_debug@Base 1.5.0
+ _stlink_sg_jtag_reset@Base 1.5.0
+ _stlink_sg_read_all_regs@Base 1.5.0
+ _stlink_sg_read_debug32@Base 1.5.0
+ _stlink_sg_read_mem32@Base 1.5.0
+ _stlink_sg_read_reg@Base 1.5.0
+ _stlink_sg_reset@Base 1.5.0
+ _stlink_sg_run@Base 1.5.0
+ _stlink_sg_status@Base 1.5.0
+ _stlink_sg_step@Base 1.5.0
+ _stlink_sg_version@Base 1.5.0
+ _stlink_sg_write_debug32@Base 1.5.0
+ _stlink_sg_write_mem32@Base 1.5.0
+ _stlink_sg_write_mem8@Base 1.5.0
+ _stlink_sg_write_reg@Base 1.5.0
+ _stlink_usb_close@Base 1.5.0
+ _stlink_usb_core_id@Base 1.5.0
+ _stlink_usb_current_mode@Base 1.5.0
+ _stlink_usb_disable_trace@Base 1.7.0
+ _stlink_usb_enable_trace@Base 1.7.0
+ _stlink_usb_enter_swd_mode@Base 1.5.0
+ _stlink_usb_exit_debug_mode@Base 1.5.0
+ _stlink_usb_exit_dfu_mode@Base 1.5.0
+ _stlink_usb_force_debug@Base 1.5.0
+ _stlink_usb_get_rw_status@Base 1.6.1
+ _stlink_usb_jtag_reset@Base 1.5.0
+ _stlink_usb_read_all_regs@Base 1.5.0
+ _stlink_usb_read_all_unsupported_regs@Base 1.5.0
+ _stlink_usb_read_debug32@Base 1.5.0
+ _stlink_usb_read_mem32@Base 1.5.0
+ _stlink_usb_read_reg@Base 1.5.0
+ _stlink_usb_read_trace@Base 1.7.0
+ _stlink_usb_read_unsupported_reg@Base 1.5.0
+ _stlink_usb_reset@Base 1.5.0
+ _stlink_usb_run@Base 1.5.0
+ _stlink_usb_set_swdclk@Base 1.5.0
+ _stlink_usb_status@Base 1.5.0
+ _stlink_usb_status_v2@Base 1.6.1
+ _stlink_usb_step@Base 1.5.0
+ _stlink_usb_target_voltage@Base 1.5.0
+ _stlink_usb_version@Base 1.5.0
+ _stlink_usb_write_debug32@Base 1.5.0
+ _stlink_usb_write_mem32@Base 1.5.0
+ _stlink_usb_write_mem8@Base 1.5.0
+ _stlink_usb_write_reg@Base 1.5.0
+ _stlink_usb_write_unsupported_reg@Base 1.5.0
+ arg_parse_freq@Base 1.7.0
+ calculate_F4_sectornum@Base 1.5.0
+ calculate_F7_sectornum@Base 1.5.0
+ calculate_H7_sectornum@Base 1.7.0
+ calculate_L4_page@Base 1.5.0
+#MISSING: 1.7.0# is_bigendian@Base 1.5.0
+ read_uint16@Base 1.5.0
+ read_uint32@Base 1.5.0
+ send_recv@Base 1.5.0
+ send_usb_data_only@Base 1.5.0
+ send_usb_mass_storage_command@Base 1.5.0
+ stlink_calculate_pagesize@Base 1.5.0
+ stlink_chip_id@Base 1.5.0
+ stlink_chipid_get_params@Base 1.5.0
+ stlink_close@Base 1.5.0
+ stlink_clr_hw_bp@Base 1.5.0
+ stlink_core_id@Base 1.5.0
+ stlink_core_stat@Base 1.5.0
+ stlink_cpu_id@Base 1.5.0
+ stlink_current_mode@Base 1.5.0
+ stlink_enter_swd_mode@Base 1.5.0
+ stlink_erase_flash_mass@Base 1.5.0
+ stlink_erase_flash_page@Base 1.5.0
+ stlink_exit_debug_mode@Base 1.5.0
+ stlink_exit_dfu_mode@Base 1.5.0
+ stlink_fcheck_flash@Base 1.5.0
+ stlink_flash_loader_init@Base 1.5.0
+ stlink_flash_loader_run@Base 1.5.0
+ stlink_flash_loader_write_to_sram@Base 1.5.0
+ stlink_flashloader_start@Base 1.7.0
+ stlink_flashloader_stop@Base 1.7.0
+ stlink_flashloader_write@Base 1.7.0
+ stlink_force_debug@Base 1.5.0
+ stlink_fread@Base 1.5.0
+ stlink_fwrite_flash@Base 1.5.0
+ stlink_fwrite_option_bytes@Base 1.6.0
+#MISSING: 1.6.1# stlink_fwrite_option_bytes_32bit@Base 1.6.0
+ stlink_fwrite_sram@Base 1.5.0
+ stlink_get_erased_pattern@Base 1.5.0
+ stlink_is_core_halted@Base 1.5.0
+ stlink_jtag_reset@Base 1.5.0
+ stlink_load_device_params@Base 1.5.0
+ stlink_mwrite_flash@Base 1.5.0
+ stlink_mwrite_sram@Base 1.5.0
+ stlink_open_usb@Base 1.5.0
+ stlink_parse_ihex@Base 1.5.0
+ stlink_print_data@Base 1.5.0
+ stlink_probe_usb@Base 1.5.0
+ stlink_probe_usb_free@Base 1.5.0
+ stlink_q@Base 1.5.0
+ stlink_read_all_regs@Base 1.5.0
+ stlink_read_all_unsupported_regs@Base 1.5.0
+ stlink_read_debug32@Base 1.5.0
+ stlink_read_mem32@Base 1.5.0
+ stlink_read_option_bytes32@Base 1.6.1
+ stlink_read_option_bytes_Gx@Base 1.6.1
+ stlink_read_option_bytes_boot_add32@Base 1.7.0
+ stlink_read_option_bytes_boot_add_f7@Base 1.7.0
+ stlink_read_option_bytes_f2@Base 1.6.0
+ stlink_read_option_bytes_f4@Base 1.6.0
+ stlink_read_option_bytes_f7@Base 1.7.0
+ stlink_read_option_bytes_generic@Base 1.6.1
+ stlink_read_option_control_register1_32@Base 1.7.0
+ stlink_read_option_control_register1_f7@Base 1.7.0
+ stlink_read_option_control_register32@Base 1.7.0
+ stlink_read_option_control_register_Gx@Base 1.7.0
+ stlink_read_option_control_register_f2@Base 1.7.0
+ stlink_read_option_control_register_f4@Base 1.7.0
+ stlink_read_option_control_register_f7@Base 1.7.0
+ stlink_read_reg@Base 1.5.0
+ stlink_read_unsupported_reg@Base 1.5.0
+ stlink_reset@Base 1.5.0
+ stlink_run@Base 1.5.0
+ stlink_run_at@Base 1.5.0
+ stlink_serial@Base 1.7.0
+ stlink_set_hw_bp@Base 1.5.0
+ stlink_set_swdclk@Base 1.5.0
+ stlink_soft_reset@Base 1.7.0
+ stlink_stat@Base 1.5.0
+ stlink_status@Base 1.5.0
+ stlink_step@Base 1.5.0
+ stlink_target_connect@Base 1.7.0
+ stlink_target_voltage@Base 1.5.0
+ stlink_trace_disable@Base 1.7.0
+ stlink_trace_enable@Base 1.7.0
+ stlink_trace_read@Base 1.7.0
+ stlink_v1_open@Base 1.5.0
+ stlink_v1_open_inner@Base 1.5.0
+ stlink_verify_write_flash@Base 1.5.0
+ stlink_version@Base 1.5.0
+ stlink_write_debug32@Base 1.5.0
+ stlink_write_dreg@Base 1.5.0
+ stlink_write_flash@Base 1.5.0
+ stlink_write_mem32@Base 1.5.0
+ stlink_write_mem8@Base 1.5.0
+ stlink_write_option_bytes32@Base 1.6.1
+ stlink_write_option_bytes@Base 1.6.0
+ stlink_write_option_bytes_boot_add32@Base 1.7.0
+ stlink_write_option_control_register1_32@Base 1.7.0
+ stlink_write_option_control_register32@Base 1.7.0
+ stlink_write_reg@Base 1.5.0
+ stlink_write_unsupported_reg@Base 1.5.0
+ stm32l1_write_half_pages@Base 1.5.0
+ time_ms@Base 1.7.0
+ ugly_init@Base 1.5.0
+ ugly_libusb_log_level@Base 1.6.1
+ ugly_log@Base 1.5.0
+ write_buffer_to_sram@Base 1.5.0
+ write_uint16@Base 1.5.0
+ write_uint32@Base 1.5.0
diff --git a/debian/stlink-tools.install b/debian/stlink-tools.install
new file mode 100644
index 000000000..ca875a0e6
--- /dev/null
+++ b/debian/stlink-tools.install
@@ -0,0 +1,3 @@
+/usr/bin/st-*
+lib/udev/rules.d/*.rules
+etc/modprobe.d/*.conf
diff --git a/debian/stlink-tools.manpages b/debian/stlink-tools.manpages
new file mode 100644
index 000000000..68112ddf2
--- /dev/null
+++ b/debian/stlink-tools.manpages
@@ -0,0 +1,3 @@
+usr/share/man/man1/st-flash.1
+usr/share/man/man1/st-info.1
+usr/share/man/man1/st-util.1
diff --git a/debian/stlink.pc.in b/debian/stlink.pc.in
new file mode 100644
index 000000000..b5f994bad
--- /dev/null
+++ b/debian/stlink.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+includedir=${prefix}/include/stlink
+libdir=${prefix}/lib/@DEB_HOST_MULTIARCH@
+
+Name: stlink
+Description: Open source version of the STMicroelectronics STLINK Tools
+Version: @VERSION@
+Requires: libusb-1.0
+Libs: -L${libdir} -lstlink
+Cflags: -I${includedir}
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 000000000..6eb6b78d6
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+opts=dversionmangle=s/\+ds$//,repacksuffix=+ds,filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/stlink-$1\.tar\.gz/ \
+ https://github.com/stlink-org/stlink/tags .*/v?(\d\S+)\.tar\.gz
diff --git a/doc/compiling.md b/doc/compiling.md
index e2c686c0a..804781faa 100644
--- a/doc/compiling.md
+++ b/doc/compiling.md
@@ -16,35 +16,14 @@ On Windows users should ensure that the following software is installed:
1. Install `git` from
2. Install `cmake` from
Ensure that you add cmake to the $PATH system variable when following the instructions by the setup assistant.
-3. Install
-
- - _EITHER_: Download **MinGW-w64** from . Extract content to `C:\mingw-w64\` and add `C:\mingw-w64\bin\` to PATH-Variable.
- - _OR_: **MSVC toolchain** from Visual Studio Build Tools 2019
+3. Install MinGW-w64
+ Download **MinGW-w64** from . Extract content to `C:\mingw-w64\` and add `C:\mingw-w64\bin\` to PATH-Variable.
4. Create a new destination folder at a place of your choice
5. Open the command-line (cmd.exe) and execute `cd C:\$Path-to-your-destination-folder$\`
6. Fetch the project sourcefiles by running `git clone https://github.com/stlink-org/stlink.git`from the command-line (cmd.exe)
or download and extract the stlink zip-sourcefolder from the Release page on GitHub.
-#### MSVC toolchain - minimal installation
-
-Visual Studio IDE is not necessary, only Windows SDK & build tools are required (~3,3GB).
-
-1. Open
-2. Navigate through menus as follows (might change overtime)
-
- `All downloads > Tools for Visual Studio 2019 > Build Tools for Visual Studio 2019 > Download`
-
-3. Start downloaded executable. After Visual Studio Installer bootstraps and main window pops up, open `Individual Components` tab, and pick
-
-- latest build tools (eg. `MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.25)`)
-- latest Windows SDK (eg. `Windows 10 SDK (10.0.18362.0)`)
-
-4. After installation finishes, you can press `Launch` button in Visual Studio Installer's main menu.
- - Thus you can open `Developer Command Prompt for VS 2019`. It is `cmd.exe` instance with adjusted PATHs including eg. `msbuild`.
- - Alternatively, you can use `Developer Powershell for VS 2019` which is the same thing for `powershell.exe`. Both are available from Start menu.
- - Another option is to add `msbuild` to PATH manually. Its location should be `C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin`. Then, it should be available from any `powershell.exe` or `cmd.exe` session.
-
### Building
#### MinGW-w64
@@ -58,19 +37,6 @@ Per default the build script (currently) uses `C:\mingw-w64\x86_64-8.1.0-release
When installing different toolchains make sure to update the path in the `mingw64-build.bat`.
This can be achieved by opening the .bat file with a common text editor.
-#### MSVC toolchain
-
-1. In a command prompt, change the directory to the folder where the stlink files were cloned (or unzipped) to.
-2. Make sure the build folder exists (`mkdir build` if not).
-3. From the build folder, run cmake (`cd build; cmake ..`).
-
-This will create a solution file `stlink.sln` in the build folder.
-Now, you can build whole `stlink` suite using following command:
-
-```
-msbuild /m /p:Configuration=Release stlink.sln
-```
-
Options:
- `/m` - compilation runs in parallel utilizing multiple cores
diff --git a/doc/release.md b/doc/release.md
index 7d5ead83c..25cb2d5ff 100644
--- a/doc/release.md
+++ b/doc/release.md
@@ -3,12 +3,12 @@ Release
This document describes the necessary steps for developers to create a release:
-1. Update `CHANGELOG.md`, `cmake/packaging/deb/changelog` & `cmake/packaging/rpm/changelog`
+1. Update changelog (`CHANGELOG.md`, `cmake/packaging/deb/changelog` & `cmake/packaging/rpm/changelog`)
2. Update `.version` with semantic version: `x.x.x`
3. Update `README.md` with semantic version `x.x.x` in commits badge
-4. Merge `develop` into `master`
-5. Create and push git tag and commits `git tag x.x.x`
-6. Create binary packages (.rpm / .deb / .zip) with `make package && sh ./cmake/packaging/windows/generate_binaries.sh`
-7. Upload packages to the [release page](https://github.com/stlink-org/stlink/releases) of this project
-8. Merge `master` into `develop`
-9. Update GitHub security policy (/SECURITY.md)
+4. Update GitHub security policy (`SECURITY.md`)
+5. Merge `develop` into `master`
+6. Create and push git tag and commits `git tag x.x.x`
+7. Create binary packages (.rpm / .deb / .zip) with `make package && sh ./cmake/packaging/windows/generate_binaries.sh`
+8. Upload packages to the [release page](https://github.com/stlink-org/stlink/releases) of this project
+9. Merge `master` into `develop`
diff --git a/doc/supported_devices.md b/doc/supported_devices.md
index 103c7fb5f..b22b1c11a 100644
--- a/doc/supported_devices.md
+++ b/doc/supported_devices.md
@@ -30,10 +30,13 @@ More commonly these are:
| STM32F4 | M4F | |
| STM32G4 | M4F | |
| STM32L4 | M4F | |
-| STM32F7 | M4F | |
-| STM32H7 | M4F | |
+| STM32F7 | M7F | |
+| STM32H7 | M7F | |
| STM32WB | M4F | |
| STM32WL | M4 | |
+| STM32L5 | M33 | |
+| STM32H5 | M33 | |
+| STM32U5 | M33 | |
# Chinese Clone-Chips [may work, but without support!]
diff --git a/doc/version_support.md b/doc/version_support.md
index c87ad1772..c0c8389dd 100644
--- a/doc/version_support.md
+++ b/doc/version_support.md
@@ -34,7 +34,6 @@ Other Linux-/Unix-based Operating Systems:
| Ubuntu 20.04 LTS (Focal) | 1.0.23 | 3.**16.3** | 3.24.**18** | May 2025 |
| | | | | |
| FreeBSD 13.x | 1.0.**16-18** (API 0x01000102) | 3.22.1 | 3.24.31 | |
-| FreeBSD 12.x | 1.0.**16-18** (API 0x01000102) | 3.22.1 | 3.24.31 | Dec 2023 |
| | | | | |
| NetBSD 9.x | 1.0.24 | 3.21.2 | 3.24.30 | |
| NetBSD 8.x | 1.0.24 | 3.**19.7** | 3.24.27 | |
@@ -60,6 +59,7 @@ Systems with highlighted versions remain compatible with this toolset.
| Operating System | libusb | cmake | End of
OS-Support |
| ---------------------------------------- | ------------------------------ | ---------- | ---------------------- |
+| FreeBSD 12.x | 1.0.**16-18** (API 0x01000102) | 3.**22.1** | Dec 2023 |
| Alpine 3.15 | 1.0.**24** | 3.**21.3** | Nov 2023 |
| Fedora 35 [x64] | 1.0.**24** | 3.**21.3** | Dec 2022 |
| Alpine 3.14 | 1.0.**24** | 3.**20.3** | May 2023 |
diff --git a/mingw64-build.bat b/mingw64-build.bat
index b52e529e2..bc50c97a3 100644
--- a/mingw64-build.bat
+++ b/mingw64-build.bat
@@ -2,7 +2,7 @@
mkdir build-mingw
cd build-mingw
-set PATH=C:\Program Files (x86)\CMake\bin;C:\Program Files\CMake\bin;C:\mingw-w64\x86_64-8.1.0-win32-sjlj-rt_v6-rev0\mingw64\bin;%PATH%
+set PATH=C:\Program Files\CMake\bin;C:\mingw-w64\x86_64-13.2.0-release-win32-seh-msvcrt-rt_v11-rev1\mingw64\bin;%PATH%
cmake -G "MinGW Makefiles" ..
mingw32-make
mingw32-make install