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:
- C-Standard: C11 (ISO/IEC 9899:2011)
cmake
>= 3.13.0libusb
>= 1.0.22libgtk-dev
>= 3.22.30
Features:
- Support for writing option bytes on STM32F0/F1/F3 (#346, #458, #808, #1084, #1112)
- Initial support for STM32 L5 & U5 devices and minor changes (#1005, #1096, #1247, #1300, #1301)
- Added chip-IDs for STM32G0B0/G0B1/G0C1/G050/G051/G061 (#1140, #1359)
- Added option byte info for STM32F411XX (#1141)
- Expanded and revised list of chips (#1145, #1164)
- STM32H72X/3X: Added full access to all device memory (#1158, #1159)
- Added support for STM32WLEx (#1173, #1273)
- Added support for STLINK-V3 devices with no MSD (#1185)
- Updated gdb-server.c to allow external memory access on STM32H73xx (#1196, #1197)
- Erase addr size / section of the flash memory with st-flash (#1213)
- Added support for STM32L4Q5 (#1224, #1295)
- Added writing and reading for STM32WL option bytes (#1226, #1227)
- Added parametres option_base, option_size for F401xD_xE (#1235)
- Added support for option bytes to F1xx_XLD (GD32F30x) (#1250)
- Added option byte address for L4Rx devices (#1254)
- Added udev-rule rule for the STLink v3 MINIE programmer (#1274, #1281, #1358)
- Added support for STM32C0x1 devices (#1329, #1354)
- First Implementation of the OTP Read/Write function (#1352, #1353)
Updates & changes:
- [refactoring] Moved chip-specific parameters into separate files (#237, #1129)
- [refactoring] General maintenance for code structure (#903, #1090, #1199, #1212, #1216, #1228)
- 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 (commit #f5ada94)
- [refactoring] Clean code with unified variable type (#909, commit #5e85fd0)
- Updated description of chip id 0x0457 to L01x/L02x (#1143, #1144)
- [doc] Human-readable flash_type in chip-id files (#1155, commit #1745bf5)
- Dropped execute bits from source code files (#1167)
- Use proper Markdown headers for supported MCUs (#1168)
- Ability to flash F7 devices when in dual-bank mode (#1174)
- Removed redundant array (#1178)
- Updated chip config files from the library structs (#1181)
- [doc] Corrected file path in tutorial (#1186)
- Improved chipid checks and printouts (#1188)
- [refactoring] Sourcefile 'common.c' (#1218, #1220)
- [STM32H735]: Set hardware breakpoints for external bus (#1219)
- Set C standard through cmake variables (#1221)
- [doc] Added make install to the macOS compiling instructions (#1259)
- [doc] Linux Install from code Documentation improvement (#1263, commit #43498de)
- End of support for macOS (#1269, #1296, commit #61ff09e)
- [doc] Added device ID for GD32F303VET6 (#1288)
- [doc] Fixed broken links (#1312)
- [doc] Updated package source link for Arch Linux (#1318)
- CMake: Avoid hard-wired /usr/local/share (#1325)
- [doc] Provide access to the UART via virtual com port (#1334, commit #32e8dcc)
Fixes:
- Fixed some flashing issues on STM32L0 (#681, #1203, #1225, #1253, #1289, #1330)
- cmake: Install shared libraries in proper directories (#1098, #1138, #1154)
- cmake: Install shared libraries in proper directories (#1142)
- Fixed clearance of the H7 dual bank flag (#1146, #1147, #1342)
- Fix for 'libusb_devices were leaked' when no ST-LINK programmer was found (#1150)
- Set of fixes and improvements (#1153, #1154)
- Removed limit check for WRITEMEM_32BIT (#1157)
- Fixed get_stm32l0_flash_base address for STM32L152RE (#1161, #1162)
- Fixed segfault if chip was not found in chip config files (#1138, #1163, #1165, #1166, #1170)
- Fixed parsing hex numbers in chip config files (#1156, commit #1d301a5)
- Fixed parsing hex numbers in chip config files (#1169)
- Corrected flash_pagesize to use hex format (#1172)
- Fixed compilation for MSVC (#1176)
- Fixed few warnings for msvc about type conversion with possible lost data (#1179)
- st-flash and other utilities search for chip files in the wrong directory (#1180, commit #c8fc656)
- Fixed broken build on 32 bit systems (#985, #1175, commit #c8fc656)
- Define 'SSIZE_MAX' if not defined (#1183)
- [STM32G031G8]: BOOT_LOCK is not possible to change on option bytes address 0x1FFF7870 (#1194)
- Fixed compliation for OpenBSD 7.0 (#1202)
- Included 'SSIZE_MAX' from 'limits.h' in 'src/common.c' (#1207)
- Fix for libusb_kernel_driver_active & error handling for st.st_size () (#1210, #1211, #1214)
- General fixes and improvements (#1240, #1242, #1290, #1291, #1295)
- Fixes for project compilation (#1241, #1271, #1283, #1286,commit #f93adb9)
- st-trace: Fixed clock issues (#1248, #1251, #1252)
- Fixed compilation with gcc-12 (#1257, #1267)
- Fixed flash regs addr for STM32L152RET6 in common_flash.c (#1265)
- Fixed flash, dbgmcu and rcc registers for STM32L1 (#1266)
- Fixed incorrect SRAM size for L496x and L4A6x (#1268, commit #ff81148)
- Fixed st-trace reconnect on Windows (#1272, #1292)
- [compilation] Corrected path to stlink/chips subdirectory (#1276, #1279)
- [compilation] Fixed GUI compilation failure on OpenBSD i386 (#1284)
- [STM32U5x5]: Last bytes are not written (flashed) when len()%16 <= 8 (#1303, #1315)
- [STM32WLE]: Erase flash fails on second page (#1305, commit #7dcb130)
- Fixed unbounded write and check return values of sscanf (#1306)
- Added null check for return value of stlink_chipid_get_params() (#1307)
- Fixed warning in a few *.cmake files (#1309)
- Fixed support for STM32U5 chips (#1320, #1355)
- [STM32G0B1]: Erase fails starting page 64 (#1321)
- Notification "unknown option -- u" in tool st-util (#1326, #1327)
- Do not crash when the STLink chip returns a voltage factor of zero (#1343)
- stlink-gui: failed to allocate 139988352155568 bytes (#1356)
- [STM32U575RGT6]: Verification failed at offset 43008 (#1362, commit #0145bae)