Skip to content

Comments

Feature: BMPv3 support#2197

Open
dragonmux wants to merge 61 commits intomainfrom
feature/bmpv3-support
Open

Feature: BMPv3 support#2197
dragonmux wants to merge 61 commits intomainfrom
feature/bmpv3-support

Conversation

@dragonmux
Copy link
Member

Detailed description

In this PR we implement provisional support for the upcoming BMPv3 platform. There will need to be more refinement done, however this gets all the core stuff up and running - from the clocking system and bitbanging with the GPIO controller, and thus core debug, to the UARTs, ADCs, SPI controller, and other parts to make all major parts of the firmware work.

This includes support for both SWO modes, the target UART system including provisional support for switchable TX/RX and other hardware improvements found in the v3 platform, support for using the debug connector to access SPI Flash devices with bmpflash, and a heap of other goodie bits.

We know not all targets are yet working as there are some comms issues on the debug interface, however nothing completely show-stopping. DFU works well and has slightly more Flash reserved than the previous hardware platform, allowing more space for fixes and bootloader features in time. This platform however requires the absolute latest bmputil to program and work with because of some assumptions the older versions of the tool made get broken with this.

This PR must be sequenced after libopencm3/libopencm3#1625.

Your checklist for this pull request

Closing issues

…p USB, timing, and setting up the correct vector table address
…adability in the USB configuration setup code
…per use of atomics, resulting in smaller and more correct code
…roper use of atomics, resulting in smaller and more correct code
…change notifications so it's a little more responsive without being overwhelming for traffic
…correctly and the pins are driven suitably hard
…ng the dual target serial interfaces up to the second host serial interface
…n steering macros weren't available when they should be
… the UART needs to be switched by toggling the direction signal on the level translation once every 10ms
@dragonmux dragonmux added this to the v2.1 release milestone Feb 22, 2026
@dragonmux dragonmux requested a review from esden February 22, 2026 11:55
@dragonmux dragonmux added New Host Board New hardware to run Black Magic firmware on NativeHardware Official Black Magic Debug Hardware labels Feb 22, 2026
@dragonmux dragonmux force-pushed the feature/bmpv3-support branch from 6047250 to de99e5d Compare February 23, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NativeHardware Official Black Magic Debug Hardware New Host Board New hardware to run Black Magic firmware on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant