General Project Update

- [doc] Updated steps for release procedure
- [doc] Removed outdated lists of supported devices
- [doc] Updated list of supported OS
- [doc] Updated version requirements
- Cleanup  for libusb installation routine on Windows
- Updated list of contributors
- Updated CHANGELOG.md
- Updated README.md
pull/1142/head
nightwalker-87 2021-05-16 18:26:52 +02:00
rodzic 71d1dab620
commit ebba0f35e2
8 zmienionych plików z 86 dodań i 143 usunięć

Wyświetl plik

@ -4,8 +4,15 @@
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](https://github.com/stlink-org/stlink/pull/346), [#458](https://github.com/stlink-org/stlink/pull/458), [#808](https://github.com/stlink-org/stlink/pull/808), [#1084](https://github.com/stlink-org/stlink/pull/1084), [#1112](https://github.com/stlink-org/stlink/pull/1112))
- Added chip-IDs for STM32G0B0/G0B1/G0C1/G050/G051/G061 ([#1140](https://github.com/stlink-org/stlink/pull/1140))
- Added option byte info for STM32F411XX ([#1141](https://github.com/stlink-org/stlink/pull/1141))
Updates & changes:
- Added instructions for bug-reports and feature-requests to contribution guidelines ([#906](https://github.com/stlink-org/stlink/pull/906))

Wyświetl plik

@ -2,7 +2,7 @@
# General cmake settings
###
cmake_minimum_required(VERSION 3.4.2)
cmake_minimum_required(VERSION 3.7.2)
cmake_policy(SET CMP0042 NEW)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)

Wyświetl plik

@ -53,9 +53,9 @@ The STlink toolset includes:
## Supported operating systems and hardware combinations
Currently known working combinations of programmers and targets are listed in [devices_boards.md](doc/devices_boards.md).
Currently known working MCU targets are listed in [devices_boards.md](doc/devices_boards.md).
Supported operating systems are listed in [version_support.md](doc/version_support.md).
A list of supported operating can be found in [version_support.md](doc/version_support.md).
## Tutorial & HOWTO

Wyświetl plik

@ -54,28 +54,6 @@ elseif (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW)) # Windows or MinGW-to
endif ()
if (WIN32 AND NOT EXISTS "/etc/debian_version") # Skip this for Debian...
FIND_PATH(
LIBUSB_INCLUDE_DIR NAMES libusb.h
HINTS /usr /usr/local /opt
PATH_SUFFIXES libusb-1.0
)
if (MINGW OR MSYS)
set(LIBUSB_NAME usb-1.0)
find_library(
LIBUSB_LIBRARY NAMES ${LIBUSB_NAME}
HINTS ${LIBUSB_WIN_OUTPUT_FOLDER}/MinGW${ARCH}/static
)
else (MSVC)
set(LIBUSB_NAME libusb-1.0.lib)
find_library(
LIBUSB_LIBRARY NAMES ${LIBUSB_NAME}
HINTS ${LIBUSB_WIN_OUTPUT_FOLDER}/MS${ARCH}/dll
)
endif ()
endif ()
if (NOT LIBUSB_FOUND)
# Preparations for installing libusb library
set(LIBUSB_WIN_VERSION 1.0.23) # set libusb version
set(LIBUSB_WIN_ARCHIVE libusb-${LIBUSB_WIN_VERSION}.7z)

Wyświetl plik

@ -40,7 +40,7 @@ Fabien Chouteau [Fabien-Chouteau]
Florian Hars
Friedrich Beckmann
Gabriel Górski [Glaeqen]
Geoffrey Brown
Geoffrey Brown [geoffreymbrown]
George Talusan [gtalusan]
Georg von Zengen
Giuseppe Barba
@ -100,6 +100,7 @@ Peter Torelli [petertorelli]
Peter Zotov
Petteri Aimonen
Piotr Haber
[RafaelLeeImg]
Rene Hopf [rene-dev]
Robin Kreis
Roger Wolff [rewolff]

Wyświetl plik

@ -1,9 +1,7 @@
# Boards supported by the STlink toolset
# MCUs supported by the STlink toolset
The following devices are supported by the stlink toolset.
All Boards are expected to work with ST-LINK/V2 programmers.
**STM32F0 / ARM Cortex M0 / Core-ID: 0x0bb11477 (STM32F0_CORE_ID)**
| Chip-ID | Product-Code |
@ -20,14 +18,6 @@ All Boards are expected to work with ST-LINK/V2 programmers.
| 0x448 | STM32F0**72**xx |
| 0x442 | STM32F0**9**xxx |
Tested boards [incl. STLINK programmers]:
- Nucleo-F030R8 [v2-1]
- Nucleo-F072RB [v2-1]
- Nucleo-F091RC [v2-1]
- Nucleo-32 [v2-1]
- STM32F0-Discovery [v2]
- STM320518-EVAL
**STM32F1 / ARM Cortex M3 / Core-ID: 0x1ba01477 (STM32F1_CORE_ID)**
@ -50,11 +40,8 @@ Tested boards [incl. STLINK programmers]:
| 0x428 | High density Value | xC xD xE | F100 | | | | |
| 0x430 | XL-Density | xF xG | | F101 | | F103 | |
Tested boards [incl. STLINK programmers]:
Tested non-official ST boards [incl. STLINK programmers]:
- STM32VL-Discovery (STM32F100RBT6) with STLINK/V1 [v1], [v2]
- STM32F103-Bluepill: C8Tx & R8xx [v2]
- Nucleo-F103RB [v2-1]
- HY-STM32 (STM32F103VETx) [v1, v2]
- DecaWave EVB1000 (STM32F105RCTx) [v1, v2]
@ -98,15 +85,6 @@ Tested boards [incl. STLINK programmers]:
| 0x446 | _N/A_ | xD xE | | F302 | F303 | |
| 0x446 | _N/A_ | - | | | | F398 |
Tested boards [incl. STLINK programmers]:
- Nucleo-F302K8 [v2-1]
- Nucleo-F303K8 [v2-1]
- Nucleo-F303RE [v2-1]
- Nucleo-F334R8 [v2-1]
- STM32F303-Discovery [v2]
- STM32F3348-Discovery [v2-1]
**STM32F3 / ARM Cortex M4F / Core-ID: 0x2ba01477 (STM32F3c_CORE_ID)**
| Product-Code | Chip-ID | STLINK<br />Programmer | Boards |
@ -134,16 +112,6 @@ Tested boards [incl. STLINK programmers]:
| 0x463 | STM32F4**13**xx |
| 0x463 | STM32F4**23**xx |
Tested boards [incl. STLINK programmers]:
- Nucleo-F401RE [v2-1]
- Nucleo-F411RE [v2-1]
- STM32F407-Discovery [v2]
- STM32F411E-Discovery with gyro, audio [v2]
- STM32F413H-Discovery [v2-1]
- STM32F429I-Discovery with LCD [v2]
- STM32F439VIT6-Discovery [v2] (reseated MCU)
**STM32F7 / ARM Cortex M7F / Core-ID: 0x5ba02477 (STM32F7_CORE_ID)**
| Chip-ID | Product-Code |
@ -155,23 +123,12 @@ Tested boards [incl. STLINK programmers]:
| 0x451 | STM32F7**6**xxx |
| 0x451 | STM32F7**7**xxx |
Tested boards [incl. STLINK programmers]:
- Nucleo-F722ZE [v2-1]
- Nucleo-F746ZG [v2-1]
- STM32F756NGHx evaluation board [v2-1]
- STM32F769I-Discovery [v2-1]
**STM32H7 / ARM Cortex M7F / Core-ID: 0x6ba02477 (STM32H7_CORE_ID)**
| Chip-ID | Product-Code |
| ------- | -------------- |
| 0x450 | STM32H74x/H75x |
Tested boards [incl. STLINK programmers]:
- Nucleo-H745I-Q [v3]
**STM32G0 / ARM Cortex M0+ / Core-ID: 0x0bc11477 (STM32G0_CORE_ID)**
| Chip-ID | Product-Code |
@ -203,10 +160,6 @@ Tested boards [incl. STLINK programmers]:
| 0x447 | STM32L0**7**xxx |
| 0x447 | STM32L0**8**xxx |
Tested boards [incl. STLINK programmers]:
- Nucleo-L053R8 [v2-1]
**STM32L1 / ARM Cortex M3 / Core-ID: 0x2ba01477 (STM32L1_CORE_ID)**
| Chip-ID | Product-Code |
@ -221,11 +174,6 @@ Tested boards [incl. STLINK programmers]:
| 0x436 | STM32L1xxx**D** |
| 0x437 | STM32L1xxx**E** |
Tested boards [incl. STLINK programmers]:
- Nucleo-L152RE [v2-1]
- STM32L152C-Discovery [v2]
**STM32L4 / ARM Cortex M4F / Core-ID: 0x2ba01477 (STM32L4_CORE_ID)**
| Chip-ID | Product-Code |
@ -245,14 +193,6 @@ Tested boards [incl. STLINK programmers]:
| 0x471 | STM32L4**P5**xx |
| 0x471 | STM32L4**Q5**xx |
Tested boards [incl. STLINK programmers]:
- Nucleo-L432KC [v2-1]
- Nucleo-L452RE [v2-1]
- Nucleo-L476RG [v2-1]
- Nucleo-L496ZG [v2-1]
- STM32L4R9I-Discovery [v2-1]
**STM32W / ARM Cortex M3 / Core-ID: 0x2ba01477 (STM32W_CORE_ID)**
| Chip-ID | Product-Code |

Wyświetl plik

@ -6,6 +6,8 @@ This document describes the necessary steps for developers to create a release:
1. Update `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. Create and push git tag and commits `git tag x.x.x`
5. Create binary packages (.rpm / .deb / .zip) with `make package && sh ./cmake/packaging/windows/generate_binaries.sh`
6. Upload packages to the [release page](https://github.com/stlink-org/stlink/releases) of this project
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`

Wyświetl plik

@ -1,13 +1,11 @@
_Source:_ pkgs.org - [libusb](https://pkgs.org/search/?q=libusb); [cmake](https://pkgs.org/search/?q=cmake); [gtk](https://pkgs.org/search/?q=gtk) (as of Apr 2020)
_Source:_ pkgs.org - [libusb](https://pkgs.org/search/?q=libusb); [cmake](https://pkgs.org/search/?q=cmake); [gtk](https://pkgs.org/search/?q=gtk) (as of May 2021)
## Supported Operating Systems
### Microsoft Windows
On Windows users should ensure that cmake 3.17.0 is installed.<br />
Up on compiling c-make will check **automatically**, whether `libusb` 1.0.20 or later is present.<br />
If this is not the case, the installation routine will download the latest version (1.0.23 at the time of writing).<br />
Thus no user interaction regarding libusb is necessary.
On Windows users should ensure that cmake 3.17.0 or any later version is installed.<br />
Up on compiling c-make will **automatically** download and install the latest compatible version of `libusb` (1.0.23 at the time of writing).
- Windows 10
- Windows 8.1
@ -23,55 +21,72 @@ NOTE: In order to use a STLINK/V1 programmer on macOS, versions 10.14 or 10.15 a
### Linux-/Unix-based:
| Operating System | libusb<br />version | cmake<br />version | gtk-3<br />version | Notes |
| -------------------------------- | ----------------------- | ------------------ | ----------------------------------------- | ----------------------------------------------------------------------------- |
| Alpine Edge | 1.0.23 | 3.17.0 | 3.99.0<br />gtk+3.0 | |
| ALT Linux Sisyphus | 1.0.23 | 3.17.0 | 3.24.18<br />libgtk+3 | |
| Arch Linux | 1.0.23 | 3.17.0 | 3.24.18<br />gtk3 | |
| Fedora Rawhide | 1.0.23 | 3.17.0 | 3.24.18<br />gtk3 | named `libusbx`, but<br />`libusb`-codebase is used |
| KaOS | 1.0.23 | 3.17.0 | 3.24.18<br />gtk3 | |
| OpenMandriva Cooker | 1.0.23 | 3.17.0 | 3.24.18<br />libgtk+3.0<br />lib64gtk+3.0 | |
| PCLinuxOS | 1.0.23<br />lib64usb1.0 | 3.17.0 | 3.24.18<br />lib64gtk+3.0 | |
| Slackware Current | 1.0.23 | 3.17.0 | 3.24.18<br />gtk+3 | |
| Solus | 1.0.23 | 3.16.5 | 3.24.16<br />libgtk-3 | |
| Debian Sid | 1.0.23 | 3.16.3 | 3.24.18<br />libgtk-3 | |
| OpenMandriva Lx 4.1 | 1.0.23 | 3.16.3 | 3.24.13<br />libgtk+3.0<br />lib64gtk+3.0 | |
| Ubuntu 20.04 LTS (Focal Fossa) | 1.0.23 | 3.16.3 | 3.24.17<br />libgtk-3 | |
| openSUSE Tumbleweed | 1.0.23 | 3.16.2 | 3.24.16<br />gtk3 | |
| Alpine 3.11 | 1.0.23 | 3.15.5 | 3.24.13<br />gtk+3.0 | |
| Ubuntu 19.10 (Eoan Ermine) | 1.0.23 | 3.13.4 | 3.24.12<br />libgtk-3 | |
| Mageia Cauldron | 1.0.22 | 3.17.0 | 3.24.18<br />libgtk+3.0<br />lib64gtk+3.0 | |
| NetBSD 9.0 | 1.0.22 | 3.16.1 | 3.24.12<br />gtk+3 | |
| NetBSD 8.1 | 1.0.22 | 3.16.1 | 3.24.12<br />gtk+3 | |
| NetBSD 7.2 | 1.0.22 | 3.16.1 | _N/A_ | |
| Alpine 3.10 | 1.0.22 | 3.14.5 | 3.24.8<br />gtk+3.0 | |
| Fedora 31 | 1.0.22 | 3.14.5 | 3.24.12<br />gtk3 | named `libusbx`, but<br />`libusb`-codebase is used |
| Mageia 7.1 | 1.0.22 | 3.14.3 | 3.24.8<br />libgtk+3.0<br />lib64gtk+3.0 | |
| Fedora 30 | 1.0.22 | 3.14.2 | 3.24.8<br />gtk3 | named `libusbx`, but<br />`libusb`-codebase is used |
| Debian 10 (Buster) | 1.0.22 | 3.13.4 | 3.24.5<br />libgtk-3 | |
| Alpine 3.9 | 1.0.22 | 3.13.0 | 3.24.1<br />gtk+3.0 | |
| CentOS 8 | 1.0.22 | 3.11.4 | 3.22.30<br />gtk3 | named `libusbx`, but<br />`libusb`-codebase is used |
| openSUSE Leap 15.2 | 1.0.21 | 3.15.5 | 3.24.14<br />gtk3 | |
| openSUSE Leap 15.1 | 1.0.21 | 3.10.2 | 3.22.30<br />gtk3 | |
| Ubuntu 18.04 LTS (Bionic Beaver) | 1.0.21 | 3.10.2 | 3.22.30<br />libgtk-3 | |
| Debian 9 (Stretch) | 1.0.21 | 3.7.2 | 3.22.11<br />libgtk-3 | |
| Slackware 14.2 | 1.0.20 | 3.5.2 | 3.18.9<br />gtk+3 | |
| Ubuntu 16.04 LTS (Xenial Xerus) | 1.0.20 | 3.5.1 | 3.18.9<br />libgtk-3 | |
| OpenMandriva Lx 3.0x | 1.0.20 | **3.4.2** | 3.18.9<br />libgtk+3.0<br />lib64gtk+3.0 | |
| FreeBSD 13 | **1.0.16 - 1.0.18** | 3.15.5 | 3.24.10<br />gtk3 | linux_libusb-13.0r358841<br />LIBUSB_API_VERSION 0x01000102<br />(integrated) |
| FreeBSD 12 | **1.0.16 - 1.0.18** | 3.15.5 | 3.24.10<br />gtk3 | linux_libusb-13.0r358841<br />LIBUSB_API_VERSION 0x01000102<br />(integrated) |
| FreeBSD 11 | **1.0.16 - 1.0.18** | 3.15.5 | 3.24.10<br />gtk3 | linux_libusb-13.0r358841<br />LIBUSB_API_VERSION 0x01000102<br />(integrated) |
| Operating System | libusb | cmake | gtk-3 | Notes |
| ------------------------- | ------------------ | --------- | ----------- | ----------------------------- |
| Arch Linux | 1.0.24 | 3.20.2 | 3.24.29 | |
| Fedora Rawhide [x64] | 1.0.24 (`libusbx`) | 3.20.2 | 3.24.29 | |
| KaOS [x64] | 1.0.24 | 3.20.2 | 3.24.29 | |
| Mageia Cauldron | 1.0.24 | 3.20.2 | 3.24.29 | |
| OpenMandriva Cooker | 1.0.24 | 3.20.2 | 3.24.29 | |
| OpenMandriva Rolling | 1.0.24 | 3.20.2 | 3.24.29 | |
| PCLinuxOS [x64] | 1.0.24 | 3.20.2 | 3.24.29 | |
| Slackware Current | 1.0.24 | 3.20.2 | 3.24.28 | |
| Solus [x64] | 1.0.24 | 3.20.2 | 3.24.29 | |
| openSUSE Tumbleweed [x64] | 1.0.24 | 3.20.1 | 3.24.29 | |
| ALT Linux Sisyphus | 1.0.24 | 3.19.7 | 3.24.29 | |
| Fedora 34 [x64] | 1.0.24 (`libusbx`) | 3.19.7 | 3.24.28 | |
| NetBSD 9.x | 1.0.24 | 3.19.7 | 3.24.27 | |
| NetBSD 8.x | 1.0.24 | 3.19.7 | 3.24.27 | |
| OpenMandriva Lx 4.2 | 1.0.24 | 3.19.3 | 3.24.24 | |
| Mageia 8 | 1.0.24 | 3.19.2 | 3.24.24 | |
| Alpine 3.13 | 1.0.24 | 3.18.4 | 3.24.23 | |
| Debian Sid | 1.0.24 | 3.18.4 | 3.24.24 | |
| Debian 11 (Bullseye) | 1.0.24 | 3.18.4 | 3.24.24 | |
| Ubuntu 21.04 (Hirsute) | 1.0.24 | 3.18.4 | 3.24.25 | |
| Fedora 33 [x64] | 1.0.23 (`libusbx`) | 3.18.3 | 3.24.23 | |
| CentOS 8 Stream [x64] | 1.0.23 (`libusbx`) | 3.18.2 | **3.22.30** | |
| Alpine 3.12 | 1.0.23 | 3.17.2 | 3.24.22 | |
| openSUSE Leap 15.3 [x64] | 1.0.**21** | 3.17.0 | 3.24.20 | |
| openSUSE Leap 15.2 [x64] | 1.0.**21** | 3.17.0 | 3.24.**14** | |
| Adélie 1.0 | 1.0.23 | 3.16.4 | 3.24.23 | |
| Ubuntu 20.04 LTS (Focal) | 1.0.23 | 3.16.3 | 3.24.**18** | |
| ALT Linux P9 | 1.0.**22** | 3.16.3 | 3.24.**11** | |
| Alpine 3.11 | 1.0.23 | 3.15.5 | 3.24.**13** | |
| Mageia 7.1 | 1.0.**22** | 3.14.3 | 3.24.**8** | |
| Debian 10 (Buster) | 1.0.**22** | 3.13.4 | 3.24.**5** | |
| AlmaLinux 8 | 1.0.23 (`libusbx`) | 3.11.4 | 3.24.32 | |
| CentOS 8 [x64] | 1.0.23 (`libusbx`) | 3.11.4 | **3.22.30** | |
| Ubuntu 18.04 LTS (Bionic) | 1.0.**21** | 3.10.2 | **3.22.30** | |
| Debian 9 (Stretch) | 1.0.**21** | **3.7.2** | **3.22.11** | |
| | | | | |
| FreeBSD 13.x | 1.0.**16 - 18** | 3.20.2 | 3.24.27 | LIBUSB_API_VERSION 0x01000102 |
| FreeBSD 12.x | 1.0.**16 - 18** | 3.19.6 | 3.24.27 | LIBUSB_API_VERSION 0x01000102 |
| FreeBSD 11.x | 1.0.**16 - 18** | 3.15.5 | 3.24.27 | LIBUSB_API_VERSION 0x01000102 |
## Unsupported Operating Systems (as of Release v1.6.1)
## Unsupported Operating Systems (as of Release v1.7.1)
| Operating System | libusb<br />version | cmake<br />version | End of<br />OS-Support | Notes |
| ------------------------------ | ------------------- | ------------------ | ---------------------- | --------------------------------------------------- |
| CentOS 7 | 1.0.21 | **2.8.12.2** | | named `libusbx`, but<br />`libusb`-codebase is used |
| Debian 8 (Jessie) | 1.0.19 | **3.0.2** | Jun 2020 |
| Ubuntu 14.04 LTS (Trusty Tahr) | 1.0.17 | **2.8.12.2** | Apr 2019 |
| CentOS 6 | 1.0.**9** | **2.8.12.2** | Dec 2020 | named `libusbx`, but<br />`libusb`-codebase is used |
| Slackware 14.1 | 1.0.**9** | **2.8.12** | |
| Slackware 14.0 | 1.0.**9** | **2.8.8** | |
Systems with highlighted versions remain compatible with this toolset.
| Operating System | libusb | cmake | End of<br />OS-Support |
| ------------------------- | ---------------------- | ---------- | ---------------------- |
| Fedora 32 [x64] | **1.0.23** (`libusbx`) | **3.17.0** | May 2021 |
| Ubuntu 20.10 (Groovy) | **1.0.23** | **3.16.3** | Jul 2021 |
| NetBSD 7.x | **1.0.22** | **3.16.1** | Jun 2020 |
| Alpine 3.10 | **1.0.22** | **3.14.5** | May 2021 |
| Fedora 31 [x64] | **1.0.22** (`libusbx`) | **3.14.5** | Nov 2020 |
| Ubuntu 19.10 (Eoan) | **1.0.23** | **3.13.4** | Jul 2020 |
| Fedora 30 | **1.0.22** (`libusbx`) | **3.14.2** | May 2020 |
| Alpine 3.9 | **1.0.22** | **3.13.0** | Jan 2021 |
| openSUSE Leap 15.1 [x64] | **1.0.21** | **3.10.2** | Feb 2021 |
| Slackware 14.2 | 1.0.20 | 3.5.2 | |
| Ubuntu 16.04 LTS (Xenial) | 1.0.20 | 3.5.1 | Apr 2021 |
| OpenMandriva Lx 3.0x | 1.0.20 | 3.4.2 | |
| Debian 8 (Jessie) | 1.0.19 | 3.0.2 | Jun 2020 |
| CentOS 7 [x64] | 1.0.21 (`libusbx`) | 2.8.12.2 | |
| Ubuntu 14.04 LTS (Trusty) | 1.0.17 | 2.8.12.2 | Apr 2019 |
| CentOS 6 | 1.0.9 (`libusbx`) | 2.8.12.2 | Dec 2020 |
| Slackware 14.1 | 1.0.9 | 2.8.12 | |
| Slackware 14.0 | 1.0.9 | 2.8.8 | |
_All other operating systems which are not listed are unsupported._