github blackmagic-debug/blackmagic v1.6
Stable Release V1.6

latest releases: v1.9.3, v1.10.2, v1.10.1...
7 years ago

We are happy to announce the release of V1.6 Black Magic Probe firmware.

In the past we were considering releases that were shipping on Black Magic Probe hardware as stable releases without official release notes. This is an attempt to put together most important changes that were happening between the different tagged revisions of the repository.

Black Magic V1.6

This version shipps on V2.1 Black Magic Probe hardware.

This version has been tested using the new bmp-test suite. The results of the tests can be found in the V1.6 release GitHub Issue.

Change Log

  • kinetis: Check and fix the flash config bytes after completing flash write to prevent the user from bricking the target device.
  • Keep TMS high during reset to prevent K22F from going into the EzPort mode and makes the flash unusable and disables the rest of the microcontroller.

Known Bugs

  • In some cases the NRF52 target can not be flashed. (seems to depend on the board used, @gsmcmullin Sparkfun NRF52 breakout board flashes reliably wheras @esden Sparkfun NRF52 breakout can not be flashed)

Black Magic V1.6-rc1

An intermediate RC1 version shipped on Black Magic Probe V2.0. The final RC1 never shipped on any official hardware.

New Platforms

Platforms are devices that the Black Magic Probe firmware can be compiled for and run on.

  • Black Magic Probe V2.0
  • Black Magic Probe V2.1
  • HydraBus
  • Digilent JTAG-HS3 FDTI cable
  • New versions of ST Discovery boards.

New Targets

Targets are processors/architectures that the Black Magic Probe can be connected to.

  • SAM3U
  • STM32L0 (additional device IDs)
  • STM32L4
  • STM32F2
  • STM32F302C8
  • STM32F303
  • STM32F446x
  • STM32F7
  • EFM32/EZR32
    • Including EZR32LG & EZR32WG
  • NRF52
  • KL03
  • KL27
  • LPC82x
  • LPC15xx
  • EFM32HP
  • SAM4L
  • Experimental Cortex-A support
    • Xilinx Zynq
    • RaspberryPi V2 32bit

Change Log

  • Most flash stubs rewritten in C and generated for better maintainability.
  • Added exception handling mechanism inside the probe firmware. Replacing variaty of platform specific error handling mechanisms.
  • Removed unfinished ARM7TDMI driver. If someone is interested in taking over that project contact us in the gitter channel.
  • Removed old STM32L1 driver in favor of the more generic STM32L0/STM32L1 driver.
  • Reworked flash memory driver interface.
  • Fixed VBUS handling on STM32F4 platform, preventing excessive current draw.
  • Fixed F0 flash block size.
  • Fixed stm32f1 probe returning always true.
  • Fixes allowing building of the libftdi target for Windows.
  • SRST handling cleanup.
  • Fixed platform_delay returning before the timout has expired.
  • Fixed BMPM TPWR control. (Needed to be open drain drive)
  • Added ENABLE_DEBUG build option, adding the debug enable monitor command. Prints debug messages to the UART CDCACM USB interface or if an SWD debugger is detected the messages are printed using semihosting through the "inception" debugger.
  • Added nested timeout timer support.
  • Refactor of the target specific code to be independent of the GDB code using a dedicated API.
  • Catch UART errors.
  • STM32L4: Use buffered flash model.
  • Added Travis CI builds.
  • libftdi: Disable Nagle algorithm and buffer sends.
  • Kinetis: Added special handling of the flash config bits as they sit in the middle of the flash and can be easily set to blick the device.
  • Increased STLink flash allowance to 128kb as we can not fit the firmware in it any more. (all known STLinks come with larger than advertised flash)
  • Inhibit SRST on Tiva targets, because Tiva seems to be resetting the debug interface together with the system.
  • STM32F4 target now translates ITCM addresses to AXIM addresses on flash write.
  • Add GDB packet length checking. (it is possible to create misreported length packets using the GDB scripting API)

Black Magic V1.6-rc0

This version shipped on Black Magic Probe V2.0 hardware.

New Platforms

Platforms are devices that the Black Magic Probe firmware can be compiled for and run on.

  • Added STLink V1 & V2
  • Added libftdi
  • Added STM32F4-Discovery
  • Added F401Discovery
  • Added swlink
  • Added USPS_F407 and removed again
  • Removed stm32_can

New Targets

Targets are processors/architectures that the Black Magic Probe can be connected to.

  • SAM3X
  • SAM3N
  • SAMD20
  • SAM3S
  • SAM4S
  • STM32F3
  • STM32F0
    • STM32F03x
    • STM32F05x
    • STM32F07x
  • STM32L0
  • STM32L1
  • LPC812
  • LPC1114
  • LPC43xx dual core
  • LPC4337 (flash support)
  • NRF51
  • TM4C
  • KL25

Change Log

  • Use the same LED for run/idle. Reserve spare LED for UART activity.
  • Added mass_erase command for the STM32F1 target.
  • Fixed crash on monitor commands with no attached target.
  • Added option byte programming for STM32F1 target.
  • Added support for user specified JTAG IR lengths.
  • Moved all static data to the heap.
  • Added timeout to target attach.
  • Fixed corrupting un-aligned memory reads from target.
  • Added UART support for stlink platform.
  • Added DFU bootloader for the stlink platform.
  • Added STM32F0/3 option byte programming support.
  • Added waking up a target by using SRST on connect.
  • Added semihosting support.
  • Improved USBUART reliability.
  • LPC43xx improvements.
  • Added dfu_upgrade tool.
  • Added hardfault unwinding.
  • Added TPWR monitor function.
  • Fixed USB-UART parity support.
  • Satisfy hosts that require 0 filled packets to accept a complete CDCACM packet transfer.

Black Magic production_01

Second official release, shipped on hardware ???.

TODO: Changes

Black Magic production_00

Initial release, shipped on hardware ???.

Don't miss a new blackmagic release

NewReleases is sending notifications on new releases.