stlink/CHANGELOG.md

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 by st-util ARM semihosting feature (#228, (#507, commit #3fd0f09)
  • Support serial numbers argument for st-util and st-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 to st-flash (#505)
  • st-util should detect when USB commands fail (#525, (#527, (#528)

Chip support added for:

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 OpenOCD hla_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)