From 4416a24b5da7179291d64b371d8d37c7b6ce8d6f Mon Sep 17 00:00:00 2001 From: nightwalker-87 <15526941+Nightwalker-87@users.noreply.github.com> Date: Wed, 19 Feb 2020 21:20:10 +0100 Subject: [PATCH] General project update: - Updated README & CHANGELOG. - Updated issue templates. - Fixes in travis.yml --- .github/ISSUE_TEMPLATE.md | 29 -------- .github/ISSUE_TEMPLATE/bug_report.md | 54 +++++++------- .github/ISSUE_TEMPLATE/feature_request.md | 42 +++++++---- .github/ISSUE_TEMPLATE/support_question.md | 32 +++++++++ .travis.yml | 3 +- ChangeLog.md => CHANGELOG.md | 84 +++++++++++----------- README.md | 72 ++++++++++--------- 7 files changed, 165 insertions(+), 151 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/support_question.md rename ChangeLog.md => CHANGELOG.md (53%) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 63c6c45..0000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,29 +0,0 @@ -**NOTICE: The issue may be closed without notice when not enough information is provided!** - -Thank you for giving feedback to the stlink project. Take some time to fill out - check boxes with a X in the following items so developers and other people can try to - to find out what is going on. And add/remove what is appropriate to your problem. - -When submitting a feature request, try to reuse the list and add/remove what is appropriate. - Place a `X` between the brackets `[X]` to mark the list item. - -- [ ] Programmer/board type: e.g Stlink/v1, Stlink/v2, Stlink/v2-onboard -- [ ] Programmer firmware version: e.g STSW-LINK007 2.27.15 -- [ ] Operating system: e.g Linux, Mac OS X, Windows (with specific version) -- [ ] Stlink tools version and/or git commit hash: e.g v1.1.0/git-c722056 -- [ ] Stlink commandline tool name: e.g `st-info`, `st-flash`, `st-util` -- [ ] Target chip (and optional board): e.g STM32F402VG (STM32Fxxx Discovery) - -A as-detailed description possible of the problem with debug output when available. - -Output: - -``` -OUTPUT/ERROR of the commandline tool(s) -``` - -Expected/description: -`short description of the expected value` - -Thank you, -The stlink project maintainers diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd84ea7..821b406 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,38 +1,32 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' +# Bug Report ---- +Thank you for giving feedback to the stlink project. -**Describe the bug** -A clear and concise description of what the bug is. +In order to allow developers and other contributors to isolate and target your respective issue, please take some time to fill out the check boxes below by setting a 'x' into the checkboxes ( [x] ) and edit each item appropriate to your specific problem. -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error +- [ ] Programmer/board type: e.g Stlink/v1, Stlink/v2, Stlink/v2-onboard +- [ ] Programmer firmware version: e.g STSW-LINK007 2.27.15 +- [ ] Operating system: e.g Linux, Mac OS X, Windows (with specific version) +- [ ] Stlink tools version and/or git commit hash: e.g v1.1.0/git-c722056 +- [ ] Stlink commandline tool name: e.g `st-info`, `st-flash`, `st-util` +- [ ] Target chip (and optional board): e.g STM32F402VG (STM32Fxxx Discovery) -**Expected behavior** -A clear and concise description of what you expected to happen. +Futher we kindly ask you to describe the detected problem as detailled as possible and to add debug output if available, by using the following template: -**Screenshots** -If applicable, add screenshots to help explain your problem. +Commandline-Output: -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] +``` +OUTPUT/ERROR of the commandline tool(s) +``` -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] +Expected/description: -**Additional context** -Add any other context about the problem here. +`short description of the expected value` + + +**NOTICE: The bug report may be closed without notice when not enough information is provided!** + + +Thank you for your support. + +The stlink project maintainers diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index bbcbbe7..bf626eb 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,20 +1,32 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' +# Feature Request ---- +Thank you for giving feedback to the stlink project. -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] +In order to allow developers and other contributors to isolate and target your respective issue, please take some time to fill out the check boxes below by setting a 'x' into the checkboxes ( [x] ) and edit each item appropriate to your specific problem. -**Describe the solution you'd like** -A clear and concise description of what you want to happen. +- [ ] Programmer/board type: e.g Stlink/v1, Stlink/v2, Stlink/v2-onboard +- [ ] Programmer firmware version: e.g STSW-LINK007 2.27.15 +- [ ] Operating system: e.g Linux, Mac OS X, Windows (with specific version) +- [ ] Stlink tools version and/or git commit hash: e.g v1.1.0/git-c722056 +- [ ] Stlink commandline tool name: e.g `st-info`, `st-flash`, `st-util` +- [ ] Target chip (and optional board): e.g STM32F402VG (STM32Fxxx Discovery) -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. +Futher we kindly ask you to describe the detected problem as detailled as possible and to add debug output if available, by using the following template: -**Additional context** -Add any other context or screenshots about the feature request here. +Commandline-Output: + +``` +OUTPUT/ERROR of the commandline tool(s) +``` + +Expected/description: + +`short description of the expected value` + + +**NOTICE: This feature request may be closed without notice when not enough information is provided!** + + +Thank you for your support. + +The stlink project maintainers diff --git a/.github/ISSUE_TEMPLATE/support_question.md b/.github/ISSUE_TEMPLATE/support_question.md new file mode 100644 index 0000000..795c13a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/support_question.md @@ -0,0 +1,32 @@ +# Support question + +Thank you for giving feedback to the stlink project. + +In order to allow developers and other contributors to help you with your question, please take some time to fill out the check boxes below by setting a 'x' into the checkboxes ( [x] ) and edit each item appropriate to your specific problem. + +- [ ] Programmer/board type: e.g Stlink/v1, Stlink/v2, Stlink/v2-onboard +- [ ] Programmer firmware version: e.g STSW-LINK007 2.27.15 +- [ ] Operating system: e.g Linux, Mac OS X, Windows (with specific version) +- [ ] Stlink tools version and/or git commit hash: e.g v1.1.0/git-c722056 +- [ ] Stlink commandline tool name: e.g `st-info`, `st-flash`, `st-util` +- [ ] Target chip (and optional board): e.g STM32F402VG (STM32Fxxx Discovery) + +Futher we kindly ask you to describe the detected problem as detailled as possible and to add debug output if available, by using the following template: + +Commandline-Output: + +``` +OUTPUT/ERROR of the commandline tool(s) +``` + +Expected/description: + +`short description of the expected value` + + +**NOTICE: This support question may be closed without notice when not enough information is provided!** + + +Thank you for your support. + +The stlink project maintainers diff --git a/.travis.yml b/.travis.yml index 25d1859..c878be7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,3 @@ -sudo: true language: c compiler: - gcc @@ -10,7 +9,7 @@ addons: apt: sources: # - llvm-toolchain-precise-3.8 - - ubuntu-toolchain-r-test + - sourceline: 'ppa:ubuntu-toolchain-r/test' packages: - clang # - clang-3.8 diff --git a/ChangeLog.md b/CHANGELOG.md similarity index 53% rename from ChangeLog.md rename to CHANGELOG.md index 4602d70..68b90c2 100644 --- a/ChangeLog.md +++ b/CHANGELOG.md @@ -8,16 +8,16 @@ Release date: 2018-09-13 Major changes and added features: -* Implement intel hex support for GTK GUI -* Update libusb to 1.0.22 -* Add memory map for STM32F411RE target +* Implemented intel hex support for GTK GUI +* Updated libusb to 1.0.22 +* Added memory map for STM32F411RE target * Add support for STM32L4R9 target Fixes: -* FreeBSD define LIBUSB_API_VERSION instead of LIBUSBX_API_VERSION +* FreeBSD defines LIBUSB_API_VERSION instead of LIBUSBX_API_VERSION * Proper flash page size calculation for F412 target -* Fix flash memory map for F72xxx target +* Fixed flash memory map for F72xxx target * Return correct value on EOF for Semihosting SYS_READ For a complete list of changes see [the milestone](https://github.com/texane/stlink/milestone/6?closed=1) @@ -30,15 +30,15 @@ Release date: 2018-02-16 Major changes and added features: * STM32F72xx73xx support ([#1969148](https://github.com/texane/stlink/commit/19691485359afef1a256964afcbb8dcf4b733209)) -* Add support of STM32L496xx/4A6xx devices ([#615](https://github.com/texane/stlink/pull/615)) +* Added support of STM32L496xx/4A6xx devices ([#615](https://github.com/texane/stlink/pull/615)) Fixes: -* Fix memory map for stm32l496xx boards ([#639](https://github.com/texane/stlink/pull/639)) -* Fix write for microcontroler with RAM size less or equal to 32K ([#637](https://github.com/texane/stlink/pull/637)) +* Fixed memory map for stm32l496xx boards ([#639](https://github.com/texane/stlink/pull/639)) +* Fixed write for microcontroller with RAM size less or equal to 32K ([#637](https://github.com/texane/stlink/pull/637)) * Added LIB_INSTALL_DIR to correct libs install on 64-bit systems ([#636](https://github.com/texane/stlink/pull/636)) -* Fix verification of flash error for STM32L496x device ([#618](https://github.com/texane/stlink/pull/618)) -* Fix build on Fedora with GCC 8 ([#666](https://github.com/texane/stlink/pull/668)) +* Fixed verification of flash error for STM32L496x device ([#618](https://github.com/texane/stlink/pull/618)) +* Fixed build on Fedora with GCC 8 ([#666](https://github.com/texane/stlink/pull/668)) v1.4.0 ====== @@ -47,21 +47,21 @@ Release date: 2017-07-01 Major changes and added features: -* Add support for STM32L452 target ([#608](https://github.com/texane/stlink/pull/608)) +* Added support for STM32L452 target ([#608](https://github.com/texane/stlink/pull/608)) * Initial support to compile with Microsoft Visual Studio 2017 ([#602](https://github.com/texane/stlink/pull/602)) * Added support for flashing second bank on STM32F10x_XL ([#592](https://github.com/texane/stlink/pull/592)) -* Add support for STM32L011 target ([#572](https://github.com/texane/stlink/pull/572)) +* Added support for STM32L011 target ([#572](https://github.com/texane/stlink/pull/572)) * Allow building of debian package with CPack (@xor-gate) Updates and fixes: -* Fix compilation with GCC 7 ([#590](https://github.com/texane/stlink/pull/590)) -* Skip GTK detection if we're cross-compiling ([#588](https://github.com/texane/stlink/pull/588)) -* Fix possible memory leak ([#570](https://github.com/texane/stlink/pull/570)) -* Fix building with mingw64 ([#569](https://github.com/texane/stlink/pull/569), [#610](https://github.com/texane/stlink/pull/610)) -* Update libusb to 1.0.21 for Windows ([#562](https://github.com/texane/stlink/pull/562)) -* Fixing low-voltage flashing on STM32F7 parts. ([#567](https://github.com/texane/stlink/pull/567)) -* Update libusb to 1.0.21 for Windows ([#562](https://github.com/texane/stlink/pull/562)) +* Fixed compilation with GCC 7 ([#590](https://github.com/texane/stlink/pull/590)) +* Skipped GTK detection if we're cross-compiling ([#588](https://github.com/texane/stlink/pull/588)) +* Fixed possible memory leak ([#570](https://github.com/texane/stlink/pull/570)) +* Fixed building with mingw64 ([#569](https://github.com/texane/stlink/pull/569), [#610](https://github.com/texane/stlink/pull/610)) +* Updated libusb to 1.0.21 for Windows ([#562](https://github.com/texane/stlink/pull/562)) +* Fixed low-voltage flashing on STM32F7 parts. ([#567](https://github.com/texane/stlink/pull/567)) +* Updated libusb to 1.0.21 for Windows ([#562](https://github.com/texane/stlink/pull/562)) v1.3.1 ====== @@ -70,16 +70,16 @@ Release date: 2017-02-25 Major changes and added features: -* Add preliminary support for STM32L011 to see it after probe (chipid `0x457`) (@xor-gate) -* Strip full paths to source files in log (commit [#2c0ab7f](https://github.com/texane/stlink/commit/2c0ab7f0eb6cfda5cfbdc08bb9f6760d27c2b667)) -* Add support for STM32F413 target ([#549](https://github.com/texane/stlink/pull/549)) -* Add support for Semihosting `SYS_READC` ([#546](https://github.com/texane/stlink/pull/546)) +* Added preliminary support for STM32L011 to see it after probe (chipid `0x457`) (@xor-gate) +* Stripped full paths to source files in log (commit [#2c0ab7f](https://github.com/texane/stlink/commit/2c0ab7f0eb6cfda5cfbdc08bb9f6760d27c2b667)) +* Added support for STM32F413 target ([#549](https://github.com/texane/stlink/pull/549)) +* Added support for Semihosting `SYS_READC` ([#546](https://github.com/texane/stlink/pull/546)) Updates and fixes: -* Update documentation markdown files +* Updated documentation markdown files * Compilation fixes ([#552](https://github.com/texane/stlink/pull/552)) -* Fix compilation when path includes spaces ([#561](https://github.com/texane/stlink/pull/561)) +* Fixed compilation when path includes spaces ([#561](https://github.com/texane/stlink/pull/561)) v1.3.0 ====== @@ -90,31 +90,31 @@ Major changes and added features: * Deprecation of autotools (autoconf, automake) (@xor-gate) * Removal of undocumented `st-term` utility, which is now replaced by `st-util` ARM semihosting feature ([#3fd0f09](https://github.com/texane/stlink/commit/3fd0f099782506532198473b24f643a3f68d5ff9)) -* Add support for native debian packaging ([#444](https://github.com/texane/stlink/pull/444), [#485](https://github.com/texane/stlink/pull/485)) -* Add intel hex file reading for `st-flash` ([#459](https://github.com/texane/stlink/pull/541)) -* Add `--reset` command to `st-flash` ([#505](https://github.com/texane/stlink/pull/505)) +* Added support for native debian packaging ([#444](https://github.com/texane/stlink/pull/444), [#485](https://github.com/texane/stlink/pull/485)) +* Added intel hex file reading for `st-flash` ([#459](https://github.com/texane/stlink/pull/541)) +* Added `--reset` command to `st-flash` ([#505](https://github.com/texane/stlink/pull/505)) * Support serial numbers argument for `st-util` and `st-flash` for multi-programmer setups ([#541](https://github.com/texane/stlink/pull/541)) -* Add kill ('k') command to gdb-server for `st-util` ([#9804416](https://github.com/texane/stlink/commit/98044163ab34bf5159f121d1c49ffb3550321ca0)) -* Add manpages (generated with pandoc from Markdown) ([#464](https://github.com/texane/stlink/pull/464)) -* Rewrite commandline parsing for `st-flash` ([#459](https://github.com/texane/stlink/pull/459)) -* Add support for ARM semihosting to `st-util` ([#454](https://github.com/texane/stlink/pull/454), [#455](https://github.com/texane/stlink/pull/455)) +* Added kill ('k') command to gdb-server for `st-util` ([#9804416](https://github.com/texane/stlink/commit/98044163ab34bf5159f121d1c49ffb3550321ca0)) +* Added manpages (generated with pandoc from Markdown) ([#464](https://github.com/texane/stlink/pull/464)) +* Rewritten commandline parsing for `st-flash` ([#459](https://github.com/texane/stlink/pull/459)) +* Added support for ARM semihosting to `st-util` ([#454](https://github.com/texane/stlink/pull/454), [#455](https://github.com/texane/stlink/pull/455)) Chip support added for: * STM32L432 ([#501](https://github.com/texane/stlink/pull/501)) * STM32F412 ([#538](https://github.com/texane/stlink/pull/538)) * STM32F410 ([#9c635e4](https://github.com/texane/stlink/commit/9c635e419deca697ff823000aad2e39d47ec8d6c)) -* Add memory map for STM32F401XE ([#460](https://github.com/texane/stlink/pull/460)) +* Added memory map for STM32F401XE ([#460](https://github.com/texane/stlink/pull/460)) * L0x Category 5 devices ([#406](https://github.com/texane/stlink/pull/406)) -* Add L0 Category 2 device (chip id: 0x425) ([#72b8e5e](https://github.com/texane/stlink/commit/72b8e5ec87e4fa386a8e94fe68df29467d4354ce)) +* Added L0 Category 2 device (chip id: 0x425) ([#72b8e5e](https://github.com/texane/stlink/commit/72b8e5ec87e4fa386a8e94fe68df29467d4354ce)) Updates and fixes: * Fixed STM32F030 erase error ([#442](https://github.com/texane/stlink/pull/442)) * Fixed Cygwin build ([#68b0f3b](https://github.com/texane/stlink/commit/68b0f3bddc3c4aaffe34caa6a3201029edd8ad56)) * Reset flash mass erase (MER) bit after mass erase for safety ([#489](https://github.com/texane/stlink/pull/489)) -* Fix memory map for STM32F4 (@zulusw) -* Fix STM32L-problem with flash loader (issue #390) (Tom de Boer) +* Fixed memory map for STM32F4 (@zulusw) +* Fixed STM32L-problem with flash loader (issue #390) (Tom de Boer) * `st-util` don't read target voltage on startup as it crashes STM32F100 (probably stlink/v1) (Greg Alexander) * Do a JTAG reset prior to reading CPU information when processor is in deep sleep (@andyg24) * Redesign of `st-flash` commandline options parsing (pull-request #459) (@dev26th) @@ -122,12 +122,12 @@ Updates and fixes: v1.2.0 ====== -Release date: 16 may 2016 +Release date: 2016-05-16 Features added: -* Add multiple stlink probing (`st-info --probe`, `st-info --hla-serial`) with printing serial in hex and OpenOCD `hla_serial` format (Jerry Jacobs) -* Add stlink usb probe API functions (Jerry Jacobs) +* 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) Changes: @@ -136,7 +136,7 @@ Changes: Updates and fixes: -* Synchronize cache for stm32f7 (Tristan Gingold) +* 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) @@ -148,7 +148,7 @@ Updates and fixes: * 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) -* Fix F2 memory map (Nicolas Schodet) +* Fixed F2 memory map (Nicolas Schodet) * Memory map for stm32f42xxx and stm32f43xxx devices (Craig Lilley) * Stm32l0x flash loader (Robin Kreis) @@ -156,7 +156,7 @@ Chip support added for: * STM32L053R8 (Jean-Luc Béchennec) * STM32F7 Support (mlundinse) -* Add STM32L4 to CHIPID #defines and devices[], flash driver and loaded (Dave Vandervies) +* Added STM32L4 to CHIPID #defines and devices[], flash driver and loader (Dave Vandervies) * Basic support for F446 (Pavel Kirienko) * STM32F303 High Density * STM32L1xx Cat.2 devices (Nicolas Schodet) diff --git a/README.md b/README.md index c57bdee..7574128 100644 --- a/README.md +++ b/README.md @@ -3,26 +3,29 @@ Open source version of the STMicroelectronics Stlink Tools [![GitHub release](https://img.shields.io/github/release/texane/stlink.svg)](https://github.com/texane/stlink/releases/latest) [![BSD licensed](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/hyperium/hyper/master/LICENSE) -[![GitHub commits](https://img.shields.io/github/commits-since/texane/stlink/1.5.1.svg)](https://github.com/texane/stlink/compare/1.5.1...master) +[![GitHub commits](https://img.shields.io/github/commits-since/texane/stlink/v1.5.1.svg)](https://github.com/texane/stlink/releases/master) [![Downloads](https://img.shields.io/github/downloads/texane/stlink/total.svg)](https://github.com/texane/stlink/releases) -[![Linux Status](https://img.shields.io/travis/texane/stlink/master.svg?label=linux)](https://travis-ci.org/texane/stlink) -[![Build Status](https://jenkins.ncrmnt.org/buildStatus/icon?job=GithubCI/stlink)](https://jenkins.ncrmnt.org/job/GithubCI/job/stlink/) -**NOTICE: The project has currently not an active maintainer. Feel free to contribute and discus in issue [#826](https://github.com/texane/stlink/issues/826)** +[![Linux Status](https://img.shields.io/travis/texane/stlink/master.svg?label=linux)](https://travis-ci.org/texane/stlink) +[![macOS Status](https://img.shields.io/travis/texane/stlink/master.svg?label=osx)](https://travis-ci.org/texane/stlink) + ## HOWTO -First, you have to know there are several boards supported by the software. -Those boards use a chip to translate from USB to JTAG commands. The chip is -called stlink and there are two versions: +This StLink toolset supports several so called stlink programmer boards (and clones thereof) which use a microcontroller chip to translate commands from USB to JTAG. These programmer boards are available in four versions: -* STLINKv1, present on STM32VL discovery kits, -* STLINKv2, present on STM32L discovery and later kits. +* **STLINKv1:** + - transport layer: SCSI passthru commands over USB + - present on STM32VL discovery kits +* **STLINKv2:** + * transport layer: raw USB commands + * present on STM32L discovery and nucleo and later kits +* **STLINKv2-1:** + * transport layer: raw USB commands + * present on some STM32 nucleo boards +* **STLINKv3:** + * _currently not supported by this toolset_ -Two different transport layers are used: - -* STLINKv1 uses SCSI passthru commands over USB -* STLINKv2 and STLINKv2-1 (seen on nucleo boards) uses raw USB commands. ## Installation @@ -48,11 +51,11 @@ FreeBSD users can install from [freshports](https://www.freshports.org/devel/stl OpenBSD users need to install [from source](doc/compiling.md). + ## Installation from source (advanced users) -When there is no executable available for your platform or you need the latest - (possible unstable) version you need to compile yourself. This is explained in - the [compiling manual](doc/compiling.md). +When there is no executable available for your platform or you need the latest (possible unstable) version you need to compile yourself. This is explained in the [compiling manual](doc/compiling.md). + ## Using the gdb server @@ -101,6 +104,7 @@ Transfer rate: 1 KB/sec, 560 bytes/write. (gdb) continue ``` + ## Resetting the chip from GDB You may reset the chip using GDB if you want. You'll need to use `target @@ -138,6 +142,7 @@ it at 0x20000000 and do It will be loaded, and pc will be adjusted to point to start of the code, if it is linked correctly (i.e. ELF has correct entry point). + ## Writing to flash The GDB stub ships with a correct memory map, including the flash area. @@ -149,6 +154,7 @@ If you would link your executable to `0x08000000` and then do then it would be written to the memory. + ## Writing Option Bytes Example to read and write option bytes (currently writing only supported for STM32G0 and STM32L0) @@ -157,36 +163,34 @@ Example to read and write option bytes (currently writing only supported for STM ./st-flash --debug --reset --format binary --flash=128k write option_bytes_dump.bin 0x1FFF7800 ``` + ## FAQ Q: My breakpoints do not work at all or only work once. -A: Optimizations can cause severe instruction reordering. For example, -if you are doing something like `REG = 0x100;' in a loop, the code may -be split into two parts: loading 0x100 into some intermediate register -and moving that value to REG. When you set up a breakpoint, GDB will -hook to the first instruction, which may be called only once if there are -enough unused registers. In my experience, -O3 causes that frequently. +A: Optimizations can cause severe instruction reordering. For example, if you are doing something like `REG = 0x100;' in a loop, the code may be split into two parts: loading 0x100 into some intermediate register and moving that value to REG. When you set up a breakpoint, GDB will hook to the first instruction, which may be called only once if there are enough unused registers. In my experience, -O3 causes that frequently. Q: At some point I use GDB command `next', and it hangs. -A: Sometimes when you will try to use GDB `next` command to skip a loop, -it will use a rather inefficient single-stepping way of doing that. -Set up a breakpoint manually in that case and do `continue`. +A: Sometimes when you will try to use GDB `next` command to skip a loop, it will use a rather inefficient single-stepping way of doing that. Set up a breakpoint manually in that case and do `continue`. Q: Load command does not work in GDB. -A: Some people report XML/EXPAT is not enabled by default when compiling -GDB. Memory map parsing thus fail. Use --enable-expat. +A: Some people report XML/EXPAT is not enabled by default when compiling GDB. Memory map parsing thus fail. Use --enable-expat. + ## Currently known working combinations of programmer and target See [doc/tested-boards.md](doc/tested-boards.md) +## Changelog + +The [Changelog](CHANGELOG) for the StLink Tools. + + ## Known missing features -Some features are missing from the `texane/stlink` project and we would like you to - help us out if you want to get involved: +Some features are missing from the `texane/stlink` project and we would like you to help us out if you want to get involved: * Control programming speed (See [#462](https://github.com/texane/stlink/issues/462)) * OTP area programming (See [#202](https://github.com/texane/stlink/issues/202)) @@ -197,12 +201,11 @@ Some features are missing from the `texane/stlink` project and we would like you * Instrumentation Trace Macro (ITM) Cell (See [#136](https://github.com/texane/stlink/issues/136)) * Writing external memory connected to an STM32 controller (e.g Quad SPI NOR flash) (See [#412](https://github.com/texane/stlink/issues/412)) -## Known bugs +## Known bugs ### Sometimes flashing only works after a mass erase -There is seen a problem sometimes where a flash loader run error occurs and is resolved after mass-erase -of the flash: +There is seen a problem sometimes where a flash loader run error occurs and is resolved after mass-erase of the flash: ``` 2015-12-09T22:01:57 INFO src/stlink-common.c: Successfully loaded flash loader in sram @@ -212,6 +215,7 @@ of the flash: Issue related to this bug: [#356](https://github.com/texane/stlink/issues/356) + ### Flash size is detected as zero bytes size It is possible that the STM32 flash is write protected, the st-flash tool will show something like this: @@ -243,6 +247,7 @@ Try to remove the write protection (probably only possible with ST Link Utility Issue related to this bug: [#545](https://github.com/texane/stlink/issues/545) + ## Contributing and versioning * The semantic versioning scheme is used. Read more at [semver.org](http://semver.org) @@ -251,4 +256,5 @@ Issue related to this bug: [#545](https://github.com/texane/stlink/issues/545) ## License The stlink library and tools are licensed under the [BSD license](LICENSE). -The flashloaders/stm32l0x.s and flashloaders/stm32lx.s source files are licensed under the GPL-2+. + +The flashloaders/stm32l0x.s and flashloaders/stm32lx.s source files are licensed under the GPLv2+.