50 KiB
stlink Changelog
v1.7.1
Release date: 2021-xx-xx
This release drops support for some older operating systems. Check project README for details.
Updated system requirements: Raised minimum version for cmake
to 3.7.2.
Features:
- Support for writing option bytes on STM32F0/F1/F3 (#346, #458, #808, #1084, #1112)
- Added chip-IDs for STM32G0B0/G0B1/G0C1/G050/G051/G061 (#1140)
- Added option byte info for STM32F411XX (#1141)
Updates & changes:
- Added instructions for bug-reports and feature-requests to contribution guidelines (#906)
- Added travis CI configuration for macOS 10.14 to maintain capability for 32-bit compilation (#f5ada94)
- Updated description of chip id 0x0457 to L01x/L02x (#1143, #1144)
Fixes:
- cmake: Install shared libraries in proper directories (#1142)
v1.7.0
Release date: 2021-04-25
This release drops support for the STLINK/V1 programmer on macOS 10.13.
Features:
- Extended set of cmd line arguments for st-info and st-util (#332, #990, #1091, #1114)
- Extended support for STM32H7 & rework of software reset (#532, #801, #868, #1008, #1059, #1063, #1071)
- Added support for STM32H742/743/753 (#671, #793, #823, #998, #1052)
- Official support for STLINK-V3 programmers (commit #5e0a502, #820, #1022, #1025)
- Added preliminary support for STM32L5x2 (#904, #999)
- Option bytes on the STM32F767 ZIT6 Nucleo-144 (#968, #997)
- Use SetConsoleCtrlHandler for Windows (#1021)
- Increase STM32L0
option_size
to 20 (#1046) st-util
: Add specialized memory map for STM32H7 devices (#1060)- Support for STM32F4 option bytes (#1062)
- Link for WIN32 & APPLE with stlink-static (#1069)
- ITM functionality for STLink/V2 and STM32Fxx chipsets (#136, #179, #815, #1072)
- Included ITM functionality for building with MSVC (#1080)
- Update for CI integration (commit #0eebc9a, #1118)
Updates & changes:
- [doc] Added tutorial section on unknown chip id error (commit #229c721, #107, #568)
- [doc] Updated documentation on target resetting (#261, #533, #1107)
- [doc] Added note on
(gdb) run
command (commit #03793d4, #267) - [doc]
st-flash --reset
parameter (one solution for #356) (#642) - [refactoring] General maintenance (#864, #976, #978)
- Imported debian pkg-settings (#986)
- Add support for FreeBSD's
libusb
reimplementation (#992, #993) - [doc] Added explanation about STM32F103 fake chips (commit #a66557a, #1024)
- [doc] Added example for output of
st-info --probe
(#1007, #1049) - [refactoring] Correctly handle endianness without reference to host platform (#1081)
- Check format string for log messages (#1093)
- Removed abort() from stlink-lib (#1116)
Fixes:
- Improvements and fixes of the flash loaders, unification of the reset function (#244, #382, #705, #724, #980, #995, #1008, #1115, #1117, #1122, #1124)
- Flash loader rework (#356, #556, #593, #597, #607, #612, #638, #661, #690, #724, #807, #817, #818, #854, #868, #967, #979, #1008, #1043, #1054, #1092, #1105, #1113)
- Fixed old DFU serial number for STLINK programmers (#417, #494, #1106, #1121)
- Use vl flashloader for all STM32F1 series (#724, #769, #1041, #1044)
- [regression] Changed timeout on flash write (#787, #981, #987)
- cmake compile failure with external
CMAKE_MODULE_PATH
set (#962) - doc/man: Fixed installation directory (#970)
- Fixed installation path for desktop-file and icons (#972)
- Fix for static linking of
libssp
(#973, #974) - [regression] Fixed wrong formatting for library install path (#978, #1089)
- Fixed installation of header files needed for compiling with
libstlink.so.1.6.1
(commit #31b1fa1, #982) - Fixed
connect under reset
forst-flash
andst-util
(#983) - Fix for
mmap() size_t overflow
inst-flash
(#988, #989) - [regression]
stlink-gui
installation issue on Ubuntu-18.04 (#1001, #1004, #1006) st-util
: wrong register values passed togdb
(STLink/V2) (#1002, #1011, #1026, #1027, #1038, #1064, #1065)- GDB: Fixed problems with target description (#1013, #1088, #1109)
- [doc] Fixed wrong path for
rules.d
folder (#1020) - Fixed support for STLINK/V1 programmer (#1045, #1105)
- st-util v1.6.1 does not recognize option --freq (commit #e576768, #1055)
- Fixed
gettimeofday
for MSVC (#1074) - Bugfixes for compilation with clang (#1076, #1078)
- Fixed compilation with GCC 11 (#1077)
- [regression] Flash_loader: increased wait rounds for slow boards (#1085)
- Fixed support for writing option bytes (#1102, #1128)
- [doc] Corrected spelling mistake in bug report template (#1103)
- Fixed STM32WB55 reading DEBUG IDCODE from the wrong address (#1100, #1101)
- Applied missing changes to tests (#1119)
- Improvements for Chip_ID read (#1008, #1120)
- Fixed reading of chip ID on Cortex-M0+ core (#1017, #1125, #1126, #1133)
v1.6.1
Release date: 2020-06-01
This release drops support for some older operating systems. Check project README for details.
Features:
- Basic compatibility for STLink/V3 programmer (#271, #863, #954, #1023)
- Added support for JTAG command API v2 & distinguish protocol versions v1 and v2
- Compatibility with the STLink/V3 firmware which dropped support for the previous API v1
- As of firmware version J11 the STLink/V1 programmer supports API v2 commands as well
- Display programmer serial when no target is connected (#432, #933, #943)
- Added
connect under reset
tostlink_open_usb( )
(#577, #963) - Support for STM32L1, SM32L4 option bytes write (#596, #844, #847)
- Added
CMAKEFLAGS
and install target (#804, #935) - Support for STM32G4 (#822)
- Added aliased SRAM2 region in the L496 memory map (#824)
- Improved support for STM32G0 (#825, #850, #856, #857)
- Added postinst script with
depmod -a
formake package
(#845, #931) - Calculate checksums for flash operations (#862, #924)
- Adjust the JTAG/SWD frequency via cmdline option (#893, #953)
- Added usb PID and udev rules for STLink/V2.1 found on Nucleo-L432KC and Nucleo-L552ze boards (#900)
- STM32G0/G4 improvements (#910)
- Enable mass erase with a flash programming check
- Handle G4 Cat3 devices with configurable dual bank flash by using a helper
Updates & changes:
- [doc] Updated compiling instructions (#113, commit #10ae529)
- Defined
libusb
version compatibility for supported systems viaLIBUSB_API_VERSION
(#211, #782, #895) - Improved argument parsing for CLI tools (#378, #922)
- [doc] Updated tutorial: macOS STLink/V1 detection (#574, #587)
- Enhanced error log with file path for
map_file()
(#650, #879, #921) - Enhanced output for error msg
addr not a multiple of pagesize, not supported
(#663, #945) - Updated STLink/V1 driver for macOS (#735, #964)
- Package distribution: Provide Windows binaries via Debian-based cross-build (#738, #795, #798, #870, #955)
- [refactoring] Update, corrections & cleanup for build settings (see #955 for details)
- New
cpack
package-config for DEB and RPM build - Update for travis build configuration: builds for
clang -m32
,clang-9
, MinGW-cross on linux - Updated steps for release preparation
- Project contributors now listed in separate file
- Test files & gui now use shared
stlink-library
- [doc] Verify correct udev configuration for device access (#764)
- Added more error info to
WLOGs
during probe (#883) - [doc] Added missing documentation for stlink-gui (#884)
- Added check for
libssp
during compilation (#885) - Silenced unnecessary messages (#886)
- [doc] Defined
libusb
&cmake
version compatibility (#896, #897, #899, commit #27aa888) - Update for STM32G471/473/474/483/484 devices (#901)
- [doc]
st-flash --flash=n[k][m]
command line option to override device model (#902) - [refactoring] Improved cmake build process (#912)
- Set up a
libusb
log level accordingly to verbosity (#894 - [compatibility] Updated
libusb
to v1.0.23 ([#895](https://github.com/stlink-org/stlink/pull/895, #1089) - Updated compiling doc & version support (#896, #897, #899)
- Version requirements & pkg-maintainer
- Fixed install paths in build script
- Updated C-flag
-std=gnu99
tognu11
) - Added
cmake
uninstall target (#619, #907) - Integrated module
GNUInstallDirs.cmake
(#557) - [doc] Defined version compatibility and installation instructions for macOS
- [refactoring]
libusb
detection - Deprecated old
appveyor-mingw
script
- Set up a
- [refactoring] BSD-License-compliant rewrite of flashloader source files (#915, #932)
- [refactoring] Overall option code rework (#927)
- [refactoring] Build settings / GUI-Build on UNIX-based systems if
GTK3
is detected (#929) - [refactoring] Reconfiguration of package build process (#931, #936, #940, commit #9b19f92)
- [refactoring]
st-util
: Removed now useless v1/v2 STLink version stuff (#934) - [refactoring] Cleanup for option bytes and flash settings (#941)
- Added compilation guideline for MSVC toolchain (#942)
- [refactoring] Cleanup of
cmake
build process (#944, #946, #947)libusb
package extraction no longer requires7zip
as an external unarchiver
Fixes:
- Fixed wait-loop for
flash_loader_run()
(#290) - Better argument parsing for CLI tools:
stlink_open_usb
can address v1, v2, v3 (#378, #922) - Clear the PG bit before setting the
PER
bit (#579, #876) - Fixed compilation issues with int length on 32-bit platforms (#629, #908)
- Fixed
st-info --probe
mechanism (#679, #918) - [regression] Fixed sign-compare (
size != rep_len
) inusb.c
(#772, #869, #872, #891) - Fixed dead loop after an unexpected unplug (#780, #812, #913)
- Avoid re-define of
O_BINARY
on Windows (#788) - Fixed stlink lock-up when not connected to a device via JTAG / SWD (#835, #943)
- Fixed
st-flash
manpage read example (#858) - Fixed stlink support with no mass storage (#861)
- Make
version.cmake
more error-resistant (#872) - Error return in failed probe (#887, #890)
- Fixed broken build on 32-bit systems (#919, #920)
st-flash
: Minor usage fix and make cmdline parsing more user friendly (#925)- [regression] Restored functionality of make test builds (#926, #929)
- Fixed compilation error due to uninitialized cpuid (#937, #938)
- Fixes for STM32F0 flashloader (#958, #959)
- Set static link for
libssp
(stack-smashing protection) (#960, #961) - Fixed udev rules installing to wrong directory (#966)
- Fixed formatting for options display in
st-flash
&st-info
(commits #c783d0e and #562cd24)
v1.6.0
Release date: 2020-02-20
Major changes and added features:
- Initial support for STM32L41X (#754, #799)
- Verified support for CKS32F103C8T6 and related CKS devices with Core-ID 0x2ba01477 (#756, #757, #805, #834, Regression-Fixes: #761, #766)
- Added preliminary support for some STM32G0 chips (#759, #760, #797)
- Added support for mass erasing second bank on
STM32F10x_XL
(#767, #768) - Added call to clear
PG
bit after writing to flash (#773) - Added support to write option bytes for the STM32G0 (#778)
- Added support for STM32WB55 chips (#786, #810, #816)
- Added
STLink V3SET
VID:PIDs to the udev rules (#789) - Support for
STM32+Audio
v2-1 firmware (#790) - Build for Windows under Debian/Ubuntu (#802)
- Allow for 64 bytes serials (#809)
- Added full support for STLINK CHIP ID L4RX (#814, #839)
- Added support for the STLink/V2.1 when flashed with no mass storage (PID 0x3752) (#819, #861)
- Added support for writing option bytes on STM32L0xx (#830)
- Added support to read and write option bytes for STM32F2 series (#836, #837)
- Added support to read and write option bytes for STM32F446 (#843)
Updates and fixes:
- Fixed an issue with versioning stuck at 1.4.0 for versions cloned with git (#563, #762, #772)
- Fixed
unkown chip id
, piped output andst-util -v
(#665, #763) - Updated STM32F3xx chip ID that covers a few different devices (#685, #758)
- Made udev rules and modprobe conf installation optional (#741)
- Fixed case when
__FILE__
doesn't contain either/
nor\\
(#745) - Fixed double dash issue in doc/man (#746, #747)
- Compiling documentation: package is called
libusb-1.0-0-dev
on Debian (#748) - Only do bank calculation on STM32L4 devices with dual banked flash / Added chip-ID 0x464 for STM32L41xxx/L42xxx devices (#751)
- Added
O_BINARY
option to open file (#753) - Fixed versioning when compiling from the checked out git-repo (#762, #772)
- win32: move usleep definition to
unistd.h
(#765) - Fixed relative path to the UI files needed by
stlink-gui-local
(GUI) (#770, #771) - Added howto for sending
NRST
signal through GDB (#774, #776, #779) - Fixed package name
devscripts
in doc/compiling.md (#775) - Fixed few potential memory/resource leaks (#803, #831)
- Updated Linux source repositories in README.md: Debian and Ubuntu (#821, #835, #859)
- Do not issue JTAG reset on STLink/V1 (#828)
- Fixed flash size of STM32 Discovery VL (#829)
- Updated documentation on software structure (#851)
General project updates:
- Updated
README.md
,CHANGELOG.md
and issue templates (Nightwalker-87) - Fixed travis build config file (Nightwalker-87)
- Added
CODE_OF_CONDUCT
(Nightwalker-87) - Archived page from github project wiki to doc/wiki_old.md (Nightwalker-87)
v1.5.1
Release date: 2018-09-13
Major changes and added features:
- Added reset through
AIRCR
(#254, #540, #712) - Added creation of icons for
.desktop
file (#684, #708) - Added desktop file for linux (#688)
- Added button to export STM32 flash memory to a file (#691)
- Updated
libusb
to 1.0.22 (#695) - (related Bugs: #438, #632) - Added icons for stlink GUI (#697)
- Added support for STM32L4R9 target (#694, #699)
- Added memory map for STM32F411RE target (#709)
- Implemented intel hex support for
GTK
GUI (#713, #718)
Updates and fixes:
- Fixed missing flash_loader for STM32L0x (#269, #274, #654, #675)
- Fix for stlink library calls
exit()
or_exit()
(#634, #696) - Added semihosting parameter documentation in doc/man (#674)
- Fixed reference to non-exisiting
st-term
tool in doc/man (#676) - Fixed serial number size mismatch with
stlink_open_usb()
(#680) - Debian packaging,
cmake
andREADME.md
fixes (#682, #683) - Disabled static library installation by default (#702)
- Fix for
libusb
deprecation (#703, #704) - Renamed
STLINK_CHIPID_STM32_L4R9
toSTLINK_CHIPID_STM32_L4Rx
(#706) - [regression] stlink installation under Linux (Debian 9) is broken since #695 (#700, #701, #707)
- Fixed flash memory map for STM32F72xxx target (#711)
- Proper flash page size calculation for STM32F412xx target (#721)
- Return correct value on
EOF
for semihostingSYS_READ
(#726, #727, #728, #729, #730, #731, #732) - FreeBSD defines
LIBUSB_API_VERSION
instead ofLIBUSBX_API_VERSION
(#733)
v1.5.0
Release date: 2018-02-16
Major changes and added features:
- Added support of STM32L496xx/4A6xx devices (#615, #657)
- Added unknown chip dummy to obtain the serial of the STlink by a call to
st-info --probe
(#641) - Added support for STM32F72xx (chip-ID: 0x452) devices (commit #1969148)
Updates and fixes:
- Fixed verification of flash error for STM32L496x device (#617, #618)
- Updated Linux source repositories in README.md: Gentoo, Fedora and RedHat/CentOS (#622, #635)
- Updated changelog in debian package (#630)
- Added
LIB_INSTALL_DIR
to correct libs install on 64-bit systems (#633, #636) - Fixed write for microcontroller with RAM size less or equal to 32K (#637)
- Fixed memory map for STM32L496xx boards (#639)
- Fixed
__FILE__
base name extraction (#624, #628, #648) - Added debian/triggers to run
ldconfig
(#664) - Fixed build on Fedora with GCC 8 (#666, #667, #668)
v1.4.0
Release date: 2017-07-01
Major changes and added features:
- Allow building of debian package with CPack (#554, commit #5b69f25)
- Added support for STM32L011 target (#564, #565, #572)
- Added support for flashing second bank on STM32F10x_XL (#592)
- Initial support to compile with Microsoft Visual Studio 2017 (#602)
- Added support for STM32L452 target (#603, #608)
Updates and fixes:
- Added
--flash=n[k][m]
command line option to override device model (#305, #516, #576) - Updated
libusb
to 1.0.21 for Windows (#562) - Fixed low-voltage flashing on STM32F7 devices (#566, #567)
- Fixed building with mingw64 (#569, #573, #578, #582, #584, #610, #846)
- Fixed possible memory leak (#570, #571)
- Fixed installation path for shared objects (#581)
- Fixed a few
-Wformat
warnings (#582) - Removed unused defines in
mingw.h
(#583) - Skip
GTK
detection when cross-compiling (#588) - Fixed compilation with GCC 7 (#590, #591)
- Fixed flashing to
F0 device
targets (#594, #595) - Fixed wrong counting when flashing (#605)
v1.3.1
Release date: 2017-02-25
Major changes and added features:
- Added support for Semihosting
SYS_READC
(#546) - Added support for STM32F413 (#549, #550, #758)
- Added preliminary support for STM32L011 to see it after probe (chip-ID 0x457) (#558, #598)
Updates and fixes:
cmake/CPackConfig.cmake
: Fixup OSX zip filename- Updated source repositories in README.md: Windows, macOS, Alpine Linux
- Compilation fixes (#547, #551, #552)
- Stripped full paths to source files in log (#548)
- Fixed incorrect release folder name in docs (#560)
- Fixed compilation when path includes spaces (#561)
v1.3.0
Release date: 2017-01-28
Major changes and added features:
- Deprecation of autotools (
autoconf
,automake
) and fixed build with MinGW (#83, #431, #434, #465) - Added intel hex file reading for
st-flash
(#110, #157, #457, #459) - Added support for ARM semihosting to
st-util
(#147, #227, #454, #455) - Added manpages (generated with
pandoc
from Markdown) (#208, #464, #466, #467) - Removal of undocumented
st-term
utility, which is now replaced byst-util
ARM semihosting feature (#228, #507, commit #3fd0f09) - Support serial numbers argument for
st-util
andst-flash
to probe and control multiple connected programmers (#318, #398, #541) - Added 'k' (kill) command to gdb-server, which resets the connection (#358, #525, #527, #528)
- Merge
st-probe
tool intost-info
(#398) - Added support for native debian packaging (#444, #472, #473, #482, #483, #484, #485)
- Rewritten commandline parsing for
st-flash
(#459) - Added
--reset
command tost-flash
(#505)
Chip support added for:
- STM32F401XE: Added memory map for device (#460)
- STM32F410RBTx (#418)
- STM32F412 (#537, #538)
- STM32F7xx (#324, #326, #327, #337)
- STM32F7x7x (#433, #435, #436, #509)
- STM32L0xx Cat2 devices (chip-ID: 0x425) (#414)
- STM32L0xx Cat5 devices (chip-ID: 0x447) (#387, #406)
- STM32L4xx (#321)
- STM32L432 (#500, #501)
Updates and fixes:
- Do a JTAG reset prior to reading CPU information when processor is in deep sleep (#291, #428, #430, #451)
- Fixed
unaligned addr or size
when trying to write a program in RAM (#323) - Fixed flashing on
STM32_F3_SMALL
(#325) - Fixed STM32L-problem with flash loader (#390, #407, #408)
- Don't read the target voltage on startup, because it crashes STM32F100 (#423, #424)
- Added a useful error message instead of
[!] send_recv
(#425, #426) - Fixed STM32F030 erase error (#442)
- Fixed memory map for STM32F7xx (#453, #456)
- Redesign of
st-flash
commandline options parsing (#459) - Set
SWDCLK
and fixedjtag_reset
bug (#462, #475, #534) - doc/compiling.md: Add note about installation and
ldconfig
(#478, commit #be66bbf) - Fixed Release target to generate the man-pages with
pandoc
(#479) - Fixed Cygwin build (#487, (#506)
- Reset flash mass erase (MER) bit after mass erase for safety (#489)
- Wrong extract command in
FindLibUSB.cmake
(#510, #511) - Fixed compilation error on Ubuntu 16.10 (#514, #525)
v1.2.0
Release date: 2016-05-16
Features added:
- Added multiple stlink probing (
st-info --probe
,st-info --hla-serial
) with printing serial in hex and OpenOCDhla_serial
format (Jerry Jacobs) - Added stlink usb probe API functions (Jerry Jacobs)
- Added parameter to specify one stlink v2 of many (Georg von Zengen)
Updates and fixes:
- Refactoring/fixes of flash loader (Maxime Coquelin)
- Synchronized cache for STM32F7 (Tristan Gingold)
- Allow flashing of STM32L4 down to 1.71 V (Greg Meiste)
- Fix on STM32L4 to clear flash mass erase flags on CR (Bruno Dal Bo)
- Proper writing of page 0 of second bank for STM32L476xe (Tobias Badertscher)
- Trace the read data in
stlink_read_debug32
and not the address of the variable (Tobias Badertscher) - Mac OS X El Capitan platform support confirmation (Nikolay)
- Do not send a
NULL
at end of packets togdb
(Tristan Gingold) - Correctly compute flash write size for partial pages (Dave Vandervies)
_stlink_usb_reset
use hardreset (mlundinse)- Make sure MCU is halted before running RAM based flashloaders (mlundinse)
- Could not flash
STM32_F3_SMALL
(Max Chen) - STM32F4 8-bit support for 1.8v operation (Andy Isaacson)
- Fixed STM32F2xx memory map (Nicolas Schodet)
- Memory map for STM32F42xxx and STM32F43xxx devices (Craig Lilley)
- Stm32l0x flash loader (Robin Kreis)
- Modified determination of erased byte pattern when flashing (#193, #377)
- Use libusb synchronous api (#194, #225, #374)
- Fixed segfault when programmer is already busy and
NULL
pointers are in the list (#256, #394) - Fixed gdb-server: Cortex M0 chips have no
FP_CTRL
register for breakpoints (#266, #273, #341) - Fixed issue where "unknown chip id!" was seen every other time (#352, #367, #381)
- Send F4 memory-map and features for STM32F429 (#188, #196, #250, #251) (Release v1.1.0)
- Added AHB3 Peripherals definition for STM32F4 (#218, #288) (Release v1.1.0)
- Reset: st-flash does not work when CPU is in sleep mode (#62) (Release v1.0.0)
- Ensure USB device search succeeds if the matched device is at index 0 (#126, #151) (Release v1.0.0)
- Corrected flash size register address for STM32F2 devices (#278) (Release v1.0.0)
Chip support added for:
- STM32L053R8 (Jean-Luc Béchennec)
- STM32F7 Support (mlundinse)
- Added STM32L4 to CHIPID #defines and devices[], flash driver and loader (Dave Vandervies)
- Basic support for STM32F446 (Pavel Kirienko)
- STM32F303 High Density
- STM32F469/STM32F479 (#345, #555) (Release v1.2.0)
- STM32L1xx Cat.2 devices (Nicolas Schodet)
- STM32L1xx (chip-ID 0x427) (#152, #163, #165) (Release v1.0.0)
- Added
SIGINT
handler for stlink cleanup (#31, #135) (Release v1.0.0)
Board support added for:
- Nucleo-F303RE (Kyle Manna)
- Nucleo-F411RE (texane)
Build system:
- Travis: Initial support for Travis continues integration on Linux & Mac OS X (Jerry Jacobs)
- CMake: Document in README.md and add extra strict compiler flags (Jerry Jacobs)
- CMake: First stab at a
cmake
build (Josh Bialkowski)