35 KiB
stlink ChangeLog
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)
- 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 ST-LINK-V1 programmer supports API v2 commands as well
- Display programmer serial when no target is connected (#432, #933, #943)
- Added connect under reset to stlink_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)
- Add aliased SRAM2 region in the L496 memory map (#824)
- Improved support for STM32G0 (#825, #850, #856, #857)
- Added postinst script with 'depmod -a' for 'make 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 via LIBUSB_API_VERSION (#211, #782, #895)
- Improved argument parsing for CLI tools (#378, #922)
- [doc] Updated tutorial: macOS ST-Link-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
- Updated compiling doc & version support (#896, #897, #899)
- Version requirements & pkg-maintainer
- Fixed install paths in build script
- Updated C-flag -std=gnu99 to gnu11)
- 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
- [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 requires 7zip 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) in usb.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 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 "unkown chip id", piped output and st-util -v (#107, #665, #763)
- Fixed an issue with versioning stuck at 1.4.0 for versions cloned with git (#563, #762, #772)
- 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 don't contain "/" 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)
- 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 (#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 and README.md fixes (#682, #683)
- Disabled static library installation by default (#702)
- Fix for libusb deprecation (#703, #704)
- Renamed STLINK_CHIPID_STM32_L4R9 to STLINK_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 Semihosting SYS_READ (#726, #727, #728, #729, #730, #731, #732)
- FreeBSD defines LIBUSB_API_VERSION instead of LIBUSBX_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 ST-link 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:
- Fixed gdb-server: STM32L0xx has no FP_CTRL register for breakpoints (#273)
- 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 mimgw.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) - Merge st-probe tool into st-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) - st-util should detect when USB commands fail (#525, (#527, (#528)
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:
- 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)
- Do a JTAG reset prior to reading CPU information when processor is in deep sleep (#428, #430, #451)
- Fixed STM32F030 erase error (#442)
- Fixed memory map for STM32F7xx (#453, #456)
- Redesign of
st-flash
commandline options parsing (#459) - Set SWDCLK and fixed jtag_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 NUL at end of packets to gdb (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)
- Fixed segfault when programmer is already busy and NULL pointers are in the list (#256, #394)
- 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)
- 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)
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)